Epam Systems Interview Questions

Epam Systems Overview

  • www.epam.com
  • Newtown, PA
  • 10,001+ employees
  • 1993
  • Public Company
  • Information Technology & Services

Epam Systems Interview Questions: The most important part of preparing for an interview is practice. Knowing what job interview questions you might be asked is essential – that way, you can craft your answers well in advance and feel confident in your responses when the pressure is on.

Wouldn’t it be great if you knew precisely what interview questions are asked for the Test Engineer QA for Manual & Automation Positions? Unfortunately, we can’t read minds, but we’ll give you the next best thing: a list of previously asked Epam Systems interview questions and answers.

Post On:Epam Systems Interview Questions
Post Type:Interview Questions
Published On:www.softwaretestingo.com
Applicable For:Freshers & Experience

We have tried to share some of the manual testing interview questions, selenium interview questions & testing interview questions also, but we are recommending spending some quality time to get comfortable with what might be asked when you go for the Epam Systems interview.

Still, we need your love and support to make this platform more helpful to our fellow testers. So it would be great to share your recent interview questions and experience with us. You Can share those details by connecting with us at softwaretestingo.com@gmail.com.

Epam Interview Questions For Automation Testing

Experience: 8+ Years
Interview Location: Hyderabad
Updated on: 15.07.2024

Write a program to find the second most frequently repeated character in a given string
Input: aabbbcddeeee
Output: b

package com.softwaretestingo.interviewprograms;
import java.util.HashMap;
import java.util.Map;
public class InterviewPrograms_118_secondMostFrequentChar 
	 * Write Java code for second Most Frequent Character 
	 * Input: aabbbcddeeee
	 * Output: bbbb
	public static void main(String[] args) 
		String s = "aaabbbbcddeeeee";
		System.out.println("Input String: "+s);
		System.out.println("Second Most Frequent Character: "+secondMostFrequentChar(s));

	public static String secondMostFrequentChar(String s) 
		Map<Character, Integer> freq = new HashMap<>();
		for (char c : s.toCharArray()) 
			freq.put(c, freq.getOrDefault(c, 0) + 1);

		char maxChar = ' ';
		char secondMaxChar = ' ';
		int maxCount = 0;
		int secondMaxCount = 0;

		for (Map.Entry<Character, Integer> entry : freq.entrySet()) 
			if (entry.getValue() > maxCount) 
				secondMaxCount = maxCount;
				secondMaxChar = maxChar;
				maxCount = entry.getValue();
				maxChar = entry.getKey();
			else if (entry.getValue() > secondMaxCount) 
				secondMaxCount = entry.getValue();
				secondMaxChar = entry.getKey();

		return String.valueOf(secondMaxChar).repeat(secondMaxCount);
  1. Navigate to https://www.cricbuzz.com/
  2. Select “india” from “teams” dropdown
  3. Go to “stats” tab
  4. Save all the players name and AVG runs scored using java collection and print all the players name who has same AVG score

String input = “I am Rajesh, currently attending, interview with, abc systems”;
String output= “Rajesb am I, attending currently, with interview, systems abc”;

package com.softwaretestingo.interviewprograms;
public class InterviewPrograms_117_SplitReverseEachWordOfaString 
	 * Write Java code for
	 * String input = "I am Rajesh, currently attending, interview with, abc systems";
	 * String output= "Rajesb am I, attending currently, with interview, systems abc";
	public static void main(String[] args) 
		String str= "I am Rajesh, currently attending, interview with, abc systems";
		String[] strArray=str.split(",");
		String reverse="";
		for(int i=0;i<strArray.length;i++)
			String[] s2=strArray[i].split(" ");
		System.out.println("Inpur String: "+str);
		System.out.println("Output String: "+reverse);

	private static String reverse(String[] str) 
		String reverse=" ";
		for(int i=str.length-1;i>=0;i--)
			reverse=reverse+str[i]+" ";
		return reverse;

Given a sting input, If the input string length is odd then return the string with middle three letter. If length is less than or equal to 3 then return as it is.
Input: “NewMumbai” or “New”
Output: Mum or New

package com.softwaretestingo.interviewprograms;
public class InterviewPrograms_118_GetMiddleThreeLetters 
	 * Write Java code for return middle three letters
	 * Input: “NewMumbai” or "New"
	 * Output: Mum or New
	public static void main(String[] args) 
		String input = "NewMumbai";
		String output = getMiddleThreeLetters(input);

	public static String getMiddleThreeLetters(String input) 
		int length = input.length();
		if (length <= 3) 
			return input;
		else if (length % 2 == 0) 
			return "";
			int middleIndex = length / 2;
			return input.substring(middleIndex - 1, middleIndex + 2);

Company Name: EPAM Systems
Interview Location: Hyderabad
Updated on: 21.06.2024

  • Can you explain what wrapper classes are in Java and why they are used?
  • What are enums in Java, and can you provide an example of how they are used?
  • How do you create a custom exception in Java, and in what scenarios would you use one?
  • How can you make an ArrayList synchronized in Java?
  • Can you explain the differences between Comparator and Comparable in Java, and when you would use each?
  • How would you convert an ArrayList to an array in Java?
  • If you have two ArrayLists, AL1 and AL2, how can you merge them into a third ArrayList?
  • What are the differences between Hashtable and HashMap in Java?
  • Write a Java program that takes the input array arr[] = {0, 30, 5, 6, 0, 0, 9, 27} and outputs: [0, 0, 0, 30, 5, 6, 9, 27].
  • Can you explain the concepts of Streams and Lambda expressions introduced in Java 8?
  • What is the Page Object Model (POM) design pattern in Selenium, and how do you implement it?
  • Can you describe the Singleton design pattern and provide an example of its implementation in Java?
  • Without using TestNG, how can you perform parallel execution in a BDD framework?
  • What are PICO containers, and how are they used in dependency injection?
  • How do you use data tables in step definitions in a BDD framework?
  • How can you configure your test framework to rerun failed test cases two times?
  • How do you handle cookies in Selenium WebDriver?
  • What is the syntax for initializing elements in the Page Factory of Selenium?
  • Have you implemented loggers in your projects? If so, how?
  • What is an Object Mapper, and how is it used in Java?
  • What are the differences between OAuth 1 and OAuth 2?
  • What are the differences between JsonPath and JSONObject in JSON handling?
  • What is the test parameter approach in testing? Can you also explain what a test plan and test strategy are?
  • Can you describe a few estimation techniques used in agile development?
  • What is the difference between a burn-up chart and a burn-down chart in Agile?
  • Can you explain the difference between rebase and merge in Git?
  • What is the difference between git fetch and git pull?
  • How do you resolve conflicts in Git?
  • How do you set up choice parameters in a Jenkins job?
  • How do you create a pipeline in Jenkins?
  • What is SonarQube, and how is it used in code quality analysis?
  • Can you explain the SOLID principles and DRY principles in clean code?
  • What are DML and DDL commands in SQL, and can you provide examples?
  • What are some best practices for code review in automation testing?

Company Name: EPAM Systems
Position: Test Engineer
Interview Location: Bangalore
Updated on: 01.06.2024

  • WAP to find the second largest number in the given integer array.
  • WAP to reverse the position of subwords in the given string and the first character should be capital.
    INPUT: India is great
    OUTPUT: Great Is India”
  • WAP to store the given data in a map and then print the names whose score is greater than 9.
    INPUT: Sachin 9.2 Isha 7.6
  • Explain Schema Validation in API and why it is required.
  • Explain Java8 features
  • Explain the Test Plan, Test Strategy, and Test Document
  • Explain Page Factory and different design patterns such as POM, Builder, etc
  • Explain keywords tagged Hooks, Background, dryRun
  • Given one scenario where test data is written under steps and asked to write method i.e; step definition where need to fetch first name and last name. Hint: DataTable
  • Given a link and asked to write a dynamic XPath to fetch team names and their corresponding points and asked about its implementation in the framework.
  • Given the link and asked to write XPath for the checkbox of Amazon.
  • Difference between ArrayList and LinkedList.
  • Difference between HashSet, LinkedHashSet, and TreeSet.
  • Explain how parallel Testing was achieved in the framework and how you manage drivers.
  • Explain Fluent Wait
  • How did you manage mouse hover actions?
  • Use of JavascriptExecutor
  • Asked to explain about loggers implementation in framework and about log4j properties file
  • Asked for the implementation of an Extent Report in the framework
  • Explain 401 and 403 HTTP codes.
  • Difference between Regression Testing and Retesting.
  • Explain git pull, git fetch, cherrypick, rebase
  • How to resolve merge conflicts.
  • Explain Continuous Integration and Continuous Delivery.
  • How to create a job in Jenkins
  • Explain Agile ceremonies such as Scrum call, Sprint Retrospective, Sprint Planning, Sprint Review
  • Explain story points assigned to each story per sprint.
  • How will you handle exceptions
  • How will you create customised/user-defined exceptions?
  • What is Singleton’s design pattern and how will you achieve it?
  • What is the meaning of a private constructor?
  • How did you implement ITestListener and IRetryAnalyzer listeners in the framework?
  • Explain the Comparable and Comparator Interface and its uses.
  • Explain OAuth2
  • Explain various techniques of black box testing such as Equivalence Partitioning, Boundary value analysis, Cause-effect graphing
  • Explain MicroServices

Interview Questions Asked the output:

class MultipleCatchBlock5{    
  public static void main(String args[]){    
    int a[]=new int[5];    
   catch(Exception e){System.out.println("common task completed");}    
   catch(ArithmeticException e){System.out.println("task1 is completed");}    
   catch(ArrayIndexOutOfBoundsException e){System.out.println("task 2 completed");}    
   System.out.println("rest of the code...");    

Given one JSON body and asked to write POJO for it. E.g;

    "firstName": "John",
    "lastName": "doe",
    "age": 26,
    "address": {
        "streetAddress": "naist street",
        "city": "Nara",
        "postalCode": "630-0192"
    "phoneNumbers": [
            "type": "iPhone",
            "number": "0123-4567-8888"
            "type": "home",
            "number": "0123-4567-8910"

Given a JSON response and asked to write assertions for it.

    "phoneNumbers": [
            "type": "iPhone",
            "number": "0123-4567-8888"


  • How to pass data from one feature file to another.
  • If we have to perform any common set of activities b/w scenarios, then what should be done
  • Explain the different layers used in your current framework.
  • Describe ur day to day activity.
  • Asked to write the explicit wait for an element to click and asked the scenario that if the code is explicitly written till explicit wait is executed but the element is not getting clicked then what could be the possible exceptions and how to handle it?
  • Explain Java 8 features and ask to write code using lambda expression as well as forEach() method.
  • Equivalence partitioning and BVA testing. Explain them with an example: test integer from 10 to 20 in a text box.
  • Asked to write the code for the implementation of custom/user-defined exceptions.
  • Asked to write the code for the implementation of the Singleton design pattern.
  • Difference b/w git push and git merge.
  • Asked for different types of design patterns used in the framework such as POM and RequestSpecBuilder, etc.
  • Explain different types of static testing techniques.
  • Asked about sonarlint plugin uses whether used in the current project.
  • Challenges faced during automation.

Company Name: EPAM Systems
Position: Test Engineer
Company Location: Hyderabad

  • Overloading vs overriding
  • There was a question about reducing visibility
  • Where you apply encapsulation and abstraction in your project
  • A program to find out the occurrence of each character in a string
  • Exception hierarchy
  • Multiple catch block with try block and sequence of execution of catch block
  • How to calculate sum using Java stream API
  • How to write lambda expressions
  • What is a functional interface
  • Which design pattern you have applied in your framework and where (At least 2 design patterns you should know )
  • What are serialisation and deserialisation in API which library you have used?
  • Difference between OAuth vs OAuth 2
  • The basic syntax to send a request is rest assured
  • Request specification vs request builder
  • How you will select automation candidates
  • What are tags in cucumber
  • How to run parallel execution in TestNG and cucumber with JUnit
  • How to pass variable in step definition
  • How to pass variable in XPath
  • What is the profile and plug-in in Maven
  • What is a transitive dependency
  • What are different log-level
  • What are the parameters you will take care of while reviewing a PR
  • Reset vs revert in git
  • What Branch strategy you were following in your project in git
  • What is a CI/cd pipeline and how to create it
  • Test pyramid
  • Waterfall vs agile
  • Some scenario-based questions like what challenges you face while doing sprint automation

Company Name: EPAM Systems
Position: Test Automation
Company Location: Hyderabad
No Of Rounds: 2

Technical 1:

  • Java program
  • Hooks in cucumber
  • Advantage of page object model design pattern
  • Structure of pom.xml
  • git fetch and git pull
  • Branching in git hub
  • Jenkins
  • SQL queries( for me asked to find the second highest from the column)
  • Defect life cycle
  • Priority and severity
  • Methodologies in STLC
  • Sprint in agile
  • Is it possible to integrate cucumber with TestNG? If yes, then how?
  • Restapi ( since I don’t have hands-on REST API. I said I don’t have hands-on)
  • How do you write CSS selectors for ID and CLASS?


  • Started with TestNG ( given a URL and asked me to write positive and negative test cases and also asked to validate)
  • If the developer rejects the bug, then what ur approach
  • How do you resolve conflicts
  • What do you do when u have free time?
  • Learnt any other skills and done any certifications?

Company Name: EPAM Systems
Position: Test Automation
Company Location: Hyderabad
Experience: 3 Yrs
Shared By: Venkata
No Of Rounds: 2
Updated on: 30.10.2021


I have applied for EPAM 5 times through the Naukri portal. 5th time I got a call from the recruiter stating that I had been shortlisted for the technical interview.

The recruiter was so professional and told me I would have two rounds (A technical round and a techno-managerial round). If I get selected, my offer will be rolled out within a day.

  • Technical round – 85 – 90 minutes
  • Techno-managerial Round – 55 – 60 minutes.

Technical round Questions:

  • Tell me about yourself.
  • What is the project you have worked on?
  • Project-related question why did you opt for a particular licensed tool over various open-source tools in the market?
  • Explain oops concepts with examples.
  • Difference between abstract classes and interface.
  • Why are multiple inheritances not supported by java?
  • How to overcome multiple inheritance problems in java.
  • Gave a java program related to inheritance and asked me for the output.
  • How to execute tests parallelly without the help of TestNG.
  • What is docker, and what is the difference between docker and selenium grid?
  • Explain the BDD framework and its significance.
  • What are hooks in BDD, and where to use them?
  • Usage of dataprovider in BDD.
  • How to run a test case with multiple data in BDD.
  • What are the feature and step definition files, and how do you integrate both?
  • Difference between ArrayList and LinkedList
  • Program: Write a Java program to remove duplicate values in a static array.
  • Difference between hash map and hash table.
  • What is API, and what are the different authentication methods used in API?
  • How will you integrate Jenkins and Git?
  • How will you handle multiple windows in a browser using Selenium?
  • What are the different types of waits in selenium?
  • What are all locators present in selenium?
  • Basic git commands.
  • What is maven, and why do we use it?
  • He Gave me a scenario to automate – There are three dropdowns Country dropdown, State dropdown, and city dropdown with a select tag. The state dropdown appears in DOM once the country is selected, and the city dropdown appears in DOM once the state is selected. So once the city dropdown appears, print out the values in the city dropdown, which start with A or a.
  • Explain the defect life cycle.

Techno-managerial Round:

  • Tell me about yourself.
  • Why are you looking for a job even though you have multiple offers?
  • Who will decide which test cases to automate and which not to automate?
  • How test cases that need to be automated are assigned to a resource.
  • Explain STLC.
  • Difference between driver.quit and driver.close.
  • Disadvantages of selenium.
  • Program: They gave me a Java program and asked me to tell the output and explain each line of code.
  • Program: Write a program to swap two numbers without a temporary variable.
  • What are the fields which are necessary when raising a defect?
  • Difference between priority and severity of the defects.
  • Explain agile methodologies.
  • How to automate a captcha.
  • Are there any scenarios where you are not able to automate an application?

Even if you don’t clear the interview, the experience will be beneficial in the coming interviews. Every interviewer asks for oops concepts and real-time examples of oops concepts and expects every hook and nook of selenium and other frameworks. If you are an experienced candidate, it doesn’t matter if you have relevant experience.

Company Name: EPAM SYSTEMS
Position: SDET I
Company Location: Gurgaon
Experience: 5 Yrs
Shared By: Aditi Kumari
No Of Rounds: 3
Updated on: 03.10.2022


Two rounds of interviews with initial codility programming test.

  • 1st Round unique, very lengthy, and detailed discussion that lasts around 100-110 Mins involves almost all the phases and processes of Automation and testing.
  • 2nd round is more of a managerial cum technical discussion. If you are here, 80% of the tasks are done. This round concerns your management skills, durability, troubleshooting, and exploiting RCAs and processes.


I don’t remember all the questions, but I’ll try to summarize whatever I can remember. Whatever questions I am putting are IV questions. Only a few might be from different companies, though 😉

1st Round:

  • Explain your framework. Did you create it or work on it?
  • Explain how data, reporting, and test suits are derived in your framework.
  • Coding problem regarding the frequency in string and output based on frequency.
  • One more array coding ques don’t remember it, though
  • What’s the use of static keywords?
  • What is the OOPS concept? Where have you implemented them in your framework?
  • Have you used Interfaces and encapsulation in your framework?
  • How did you handle reports and logs in your framework
  • What is a Static Keyword
  • Explain POM.
  • Write POM class for a login Page.
  • How to handle frames and Windows-based pop-ups in Selenium.
  • What are Authentication and Authorisation
  • Explain HTTP protocols.
  • Write automation script for login POST request using RESTAssured.(Hardcoded)
  • What are your achievements till now in your projects?
  • Have you implemented solid principles in your codes
  • What tools have you used for reporting and tracking
  • What is the bug life cycle?
  • Explain STLC
  • Write test data for a sample flight booking POST request.
  • Explain your sprint cycle and activities.
  • Have you worked on any CI/CD tools? How do you create Jobs and Nodes in Jenkins?
  • Basic git commands

2nd round was more of a managerial discussion, but it depends on how your first round goes. Based on that, they may ask a few more technical questions, depending on the person in front.

  • Introduce yourself
  • Explain your team structure and hierarchy
  • What clients have you worked for
  • Why do you want to change your company
  • How many env did you handle
  • Scenario: You get a mail in the morning from your lead that your test env is down. What will you do next?
  • Explain some critical issues and challenges your projects have faced
  • What are the things you would want to achieve with EPAM?
  • A few more questions were there related to the project and skills, and this is what I remember now.

Location: Hyderabad
Updated on: 06.07.2022

  • What are the types of STLC?
  • Explain Maven’s Life Cycle.
  • Program: In a given string, extract only the first name from the list in alphabetic descending order. It’s just an example. Not given exactly these inputs
    Input: Virat Kohli
    Input: Sachin Tendulkar
    Outputs: Virat Sachin
  • Git Commands
  • Git – How do you solve Merge conflict?
  • How do you execute failed test cases again?
  • Explain the oops concepts used in your project framework.
  • Suppose in Git generic one and hard-coded two repositories. Which one will you use?
  • TestNG Order of execution
  • About Project Framework
  • Java 8 features – lambda expressions
  • Why are collections used in Java?
  • Where maven dependency is stored in the local folder.
  • API Testing

Company Location: Pune, India
Attended on: 14.11.2021

I love open-source technologies and am very passionate about software development. I like to share my knowledge with others, especially on technology that's why I have given all the examples as simple as possible to understand for beginners. All the code posted on my blog is developed, compiled, and tested in my development environment. If you find any mistakes or bugs, Please drop an email to softwaretestingo.com@gmail.com, or You can join me on Linkedin.

Leave a Comment