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
posted on 16 Sep 2021
I appeared for an interview in Oct 2020.
Round duration - 75 min
Round difficulty - Medium
This round was MCQ and coding round. 25 MCQs and one coding question were asked. MCQs were based on OS, DBMS, Aptitude and Data Structures.
You have 'N' tasks to complete. Each task can only be done on one of two specific days provided in two arrays: day1
and day2
.
For each task i, day1[i]
represents the earliest...
Find the minimum number of days required to complete all tasks given specific completion days for each task.
Sort the tasks based on day1 in ascending order.
For each task, choose the minimum of day1 and day2 as the completion day.
Keep track of the maximum completion day for each task.
The final answer is the maximum completion day of all tasks.
Round duration - 30 min
Round difficulty - Easy
This was a Data Structural round. Only one coding question was asked by the interviewer. The interviewer was very friendly. This round was very easy.
Sort the given unsorted array consisting of N non-negative integers in non-decreasing order using the Bubble Sort algorithm.
The first line contains an integer 'T' r...
Bubble Sort algorithm is used to sort an array of non-negative integers in non-decreasing order.
Implement the Bubble Sort algorithm to sort the array in place.
Compare adjacent elements and swap them if they are in the wrong order.
Repeat this process until the array is sorted.
Time complexity of Bubble Sort is O(n^2) in the worst case.
Example: For input [6, 2, 8, 4, 10], the output should be [2, 4, 6, 8, 10].
Tip 1 : Be confident!
Tip 2 : Maintain high Cgpa
Tip 3 : Do your best
Tip 1 : Mention clear points
Tip 2 : Atleast 3 projects and never put anything you have not revised
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.4 L/yr - ₹37.2 L/yr |
Software Engineer
2.2k
salaries
| ₹8.5 L/yr - ₹23.8 L/yr |
Lead Software Engineer
1.1k
salaries
| ₹29.9 L/yr - ₹47 L/yr |
Senior Systems Engineer
390
salaries
| ₹22 L/yr - ₹36.3 L/yr |
Software Developer
366
salaries
| ₹10.2 L/yr - ₹30.5 L/yr |
DXC Technology
Optum Global Solutions
Virtusa Consulting Services
CGI Group