Filter interviews by
Be the first one to contribute and help others!
I was interviewed in Jan 2025.
Numerical reasoning : Tests mathematical skills,such as number sequences,percentages,and ratios.
Gd Topics:
1.Current affairs
2.Business and Economy
3.Social and Cultural
I applied via Approached by Company and was interviewed in Nov 2024. There were 8 interview rounds.
A group discussion (GD) is a structured conversation where a group of people discuss a topic and are observed by a panel of judges or interviewers
Coding tests for interviews are designed to evaluate a candidate's ability to think creatively and adapt their solutions to changing scenarios.
A case study interview is a job interview where a candidate is presented with a business scenario and asked to analyze it and propose a solution.
Interview assessment tests can include aptitude tests, personality tests, cognitive ability tests, presentations, and writing tasks:
An aptitude test is quite vital for placements as it helps in enhancing the logical skills of the person and if someone is preparing for interviews then aptitude preparation is very much required.
ArrayList and LinkedList are both classes in Java that implement the List interface, but they have different underlying data structures.
ArrayList uses a dynamic array to store elements, providing fast random access but slower insertion and deletion.
LinkedList uses a doubly linked list to store elements, providing fast insertion and deletion but slower random access.
Choose ArrayList when you need fast random access and ...
Using synchronized keyword for thread synchronization in Java has advantages like simplicity and disadvantages like potential for deadlock. ReentrantLock offers more flexibility and control.
Advantages of synchronized keyword: simplicity, built-in support in Java
Disadvantages of synchronized keyword: potential for deadlock, lack of flexibility
ReentrantLock offers more control over locking, ability to try and lock with t...
In Java, == compares memory addresses while .equals() compares values of objects. Improper usage can lead to unexpected results.
Use == to compare primitive data types or check if two objects reference the same memory address.
Use .equals() to compare the values of objects, such as strings or custom classes.
Improper usage of == with objects can lead to unexpected results as it compares memory addresses, not values.
The Java garbage collector is responsible for automatically managing memory by reclaiming unused objects.
The garbage collector in Java runs in the background and automatically reclaims memory from objects that are no longer in use.
There are different types of garbage collection algorithms in Java, such as Serial, Parallel, CMS, G1, and ZGC.
Each garbage collection algorithm has its own characteristics and is suitable fo
Java 8 introduced features like lambdas and Stream API which have revolutionized the way Java applications are written.
Lambdas allow for more concise and readable code by enabling functional programming paradigms.
Stream API provides a way to process collections of objects in a functional style, making code more expressive and efficient.
Java 8 also introduced default methods in interfaces, allowing for backward compatib...
Checked exceptions are checked at compile time, while unchecked exceptions are not. Proper handling involves either catching or declaring the exception.
Checked exceptions must be either caught or declared in the method signature using the 'throws' keyword.
Unchecked exceptions do not need to be caught or declared, but can still be handled using try-catch blocks.
Examples of checked exceptions include IOException and Clas...
The Java Memory Model defines how threads interact through memory and how synchronization ensures data consistency.
Java Memory Model specifies how threads interact with memory, ensuring data consistency
It defines rules for reading and writing shared variables in a multithreaded environment
Synchronization mechanisms like synchronized blocks and locks ensure proper visibility and ordering of memory operations
The 'volatil...
Method overloading is when multiple methods have the same name but different parameters, while method overriding is when a subclass provides a specific implementation of a method in its superclass.
Method overloading is achieved within the same class by having multiple methods with the same name but different parameters.
Method overriding occurs in a subclass that provides a specific implementation of a method that is al...
Functional interfaces in Java are interfaces with a single abstract method. They can be used with lambda expressions for functional programming.
Functional interfaces have only one abstract method, but can have multiple default or static methods.
Lambda expressions can be used to implement the abstract method of a functional interface concisely.
An example of a custom functional interface is 'Calculator' with a single abs
Java Stream is a sequence of elements that supports functional-style operations. It differs from Iterator by allowing for more concise and declarative code.
Streams can process elements in a collection in a declarative way, allowing for functional-style operations like map, filter, and reduce.
Streams do not store elements, they operate on the source data structure (e.g., List) directly.
Iterators are used to iterate over...
Immutability in Java means objects cannot be modified after creation. String class achieves immutability by not allowing changes to its value.
Immutability means once an object is created, its state cannot be changed.
String class achieves immutability by making its value final and not providing any methods to modify it.
Advantages of immutable objects include thread safety, caching, and easier debugging.
Example: String s...
final, finally, and finalize have different meanings in Java.
final is a keyword used to declare constants, immutable variables, or prevent method overriding.
finally is a block used in exception handling to execute code after try-catch block.
finalize is a method used for cleanup operations before an object is garbage collected.
Singleton design pattern ensures a class has only one instance and provides a global point of access to it.
Create a private static instance of the class.
Provide a public static method to access the instance.
Use synchronized keyword or double-checked locking to ensure thread safety.
Java annotations are metadata that provide data about a program but do not affect the program itself. They are used in frameworks like Spring to configure and customize behavior.
Java annotations are used to provide metadata about a program, such as information about classes, methods, or fields.
In frameworks like Spring, annotations are used to configure various aspects of the application, such as defining beans, handli...
Java Streams handle parallel processing by splitting the data into multiple chunks and processing them concurrently.
Java Streams use the Fork/Join framework to split the data into chunks and process them in parallel.
Potential pitfalls include increased overhead due to thread management, potential race conditions, and decreased performance for small datasets.
Pitfalls can be mitigated by ensuring thread safety, avoiding ...
ArrayList is preferred for frequent retrieval operations, while LinkedList is suitable for frequent insertions/deletions.
Use ArrayList when you need fast random access and retrieval operations, such as searching for elements in a list.
Choose LinkedList when you need fast insertions/deletions, especially at the beginning or end of the list.
Consider memory overhead and performance trade-offs when deciding between ArrayLi...
ReentrantLock should be used instead of synchronized when more flexibility and control over locking mechanisms is needed.
Use ReentrantLock when you need to implement custom locking strategies or require advanced features like tryLock() and lockInterruptibly()
ReentrantLock supports fair locking mechanisms, ensuring that threads acquire the lock in the order they requested it
ReentrantLock allows for more fine-grained con...
In Java, == checks for reference equality while equals() checks for value equality. Misuse of == can lead to logical errors.
Override equals() when you want to compare the actual content of objects in user-defined classes.
Override hashCode() alongside equals() to ensure consistent behavior in hash-based collections.
Implement Comparable interface and override compareTo() for natural ordering of objects.
Garbage collection in Java automatically reclaims memory occupied by unused objects using different algorithms and memory regions.
Force garbage collection in Java using System.gc() or Runtime.getRuntime().gc()
Not recommended to force garbage collection as it can cause performance issues and disrupt the JVM's optimization
Example: System.gc();
Lambda expressions in Java 8 improve readability and maintainability by allowing concise and functional-style programming.
Lambda expressions reduce boilerplate code by providing a more compact syntax for implementing functional interfaces.
They make code more readable by focusing on the behavior being passed as an argument, rather than the mechanics of how it is implemented.
Lambda expressions enable developers to write ...
posted on 3 Dec 2024
2 medium leetcode questions were asked
posted on 28 Jan 2025
I was interviewed in Dec 2024.
I applied via LinkedIn and was interviewed in Nov 2024. There was 1 interview round.
Binary heap is used to implement a priority queue.
Binary heap is a complete binary tree where each node has a value greater than or equal to its children.
It can be implemented using arrays, where the parent of node at index i is at index (i-1)/2.
Insertion and deletion operations have time complexity of O(log n) in a binary heap.
A binary tree can have any number of nodes, but the maximum number of trees with n nodes is 2^n.
A binary tree can have 0 nodes, 1 node, 2 nodes, or any number of nodes.
The maximum number of binary trees with n nodes is 2^n.
For example, a binary tree with 3 nodes can have up to 8 different structures.
Use a SQL query to find the second highest marks in a student database.
Use the ORDER BY clause to sort the marks in descending order
Use the LIMIT clause to limit the result to the second row
Program to check if two strings are anagrams
Create a function that takes in two strings as input
Remove any spaces and convert both strings to lowercase for consistency
Sort the characters in both strings and compare if they are equal to determine if they are anagrams
Example: 'listen' and 'silent' are anagrams
posted on 4 Nov 2024
A link was provided for the 15-minute online aptitude test.
90 minutes coding round. There were three problems. One for JavaScript and two for ReactJS
I applied via LinkedIn and was interviewed in Nov 2024. There was 1 interview round.
I applied via Naukri.com and was interviewed in Sep 2024. There were 2 interview rounds.
Normal basic question train and few Logic
Continue is a keyword in programming that is used to skip the current iteration of a loop and continue with the next iteration.
Continue is used in loops like for, while, and do-while to skip the current iteration and move to the next one.
It is often used to skip certain elements in an array or to avoid executing specific code under certain conditions.
Example: for(int i=0; i<5; i++) { if(i==2) { continue; } System.out.p
based on 10 reviews
Rating in categories
Software Engineer
13
salaries
| ₹4.5 L/yr - ₹14 L/yr |
Parts Analyst
13
salaries
| ₹2.6 L/yr - ₹7.2 L/yr |
Senior Software Engineer
9
salaries
| ₹16 L/yr - ₹21 L/yr |
QA Automation Engineer
7
salaries
| ₹7.8 L/yr - ₹10 L/yr |
Data Analyst
6
salaries
| ₹3.3 L/yr - ₹6.2 L/yr |
TCS
Infosys
Wipro
HCLTech