Filter interviews by
Be the first one to contribute and help others!
I applied via LinkedIn and was interviewed in Aug 2023. There were 3 interview rounds.
posted on 12 May 2024
posted on 4 Jul 2024
Technical
posted on 18 Jun 2024
I appeared for an interview in Jan 2025.
I applied via Naukri.com and was interviewed in Nov 2022. There was 1 interview round.
I appeared for an interview in Feb 2025, where I was asked the following questions.
ArrayList uses dynamic arrays, while LinkedList uses doubly linked nodes for storage, affecting performance and memory usage.
ArrayList is backed by a dynamic array, allowing fast random access (O(1)). Example: ArrayList<String> list = new ArrayList<>();
LinkedList is backed by a doubly linked list, allowing efficient insertions and deletions (O(1) at both ends). Example: LinkedList<String> list = new L...
Java's synchronized keyword provides thread safety but has limitations compared to ReentrantLock.
Advantages of synchronized: Simple to use and understand.
Disadvantages of synchronized: Can lead to thread contention and performance issues.
ReentrantLock allows more flexibility, such as tryLock() and timed lock attempts.
ReentrantLock can be used for fair locking, preventing thread starvation.
Synchronized blocks are tied t...
In Java, '==' checks reference equality, while '.equals()' checks value equality. Use them appropriately to avoid bugs.
== compares object references, checking if both refer to the same memory location.
Example: String a = new String('test'); String b = new String('test'); a == b returns false.
.equals() compares the actual content of the objects.
Example: a.equals(b) returns true in the above case.
Use '==' for primitive t...
Java's garbage collector automatically manages memory by reclaiming unused objects, enhancing performance and preventing memory leaks.
Java uses automatic garbage collection to manage memory, freeing developers from manual memory management.
The main garbage collection algorithms in Java include: Serial GC, Parallel GC, Concurrent Mark-Sweep (CMS), and G1 GC.
Serial GC is a simple, single-threaded collector suitable for s...
Java 8 introduced lambdas, Stream API, and other features that enhance functional programming and simplify code.
Lambdas: Enable concise representation of functional interfaces. Example: (x, y) -> x + y.
Stream API: Allows processing sequences of elements (collections) in a functional style. Example: list.stream().filter(x -> x > 10).collect(Collectors.toList()).
Default Methods: Interfaces can have methods with ...
Checked exceptions must be declared or handled, while unchecked exceptions do not require explicit handling.
Checked exceptions are subclasses of Exception (excluding RuntimeException). Example: IOException.
Unchecked exceptions are subclasses of RuntimeException. Example: NullPointerException.
Checked exceptions must be caught or declared in the method signature using 'throws'.
Unchecked exceptions can be caught but are n...
The Java Memory Model defines how threads interact through memory, ensuring visibility and ordering of shared variables.
The Java Memory Model (JMM) specifies how threads interact with memory, ensuring consistency and visibility of shared variables.
It defines rules for visibility, atomicity, and ordering of operations, crucial for multithreading.
Without proper synchronization, threads may see stale data due to caching o...
Method overloading allows multiple methods with the same name but different parameters; overriding redefines a method in a subclass.
Method Overloading: Same method name, different parameter types or counts.
Example of Overloading: 'int add(int a, int b)' and 'double add(double a, double b)'.
Use Overloading for convenience and readability when performing similar operations.
Method Overriding: Redefining a method in a subc...
I appeared for an interview in Feb 2025, where I was asked the following questions.
ArrayList is dynamic and index-based, while LinkedList is node-based and allows for efficient insertions and deletions.
ArrayList uses a dynamic array to store elements, allowing for fast random access. Example: ArrayList<String> arrayList = new ArrayList<>();
LinkedList uses a doubly linked list structure, making it efficient for insertions and deletions. Example: LinkedList<String> linkedList = new Li...
Java's synchronized keyword offers thread safety but has limitations compared to ReentrantLock.
Advantages of synchronized: Simple to use, built-in language feature.
Disadvantages of synchronized: Can lead to thread contention and deadlocks.
ReentrantLock allows more flexibility, such as tryLock() for non-blocking attempts.
ReentrantLock supports fairness policies, which can prevent thread starvation.
Synchronized blocks ar...
== checks reference equality, while .equals() checks value equality in Java objects.
== compares memory addresses (references) of objects.
Example: String a = new String("test"); String b = new String("test"); a == b returns false.
.equals() compares the actual content of objects.
Example: a.equals(b) returns true for the same content.
Use == for primitive types (int, char, etc.) and .equals() for object comparisons.
Imprope...
Java's garbage collector automatically manages memory by reclaiming unused objects, improving performance and preventing memory leaks.
Java uses automatic memory management to free up memory occupied by objects that are no longer in use.
The main types of garbage collection algorithms in Java include: Serial, Parallel, Concurrent Mark-Sweep (CMS), and G1 (Garbage-First).
The Serial Garbage Collector is simple and suitable...
Java 8 introduced lambdas, Stream API, and other features that enhance functional programming and improve code readability.
Lambda Expressions: Allow for concise representation of functional interfaces. Example: (a, b) -> a + b.
Stream API: Enables functional-style operations on collections. Example: list.stream().filter(x -> x > 10).collect(Collectors.toList()).
Default Methods: Interfaces can have methods with ...
Checked exceptions must be declared or handled, while unchecked exceptions do not require explicit handling.
Checked exceptions are subclasses of Exception but not of RuntimeException.
Example of checked exception: IOException, which must be handled or declared.
Unchecked exceptions are subclasses of RuntimeException.
Example of unchecked exception: NullPointerException, which does not need to be declared.
Checked exception...
The Java Memory Model defines how threads interact through memory, ensuring visibility and ordering of shared variables.
The Java Memory Model (JMM) specifies how threads read and write shared variables.
It ensures visibility of changes made by one thread to others, preventing stale data.
Synchronization mechanisms (like synchronized blocks) enforce mutual exclusion and visibility.
The 'volatile' keyword ensures that a var...
Method overloading allows multiple methods with the same name but different parameters, while overriding replaces a superclass method in a subclass.
Method Overloading: Same method name, different parameter types or counts.
Example of Overloading: 'int add(int a, int b)' and 'double add(double a, double b)'.
Use Overloading for convenience and readability when methods perform similar functions.
Method Overriding: Same meth...
I appeared for an interview in Mar 2025, where I was asked the following questions.
ArrayList uses dynamic arrays, while LinkedList uses doubly linked nodes for storage, affecting performance and use cases.
ArrayList is backed by a dynamic array, allowing fast random access (O(1)). Example: accessing element at index 5 is quick.
LinkedList consists of nodes that hold data and references to the next and previous nodes, making insertions/removals faster (O(1)).
ArrayList has a fixed size; resizing involves...
Java's synchronized keyword offers thread safety but has limitations compared to ReentrantLock.
Advantages of synchronized: Simple to use and understand.
Disadvantages of synchronized: Can lead to thread contention and deadlocks.
ReentrantLock allows more flexibility, such as tryLock() and timed lock attempts.
ReentrantLock can be used for fair locking, preventing thread starvation.
Synchronized blocks are tied to the objec...
In Java, '==' checks reference equality, while '.equals()' checks value equality. Use them appropriately to avoid bugs.
== compares object references, checking if both refer to the same memory location.
Example: String a = new String('test'); String b = new String('test'); a == b returns false.
.equals() compares the actual content of the objects.
Example: a.equals(b) returns true since both strings have the same value.
Use...
Java 8 introduced lambdas, Stream API, and other features that enhance functional programming and simplify code.
Lambdas: Enable concise representation of functional interfaces. Example: (x, y) -> x + y.
Stream API: Facilitates functional-style operations on collections. Example: list.stream().filter(x -> x > 10).collect(Collectors.toList()).
Default Methods: Allow adding new methods to interfaces without breakin...
Checked exceptions must be declared or handled, while unchecked exceptions do not require explicit handling in Java.
Checked exceptions are subclasses of Exception (excluding RuntimeException). Example: IOException.
Unchecked exceptions are subclasses of RuntimeException. Example: NullPointerException.
Checked exceptions must be either caught using try-catch or declared in the method signature with 'throws'.
Unchecked exce...
The Java Memory Model defines how threads interact through memory, ensuring visibility and ordering of shared variables.
The Java Memory Model (JMM) specifies how threads read and write shared variables.
It ensures visibility of changes made by one thread to others, preventing stale data.
Synchronization mechanisms (like synchronized blocks) enforce mutual exclusion and visibility.
The 'volatile' keyword ensures that a var...
Method overloading allows multiple methods with the same name but different parameters; overriding replaces a superclass method in a subclass.
Method Overloading: Same method name, different parameter lists (type, number, or both).
Example of Overloading: 'int add(int a, int b)' and 'double add(double a, double b)'.
Method Overriding: Redefining a method in a subclass that already exists in the superclass.
Example of Overr...
based on 1 review
Rating in categories
Account Assistant
4
salaries
| ₹1.8 L/yr - ₹3 L/yr |
Kiswok Industries
Elentec Power India (EPI) Pvt. Ltd.
Sata Vikas India
ProConnect Integrated Logistics