34 questions · from 8 interviews

Epam Systems interview questions

Every question candidates reported from their Epam Systems interviews, most frequently asked first. Each links to the write-up it came from, so you can see the round and how it went.

Epam Systems coding and DSA questions

  1. 01

    Currency Conversion Problem

    Given a list of currency conversion pairs, find the minimum number of conversions required to convert a source currency into a target currency. Return -1 if conversion is not possible.

    From EPAM | SSE | Interview Experience

  2. 02

    Stream: Print All Employees

    Use Streams to implement below: Print the list of all employees list.forEach(e -> System.out.println(e.getId() + " " + e.getName() + " " + e.getDesignation()));

    From EPAM | Senior Software Engineer | Bangalore | Feb 2025

  3. 03

    Stream: Collect Employee IDs Divisible by 2

    2. Collect a list of employee IDs divisible by 2 List<Integer> result = list.stream() .filter(e -> e.getId() % 2 == 0) .map(Employee::getId) .collect(Collectors.toList());

    From EPAM | Senior Software Engineer | Bangalore | Feb 2025

  4. 04

    Stream: Sort Employee List by ID

    3. Sort the employee list in ascending and descending order of ID Collections.sort(list, (a, b) -> Integer.compare(a.getId(), b.getId()));

    From EPAM | Senior Software Engineer | Bangalore | Feb 2025

  5. 05

    Longest Substring Without Repeating Characters

    Coding Question: Find the longest Substring Without Repeating Characters Example Input & Output: Input: "abcadcbb" → Output: 4 (Substring: "bcad") Input: "pwwkew" → Output: 3 (Substring: "wke") Optimized solution:…

    Medium · From EPAM | Senior Software Engineer | Bangalore | Feb 2025

  6. 06

    Weighted Voting System Implementation

    Create a simple voting system for N candidates with unique IDs ranging from 0 to n-1. Each voter casts 3 votes, with the first vote having 3x weight, the second 2x, and the third 1x. For example, if a voter votes for candidates A, B, and C, the votes for A,…

    From EPAM | Sr. SDE | DSA | Java | Offer accepted

  7. 07

    Partition Equal Subset Sum

    Determine if a given array can be partitioned into two subsets with equal sums.

    Medium · From EPAM | First Round Interview for Senior Software Engineer - Java

  8. 08

    Search in Rotated Sorted Array

    Perform a search in a rotated sorted array.

    Medium · From EPAM | First Round Interview for Senior Software Engineer - Java

  9. 09

    Filter and Sort Employees by City using Java 8

    Given an Employee list with fields id , name , and city , get all employees from 'Noida' city and sort them in reverse alphabetical order by name using Java 8 Stream API. class Employee { int id; String name; String city; }

    Easy · From EPAM | Senior Software Engineer | Gurgaon [Offer]

  10. 10

    Product of Array Except Self (Without Division)

    Given an integer array nums of size N, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i] . You must not use the / operator. Input: N = 5, array[] = {1,2,3,4,5} Output: 120 60 40 30 24 For 0th index,…

    Medium · From EPAM | Senior Software Engineer | Gurgaon [Offer]

  11. 11

    Merge k Sorted Linked Lists

    You are given an array of k linked-lists lists , each linked-list is sorted in ascending order. Merge all the linked-lists into one sorted linked-list and return it. Input: lists = [[1,4,5],[1,3,4],[2,6]] Output: [1,1,2,3,4,4,5,6]

    Hard · From EPAM | Senior Software Engineer | Gurgaon [Offer]

  12. 12

    Find First Repeating Character using Streams

    Given a string, find the first repeating character in the given string using Java streams and lambda expressions. Example: Input: s = "asdfaghjklkjhgfdsa" Output: a

    From Epam Systems | Java Software Engineer | Gurgaon

  13. 13

    Top View of a Binary Tree

    Implement an algorithm to find the top view of a binary tree.

    From Epam Systems | Java Software Engineer | Gurgaon

  14. 14

    Group Anagrams

    Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.…

    From Epam Systems | Java Software Engineer | Gurgaon

  15. 15

    Find Duplicate Element in Array

    I was asked to find a duplicate element in an array and implement the solution in Java.

    Easy · From Epam | Junior Software Engineer | Offer

Epam Systems system design questions

  1. 01

    Dependency Injection in Flask with SQLAlchemy

    Explain the concept of dependency injection. How can dependency injection be implemented and utilized within a Flask application, specifically when integrating with SQLAlchemy for database operations?

    From EPAM Interview Experience

  2. 02

    Monolith vs. Microservices Architecture

    Explain the fundamental differences between monolithic and microservices architectural styles. Discuss the advantages and disadvantages of each, and in which scenarios it is more appropriate to choose one over the other.

    From EPAM Interview Experience

  3. 03

    Microservices Deployment Strategies

    Describe common strategies and tools used for deploying microservices. Consider aspects like containerization, orchestration, and continuous delivery.

    From EPAM Interview Experience

  4. 04

    Microservices Inter-Service Communication

    Explain various methods and patterns for inter-service communication within a microservices architecture. Discuss both synchronous and asynchronous communication approaches.

    From EPAM Interview Experience

  5. 05

    Event-Driven Architecture in Microservices

    Explain the concept of event-driven architecture (EDA) and the scenarios where using events is beneficial in a microservices context. Provide examples of when to leverage events for communication and state changes.

    From EPAM Interview Experience

  6. 06

    Design a Screen Broadcast System

    Design a screen broadcast system where ads/videos can be played, replayed, changed, or scheduled for future broadcasts across multiple screens. It's a small-scale system.

    From EPAM | Sr. SDE | DSA | Java | Offer accepted

  7. 07

    Microservice Architecture Patterns & REST Principles

    Discussion on microservice architecture patterns such as API Gateway, BFF, Circuit Breaker, Database per Service, Event-Driven, and Saga pattern. Also, Richardson Maturity Model (RMM) and REST API grading, and differences between SOAP and REST.

    From EPAM | Sr. SDE | DSA | Java | Offer accepted

  8. 08

    High-Level Design for Train Ticket Booking App

    Design a train ticket booking app. Focus was on high-level design, particularly Back-of-the-Envelope estimation and database design to efficiently find available trains and seats between a source and destination.

    From EPAM | Sr. SDE | DSA | Java | Offer accepted

  9. 09

    High-Level Design for a Food Delivery App

    Design the high-level architecture for a food delivery application.

    From EPAM | Senior Software Engineer | Gurgaon [Offer]

  10. 10

    User Notification and Points Service Design

    Design a service that will notify a user on login/signup and credit them a point.

    Easy · From Epam Systems | Java Software Engineer | Gurgaon

Epam Systems behavioural and HR questions

  1. 01

    Applying SOLID Principles in Design

    Discuss your approach to designing systems while keeping SOLID principles in mind.

    From Epam Systems | Java Software Engineer | Gurgaon

Epam Systems other questions

  1. 01

    Python Decorators and Chaining

    Explain what decorators are in Python and how they function. Discuss the order of execution and behavior when multiple decorators are applied to a single function. Provide a code example demonstrating multiple decorators.

    From EPAM Interview Experience

  2. 02

    Python Exception Handling Order

    Explain the concept of exception handling in Python. Why is the order of except blocks important when handling multiple types of exceptions? Provide a code example.

    From EPAM Interview Experience

  3. 03

    Raising Exceptions with 'from'

    Explain the behavior and purpose of raising an exception using the from keyword in Python (exception chaining). What is the output of the given code snippet?

    From EPAM Interview Experience

  4. 04

    Python Multiple Inheritance and MRO

    Explain multiple inheritance in Python. How does Python resolve method calls when a child class inherits from multiple parent classes that both define a method with the same name? Provide the output of the given code snippet and explain the mechanism behind…

    From EPAM Interview Experience

  5. 05

    Python Context Management and Flask

    Explain Python's context management protocol and the role of with statements. How are context managers typically utilized within a Flask application, especially concerning resources like database connections?

    From EPAM Interview Experience

  6. 06

    Java String Comparison with == and .equals()

    String Comparison in Java: String a = new String("Vijai"); String b = new String("Vijai"); String c = "Vijai"; String d = "Vijai"; System.out.println(a == b); // false System.out.println(a.equals(b)); // true

    Easy · From EPAM | Senior Software Engineer | Bangalore | Feb 2025

  7. 07

    12-Factor Principles and Design Patterns Discussion

    Questions on 12-factor principles of microservices and any design patterns I know or have worked on. Followed by a brief discussion on project locations and types.

    From EPAM | Sr. SDE | DSA | Java | Offer accepted

  8. 08

    Burn Candles in 45 Minutes Puzzle

    I was given a puzzle: You have two candles, each capable of burning for exactly 30 minutes. The task is to burn both candles for precisely 45 minutes.

    Easy · From Epam | Junior Software Engineer | Offer

Epam Systems interview questions FAQ

What questions are asked in Epam Systems interviews?

Candidates reported 34 distinct questions across 8 Epam Systems interviews. 15 coding and DSA questions, 10 system design questions, 1 behavioural and HR questions, 8 other questions.

How difficult are Epam Systems interview questions?

Of the questions candidates rated, 50% were easy, 40% medium and 10% hard.