Filter interviews by
Use Stream API to find the kth largest element in an array of strings.
Convert array of strings to Stream
Sort the Stream in reverse order
Skip k-1 elements and get the kth element
Use SQL query to find highest salary of employee in each department
Use GROUP BY clause to group by department
Use MAX() function to find highest salary in each group
Join the employee table with department table to get department information
Java 8 introduced features like lambda expressions, functional interfaces, streams, and default methods.
Lambda expressions allow you to pass functionality as an argument to a method.
Functional interfaces have a single abstract method and can be used with lambda expressions.
Streams provide a way to work with sequences of elements and perform aggregate operations.
Default methods allow interfaces to have method implementa
HashMap in Java 8 uses an array of linked lists to store key-value pairs, with bucketing and resizing for efficient retrieval.
HashMap internally uses an array of linked lists to store key-value pairs
Each element in the array is a bucket, and each bucket can have multiple entries
Hashing is used to determine the index of the array where the key-value pair will be stored
In case of hash collisions, entries are stored in a ...
Code becomes less maintainable and can lead to unexpected behavior.
Violates the principle of substitutability, leading to unexpected behavior in subclasses.
May result in code that is harder to understand and maintain.
Can lead to bugs and errors that are difficult to trace back to the violation of the principle.
Example: If a subclass overrides a method in a way that changes its behavior significantly, it can break the L
Worked on AWS services like EC2, S3, RDS, Lambda, and more. Familiar with features like scalability, security, and cost-effectiveness.
Worked on EC2 for scalable computing power
Utilized S3 for secure and durable storage
Managed RDS for relational database management
Implemented Lambda for serverless computing
Familiar with features like scalability, security, and cost-effectiveness
Encapsulation focuses on hiding the internal state of an object, while abstraction focuses on showing only the necessary details of an object.
Encapsulation is the concept of bundling the data (attributes) and methods (behaviors) that operate on the data into a single unit (class).
Abstraction is the concept of hiding the implementation details and showing only the necessary features of an object.
Encapsulation helps in d...
I applied via LinkedIn
equals and hashcode are methods in Java used for comparing objects and generating hash codes respectively. Object class does implement equals method.
equals method is used to compare two objects for equality. It is overridden in most classes to provide custom comparison logic.
hashcode method is used to generate a unique integer value for an object. It is used in hash-based collections like HashMap.
Object class does impl...
Time complexities of data structures vary based on operations like insertion, deletion, search, etc.
Arrays - O(1) for access, O(n) for insertion/deletion
Linked Lists - O(n) for access, O(1) for insertion/deletion at head/tail
Stacks - O(1) for push/pop operations
Queues - O(1) for enqueue/dequeue operations
Hash Tables - O(1) for average case search/insert/delete
Binary Trees - O(log n) for search/insert/delete in balanced...
D stands for Dependency Inversion Principle in SOLID principles.
High-level modules should not depend on low-level modules. Both should depend on abstractions.
Abstractions should not depend on details. Details should depend on abstractions.
Example: Using interfaces to decouple classes and allow for easier testing and maintenance.
Other principles for best coding practices include DRY, KISS, YAGNI, and design patterns.
DRY (Don't Repeat Yourself) - Avoid duplicating code by creating reusable functions or classes.
KISS (Keep It Simple, Stupid) - Write simple and easy-to-understand code rather than overcomplicating it.
YAGNI (You Aren't Gonna Need It) - Only implement functionality that is needed at the present moment, avoiding unnecessary features.
D...
Tree set is a sorted set implementation based on a binary search tree.
Tree set stores elements in sorted order using a binary search tree
It does not allow duplicate elements
Operations like add, remove, and search have O(log n) time complexity
Example: TreeSet
What people are saying about EPAM Systems
I applied via Naukri.com and was interviewed in May 2024. There was 1 interview round.
EPAM Systems interview questions for designations
I was interviewed in Feb 2024.
Get interview-ready with Top EPAM Systems Interview Questions
I applied via Naukri.com and was interviewed in Sep 2024. There was 1 interview round.
The first round was HR, which discussed company policy; the second round was technical.
LinkedHashMap is a subclass of HashMap with predictable iteration order based on insertion order.
Maintains a doubly-linked list of entries to preserve insertion order
Supports access-order and insertion-order modes
Access-order mode reorders entries based on access frequency
I applied via Naukri.com and was interviewed in Jan 2024. There was 1 interview round.
JVM memory consists of Young Generation, Old Generation, and Permanent Generation.
Young Generation: where new objects are allocated and aged before moving to Old Generation.
Old Generation: where long-lived objects are stored.
Permanent Generation: where metadata such as class definitions and method information are stored.
Interface is a contract with no implementation, while abstract class can have some implementation.
Interface cannot have any method implementation, while abstract class can have some method implementations.
A class can implement multiple interfaces, but can only extend one abstract class.
Interfaces are used to achieve multiple inheritance in Java.
Abstract classes can have constructors, while interfaces cannot.
Example: In...
Immutable classes in Java are classes whose objects cannot be modified once they are created.
Make the class final to prevent inheritance
Make all fields private and final
Do not provide setter methods for fields
Ensure that any mutable objects within the class are also immutable
Composition is a strong relationship where the child object cannot exist independently of the parent object, while aggregation is a weak relationship where the child object can exist independently.
Composition is a 'has-a' relationship, where the child object is a part of the parent object.
Aggregation is a 'has-a' relationship, where the child object is not a part of the parent object.
In composition, the child object is...
Comparable is an interface used for natural ordering of objects, while Comparator is an interface used for custom ordering of objects.
Comparable interface is implemented by the class whose objects are to be compared, while Comparator interface is implemented by a separate class.
Comparable interface has a single method compareTo() for comparing objects, while Comparator interface has a single method compare() for custom...
HashMap is not thread-safe while ConcurrentHashMap is thread-safe.
HashMap is not thread-safe and can lead to ConcurrentModificationException if modified during iteration.
ConcurrentHashMap allows concurrent read and write operations without the need for external synchronization.
ConcurrentHashMap achieves thread-safety by dividing the map into segments, allowing multiple threads to operate on different segments concurren...
Collections store data while streams process data in a functional way.
Collections are used to store and manage groups of objects, while streams are used to process collections of objects.
Collections are mutable, meaning you can add, remove, or modify elements, while streams are immutable and do not change the original data.
Streams use functional programming concepts like map, filter, and reduce to process data efficien...
Use @Primary to specify a primary bean when multiple beans of the same type are present. Use @Qualifier to specify a specific bean when multiple beans of the same type are present.
Use @Primary to indicate the primary bean to be used when multiple beans of the same type are present in the Spring application context.
Use @Qualifier along with @Autowired to specify a specific bean to be injected when multiple beans of the ...
I applied via Naukri.com and was interviewed in Nov 2023. There were 2 interview rounds.
JDBC is a low-level API for connecting to databases in Java, while Hibernate is a high-level ORM framework that simplifies database interactions.
JDBC requires writing SQL queries manually, while Hibernate provides an object-oriented approach to database operations.
Hibernate handles mapping Java objects to database tables, while JDBC requires manual mapping.
Hibernate provides caching mechanisms for improved performance,...
1 Interview rounds
Senior Software Engineer
2.6k
salaries
| ₹15 L/yr - ₹42.8 L/yr |
Software Engineer
1.7k
salaries
| ₹7 L/yr - ₹24 L/yr |
Lead Software Engineer
831
salaries
| ₹18 L/yr - ₹52 L/yr |
Senior Systems Engineer
309
salaries
| ₹12 L/yr - ₹38.8 L/yr |
Software Test Automation Engineer
265
salaries
| ₹6 L/yr - ₹20 L/yr |
TCS
Infosys
Wipro
HCLTech