EPAM Systems interview experience Real time questions & tips from candidates to crack your interview

Junior Software Engineer

EPAM Systems
upvote
share-icon
4 rounds | 6 Coding problems

Interview preparation journey

expand-icon
Journey
My journey has been a mix of consistency, self-belief, and structured preparation. I started by building a strong foundation in programming and gradually moved toward mastering Data Structures and Algorithms, along with core subjects like databases, operating systems, and basic system design concepts. Alongside this, I worked on projects to strengthen my practical understanding. I followed a structured roadmap where I balanced daily coding practice, regular revision of concepts, and mock interviews to improve my problem-solving and communication skills. My rule of thumb during preparation was to solve at least two DSA problems every day, which helped me stay consistent and gradually improve my confidence.
Application story
It was an on-campus opportunity, and I was excited to apply for this role. I filled out the application form and was shortlisted for the initial online assessment round, which I successfully qualified for, and then moved on to the Group Discussion. After that, I appeared for the technical round, followed by the managerial round, but in the end, I was not selected.
Why selected/rejected for the role?
I was rejected because I was unable to answer some technical questions and got a bit confused while solving the puzzles.
Preparation
Duration: 6 months
Topics: DSA, OOPs, graph algorithms, DBMS, OS, JavaScript, SQL, Python, and Java fundamentals
Tip
Tip

Tip 1: Solve at least two DSA questions every day.

Tip 2: Keep notes of your approach and revise them twice a week.

Tip 3: Focus on understanding and building the logic on your own.

Application process
Where: Campus
Eligibility: 60% in 10th and 12th, and 70% in graduation (Salary Package: 8.48 LPA)
Resume Tip
Resume tip

Tip 1: Use action keywords to improve your resume’s ranking.

Tip 2: Use numerical indicators to show the results or impact of your projects.

Interview rounds

01
Round
Medium
Online Coding Interview
Duration70 minutes
Interview date28 Feb 2026
Coding problem3

1. Rotation

Easy
0/40
Asked in company
EPAM Systems

You are given an array 'arr' having 'n' distinct integers sorted in ascending order. The array is right rotated 'r' times


Find the minimum value of 'r'.


Right rotating an array means shifting the element at 'ith' index to (‘i+1') mod 'n' index, for all 'i' from 0 to ‘n-1'.


Example:
Input: 'n' = 5 , ‘arr’ = [3, 4, 5, 1, 2]

Output: 3 

Explanation:
If we rotate the array [1 ,2, 3, 4, 5] right '3' times then we will get the 'arr'. Thus 'r' = 3.


Problem approach

I used a straightforward brute-force approach. Since the array was originally sorted in ascending order, I traversed it once while keeping track of the minimum element and its index. The index at which this minimum element occurred was the answer.

Try solving now

2. String Mismatch Finder

Easy
0/40
Asked in company
EPAM Systems

You are given two strings, s1 and s2, which are guaranteed to be of the same length.


Your task is to compare these two strings character by character and identify all the positions (indices) where they differ. You need to return a list of these 0-indexed positions.


Problem approach

My approach is simple and linear. I initialize a counter to zero and then traverse both strings character by character. At each index, I check if the characters are different, and if so, I increment the counter. After completing the traversal, the counter gives the total number of differing positions.

Try solving now

3. LRU Cache Implementation

Moderate
25m average time
65% success
0/80
Asked in companies
OracleSprinklrRazorpay

Design and implement a data structure for Least Recently Used (LRU) cache to support the following operations:

1. get(key) - Return the value of the key if the key exists in the cache, otherwise return -1.

2. put(key, value), Insert the value in the cache if the key is not already present or update the value of the given key if the key is already present. When the cache reaches its capacity, it should invalidate the least recently used item before inserting the new item.
You will be given ‘Q’ queries. Each query will belong to one of these two types:
Type 0: for get(key) operation.
Type 1: for put(key, value) operation.
Note :
1. The cache is initialized with a capacity (the maximum number of unique keys it can hold at a time).

2. Access to an item or key is defined as a get or a put operation on the key. The least recently used key is the one with the oldest access time.
Problem approach

Solved the Least Recently Used (LRU) Cache problem by designing an efficient cache system with O(1) operations. Implemented a combination of a HashMap for quick key-value access and a doubly linked list to maintain the order of recently used elements. Ensured that every access (get) updates the usage order, and during insertion (put), handled capacity constraints by removing the least recently used item. This approach optimizes both performance and memory management while strictly following the LRU eviction policy.

Try solving now
02
Round
Easy
Group Discussion
Duration30 minutes
Interview date12 Mar 2026
Coding problem0

The topic for the discussion was “How to design a hiring process that minimizes cheating and ensures fair evaluation.”

03
Round
Medium
Face to Face
Duration60 minutes
Interview date13 Mar 2026
Coding problem2

1. River Crossing

How do you get a lion, a goat, and a cabbage across a river using a single-passenger boat without any of them eating each other?

Problem approach

Tip 1: Go through the most frequently asked interview puzzles.
Tip 2: Stay calm and try to understand the problem without hesitation.

2. Remove Duplicates from Sorted Array

Easy
15m average time
85% success
0/40
Asked in companies
Goldman SachsSamsungHewlett Packard Enterprise

You are given a sorted integer array 'arr' of size 'n'.


You need to remove the duplicates from the array such that each element appears only once.


Return the length of this new array.


Note:
Do not allocate extra space for another array. You need to do this by modifying the given input array in place with O(1) extra memory. 


For example:
'n' = 5, 'arr' = [1 2 2 2 3].
The new array will be [1 2 3].
So our answer is 3.
Problem approach

Create an auxiliary array temp[] to store unique elements.

Traverse the input array and copy unique elements of arr[] to temp[] one by one. Also, keep track of the count of unique elements; let this count be j.

Copy the first j elements from temp[] back to arr[] and return j.

Try solving now
04
Round
Easy
HR Round
Duration20 minutes
Interview date13 Mar 2026
Coding problem1

The interviewer was polite.

1. HR Questions

The interviewer started by asking about my project and the problem I was trying to solve.
They asked how I use AI in my daily life.
They also asked how I would approach the problem of finding the population of Kanpur.

Problem approach

Tip 1: Stay calm and confident, even if you are unable to answer.
Tip 2: Be thorough with your project, as questions may be asked multiple times.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

Which traversal uses a queue as its primary data structure?

Choose another skill to practice
Similar interview experiences
Junior Software Engineer
5 rounds | 6 problems
Interviewed by EPAM Systems
3496 views
1 comments
0 upvotes
Junior Software Engineer
3 rounds | 5 problems
Interviewed by EPAM Systems
2214 views
0 comments
0 upvotes
Junior Software Engineer
4 rounds | 10 problems
Interviewed by EPAM Systems
1343 views
0 comments
0 upvotes
Junior Software Engineer
4 rounds | 6 problems
Interviewed by EPAM Systems
115 views
0 comments
0 upvotes