Filter interviews by
Be the first one to contribute and help others!
I applied via Company Website and was interviewed in Sep 2022. There were 2 interview rounds.
The strength of mechanical equipment is determined by its ability to withstand stress and strain without failure.
Strength can be measured through various tests such as tensile, compression, and fatigue testing.
Factors such as material properties, design, and manufacturing processes can affect the strength of equipment.
Regular maintenance and inspections can help identify potential weaknesses and prevent equipment failu...
I applied via Job Portal
First round was based on logical questions and was taken on hacker earth
I appeared for an interview in Feb 2025, where I was asked the following questions.
ArrayList uses a dynamic array for storage, while LinkedList uses a doubly linked list structure.
ArrayList provides fast random access (O(1)) but slow insertions/deletions (O(n)). Example: accessing elements by index.
LinkedList allows fast insertions/deletions (O(1)) but slower random access (O(n)). Example: adding/removing elements at the beginning.
ArrayList is preferred when you need frequent access to elements and f...
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 performance issues.
ReentrantLock allows more flexibility, such as tryLock() and timed lock attempts.
ReentrantLock supports fairness policies, which can help avoid starvation.
Synchronized blocks are tied to...
In Java, '==' checks reference equality, while '.equals()' checks value equality. Use them appropriately to avoid bugs.
== compares object references, checking if two references point to the same object in memory.
Example: String a = new String('test'); String b = new String('test'); a == b returns false.
.equals() compares the actual content of the objects, checking if they are logically equivalent.
Example: a.equals(b) r...
Java's garbage collector automatically manages memory by reclaiming unused objects, improving 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: 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 handled or declared, 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 either caught using try-catch or declared in the method signature with throws.
Unchecked exceptions can...
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 through memory and what behaviors are allowed.
It defines rules for visibility, atomicity, and ordering of operations in a multithreaded environment.
Without proper synchronization, threads may see stale data due to caching or compiler optimizat...
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 parameters (type, number, or both).
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: Redefi...
I appeared for an interview in Aug 2024.
A transaction in DBMS is a unit of work that must be executed as a whole. ACID properties ensure data integrity. SQL is relational, NoSQL is non-relational.
A transaction in DBMS is a set of operations that must be executed as a single unit.
ACID properties (Atomicity, Consistency, Isolation, Durability) ensure data integrity in transactions.
SQL databases are relational and use structured query language, while NoSQL data...
Encapsulation is the concept of bundling data and methods that operate on the data into a single unit. Inheritance allows a class to inherit attributes and methods from another class. Polymorphism allows objects of different classes to be treated as objects of a common superclass.
Encapsulation helps in data hiding and abstraction
Example: A class 'Car' encapsulates data like make, model, and methods like start(), stop()
...
Use Floyd's Tortoise and Hare algorithm to detect a cycle in a linked list.
Start with two pointers, slow and fast, moving at different speeds.
If there is a cycle, the two pointers will eventually meet at some point.
If there is no cycle, the fast pointer will reach the end of the list.
Example: 1->2->3->4->5->2 (cycle at node 2), slow and fast pointers will meet at node 2.
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 and access.
ArrayList provides fast random access (O(1)) due to its underlying array structure.
LinkedList allows for efficient insertions and deletions (O(1)) at both ends, as it only requires pointer updates.
ArrayList has a fixed size, which can lead to resizing overhead when capacity is exceeded.
LinkedList consumes more memory due to ...
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 performance issues.
ReentrantLock allows more flexibility, such as tryLock() and timed lock attempts.
ReentrantLock supports fairness policies, which can prevent thread starvation.
Synchronized blocks are tie...
== 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 because the content is the same.
Use == for primitive types (int, char, etc.) and .equals() for object comparis...
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 handled or declared, 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 either caught using try-catch or declared in the method signature with throws.
Unchecked exceptions can...
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 through memory, ensuring consistency and visibility.
It defines rules for visibility, atomicity, and ordering of operations in a multithreaded environment.
Synchronization mechanisms (like synchronized blocks) ensure that only one thread can acc...
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 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 Overriding: 'vo...
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...
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 and access.
ArrayList provides fast random access (O(1)) but slow insertions/deletions (O(n)). Example: accessing elements by index.
LinkedList allows fast insertions/deletions (O(1) at both ends) but slower random access (O(n)). Example: adding/removing elements from the front.
ArrayList is preferred when you need frequent access to elem...
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() and timed lock attempts.
ReentrantLock can be more efficient in high-contention scenarios.
Synchronized blocks are easier to rea
In Java, '==' checks reference equality, while '.equals()' checks value equality. Use 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 for equality.
Example: a.equals(b) returns true in the above case.
Use '==' for pri...
Java 8 introduced lambdas, Stream API, and other features that enhance functional programming and improve code readability.
Lambda Expressions: Enable concise representation of functional interfaces. Example: (a, b) -> a + b.
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 inte...
Checked exceptions must be handled or declared, 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 either caught using try-catch or declared in the method signature with 'throws'.
Unchecked exceptions c...
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.
Synchronization mechanisms (like synchronized blocks) help prevent data rac...
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 types or counts.
Example of Overloading: 'void add(int a, int b)' and 'void add(double a, double b)'.
Use Overloading for convenience and readability when methods perform similar functions.
Method Overriding: Redefining a met...
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 fast random access. Example: ArrayList<String> list = new ArrayList<>();
LinkedList uses a doubly linked list structure, making it efficient for insertions and deletions. Example: LinkedList<String> list = new LinkedList<>...
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 for equality.
Example: a.equals(b) returns true because the content is the sa...
Java 8 introduced lambdas and the Stream API, enhancing functional programming and data processing capabilities.
Lambdas: Enable concise representation of anonymous functions. 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 breaking ...
Checked exceptions must be declared or handled; 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 caught or declared.
Unchecked exceptions are subclasses of RuntimeException.
Example of unchecked exception: NullPointerException, which does not need to be declared.
Checked exceptions are t...
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, while 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 methods perform similar tasks.
Method Overriding: Redefining a method in ...
ACTE
Birla White
Zeetech Management And Marketing
Ricoh