Filter interviews by
First round is aptitude, it’s elimination round
Second round is group discussion
Top trending discussions
I was interviewed in Jan 2025.
ArrayList is preferred for frequent retrieval operations due to fast random access, while LinkedList is suitable for frequent insertions/deletions.
Use ArrayList when frequent retrieval operations are required, such as searching for elements in a large collection.
Choose LinkedList when frequent insertions/deletions are needed, like maintaining a queue or stack.
Consider memory overhead and performance trade-offs when dec...
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.
Explicit unlocking in ReentrantLock reduces ...
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 values of objects instead of their references
Override hashCode() alongside equals() to ensure proper functioning in collections like HashMap
Consider implementing Comparable interface for natural ordering in collections
Garbage collection in Java automatically reclaims memory occupied by unused objects using different algorithms and memory regions.
Java garbage collector automatically reclaims memory from unused objects
Different types of GC algorithms in JVM: Serial, Parallel, CMS, G1 GC
Objects managed in Young Generation, Old Generation, and PermGen/Metaspace
Minor GC cleans up short-lived objects in Young Generation
Major GC (Full GC) ...
Lambda expressions in Java 8 improve readability and maintainability by enabling concise and functional-style programming.
Lambda expressions allow writing more compact code by reducing boilerplate code.
They enable passing behavior as arguments to methods, making code more modular and flexible.
Example: (a, b) -> a + b is a lambda expression that adds two numbers.
Checked exceptions must be handled explicitly, while unchecked exceptions do not require explicit handling.
Use custom exceptions when you want to create your own exception types to handle specific scenarios.
Custom exceptions can be either checked or unchecked, depending on whether you want to enforce handling or not.
For example, a custom InvalidInputException could be a checked exception if you want to ensure it is cau...
The Java Memory Model defines how threads interact with shared memory, ensuring visibility and ordering of variable updates in a concurrent environment.
Volatile keyword ensures changes to a variable are always visible to all threads.
Synchronized keyword provides mutual exclusion and visibility guarantees.
Reordering optimizations by the compiler or CPU can lead to unexpected behavior.
Happens-before relationship determin...
Method overloading allows multiple methods with the same name but different parameters, while method overriding allows a subclass to provide a different implementation of a parent method.
Use method overloading when you want to provide multiple ways to call a method with different parameters.
Use method overriding when you want to provide a specific implementation of a method in a subclass.
Example of method overloading: ...
Functional interfaces in Java have exactly one abstract method and work with lambda expressions for concise implementation.
Functional interfaces have exactly one abstract method, such as Runnable, Callable, Predicate, and Function.
Lambda expressions provide a concise way to implement functional interfaces.
Default methods in interfaces help in evolving APIs without breaking backward compatibility.
Method references (::) ...
Java Streams enable functional-style operations on collections with lazy evaluation, unlike Iterators.
Parallel streams can improve performance by utilizing multiple threads, but may introduce overhead due to thread management.
Care must be taken to ensure thread safety when using parallel streams in a multi-threaded environment.
Parallel streams are suitable for operations that can be easily parallelized, such as map and...
Immutability in Java prevents objects from being changed after creation, promoting thread safety and preventing unintended side effects.
Immutable objects cannot be modified after creation, promoting thread safety
String class in Java is immutable, modifications create new objects
Use final fields and avoid setters to create immutable classes
Collections can be made immutable using Collections.unmodifiableList()
Immutabilit...
final, finally, and finalize have different meanings in Java. final is for constants, finally for cleanup, and finalize for garbage collection.
final is used for constants, preventing method overriding, and inheritance
finally is used for cleanup actions after a try-catch block
finalize() is called by the garbage collector before object deletion
Alternatives to finalize() for resource management include using try-with-reso...
Singleton design pattern ensures only one instance of a class exists in the JVM, useful for managing shared resources like database connections.
Avoid using Singleton when multiple instances of a class are required.
Avoid Singleton for classes that are not thread-safe.
Avoid Singleton for classes that need to be easily mockable for testing purposes.
Java annotations provide metadata to classes, methods, and fields, improving code readability and maintainability.
Annotations like @Component, @Service, and @Autowired in Spring help with dependency injection
Annotations reduce boilerplate code compared to XML configurations
Custom annotations can be created using @interface
Reflection APIs allow reading annotation metadata dynamically
Annotations like @Transactional simpl
Java Streams handle parallel processing by dividing data into multiple threads using the ForkJoin framework. Pitfalls include race conditions, performance issues with small datasets, and debugging challenges.
Parallel streams divide data into multiple threads for faster processing
ForkJoin framework handles parallel execution internally
Useful for CPU-intensive tasks but may not improve performance for small datasets
Share...
I was interviewed in Jan 2025.
I applied via Company Website and was interviewed in Nov 2024. There were 3 interview rounds.
Standard quantitative questions accompanied by logical reasoning and related topics.
OOP concepts include encapsulation, inheritance, polymorphism, and abstraction.
Encapsulation: Bundling data and methods that operate on the data into a single unit (class).
Inheritance: Allows a class to inherit properties and behavior from another class.
Polymorphism: Objects of different classes can be treated as objects of a common superclass.
Abstraction: Hides complex implementation details and only shows the necessa
React is a JavaScript library for building user interfaces.
React allows developers to create reusable UI components.
It uses a virtual DOM for efficient rendering.
React uses a declarative approach to define how the UI should look based on the application state.
It supports server-side rendering for improved performance.
React can be used with other libraries like Redux for state management.
I am a software engineer with a passion for coding and problem-solving. I come from a close-knit family with supportive parents and siblings.
Software engineer with coding and problem-solving skills
Close-knit family with supportive parents and siblings
My strengths include problem-solving and teamwork, while my weaknesses are time management and public speaking. I am addressing my weaknesses by taking time management courses and practicing public speaking.
Strengths: problem-solving, teamwork
Weaknesses: time management, public speaking
Addressing weaknesses: taking time management courses, practicing public speaking
I applied via campus placement at SRM Institute of Science and Technology, NCR Campus, Ghaziabad and was interviewed in Nov 2024. There was 1 interview round.
I am a passionate software engineer with 5 years of experience in developing web applications using various technologies.
5 years of experience in software development
Proficient in developing web applications
Skilled in using various technologies
Passionate about software engineering
Developed a web-based student management system for tracking attendance and grades.
Used HTML, CSS, and JavaScript for front-end development.
Implemented backend functionality using PHP and MySQL database.
Incorporated user authentication and authorization features for secure access.
Tested the system thoroughly to ensure functionality and user-friendliness.
Graduated with honors, completed multiple internships, and won coding competitions
Graduated with honors in Computer Science
Completed internships at XYZ Company and ABC Corporation
Won first place in coding competition at university hackathon
It was good . 3 question
It was hard, 5 questions
I applied via Campus Placement and was interviewed in Sep 2024. There were 3 interview rounds.
A wide range of questions were asked including concepts like logical reasoning, CN, DBMS, SQL, OS, Data structures followed by very basic coding questions.
SDLC stands for Software Development Life Cycle, which is a process used by software development teams to design, develop, and test high-quality software.
SDLC is a systematic process for building software applications.
It consists of several phases such as planning, analysis, design, implementation, testing, and maintenance.
Each phase has its own set of activities and deliverables.
Examples of SDLC models include Waterfa...
LTIMindtree is a global technology consulting and services company specializing in digital transformation and IT services.
LTIMindtree was formed through the merger of LTI (Larsen & Toubro Infotech) and Mindtree in 2019.
It offers services in areas such as cloud computing, data analytics, cybersecurity, and artificial intelligence.
LTIMindtree serves clients in various industries including banking, healthcare, retail, and...
I applied via Campus Placement
I am a passionate software engineer with a strong background in computer science and experience in developing innovative solutions.
Completed a Bachelor's degree in Computer Science from XYZ University
Proficient in programming languages such as Java, Python, and C++
Worked on projects involving web development, database management, and machine learning
Strong problem-solving skills and ability to work in a team environmen
I was responsible for designing and implementing new features, fixing bugs, and optimizing performance in various projects.
Designed and implemented new features based on client requirements
Fixed bugs reported by QA team or end users
Optimized performance by refactoring code or improving algorithms
Collaborated with team members to ensure project deadlines were met
Yes, I am open to relocating for the right opportunity.
I am open to relocating for the right job opportunity
I am flexible and willing to move for the right position
I have relocated for previous jobs and am comfortable with the process
based on 1 interview
Interview experience
Programmer Analyst
11
salaries
| ₹3.5 L/yr - ₹5.4 L/yr |
Senior Programmer Analyst
8
salaries
| ₹10.5 L/yr - ₹20 L/yr |
Test Engineer
5
salaries
| ₹3 L/yr - ₹5.2 L/yr |
Technical Lead
4
salaries
| ₹25 L/yr - ₹32 L/yr |
Technical Manager
4
salaries
| ₹30 L/yr - ₹35 L/yr |
TCS
Accenture
Wipro
Cognizant