Filter interviews by
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<String> treeSet = new TreeSet<>();
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
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 ...
What people are saying about EPAM Systems
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 imple...
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 ...
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 featu...
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 bal...
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.
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...
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<String> treeSet = new TreeSet<>();
I applied via Naukri.com and was interviewed in May 2024. There was 1 interview round.
I appeared for an interview in Feb 2024.
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.
posted on 2 Jun 2022
I appeared for an interview before Jun 2021.
Had DSA and aptitude questions
Collection hierarchy in Java includes interfaces like Collection, List, Set, Queue, and Map with their respective implementations.
Collection interface is the root interface in the collection hierarchy
List interface extends Collection and allows duplicate elements, with implementations like ArrayList and LinkedList
Set interface extends Collection and does not allow duplicate elements, with implementations like HashSet a...
Some of the top questions asked at the EPAM Systems Senior Java Developer interview -
based on 9 interview experiences
Difficulty level
Duration
Senior Software Engineer
3.7k
salaries
| ₹16.3 L/yr - ₹37.3 L/yr |
Software Engineer
2.2k
salaries
| ₹8.5 L/yr - ₹23.8 L/yr |
Lead Software Engineer
1.1k
salaries
| ₹30 L/yr - ₹47.1 L/yr |
Senior Systems Engineer
391
salaries
| ₹22 L/yr - ₹36.3 L/yr |
Software Developer
366
salaries
| ₹10.2 L/yr - ₹30.5 L/yr |
DXC Technology
Sutherland Global Services
Optum Global Solutions
Virtusa Consulting Services