Epam Systems Overview
- www.epam.com
- Newtown, PA
- 10,001+ employees
- 1993
- Public Company
- Information Technology & Services
Epam Systems Interview Questions: Are you getting ready for an interview? Then, you must practice. Knowing what questions might be asked during your Epam Anywhere interview. This way, you can prepare your answers and feel confident.
Wouldn’t it be nice to know the exact questions asked for Test Engineer QA positions? We can’t read minds, but we can help. Here is a list of Epam Systems interview questions and answers that were asked before.
Post On: | Epam Systems Interview Questions |
Post Type: | Interview Questions |
Published On: | www.softwaretestingo.com |
Applicable For: | Freshers & Experience |
We have shared some questions for manual testing, selenium, and other testing topics. It’s a good idea to spend some time for comfortable with these questions before your Epam Systems interview.
We want to make this resource even better for testers like you! If you’ve recently interviewed at Epam Systems, we’d love to hear about your experience and the questions they asked.
Help Us Help Others!
Share your experience by emailing us at softwaretestingo.com@gmail.com.
Epam Systems Interview Questions For Automation Testing
Interview Location: Hyderabad
Experience: 8+
Interview Duration: 105 Min
Updated on: 21.07.2024
- Explain the automation framework
- What unit testing framework are you using
- What is difference in JUnit and TestNg
- How can you rerun failed test cases
- What CI/CD tool have you used
- Do you know how to create a parametrized pipeline job
- We need to save username of students, input username and print valid if it contains alphanumeric and invalid if it contains any special charcters or spaces or duplicate username. WAP in java or python to handle it
- WAP to count occurrences of characters in a string
- WAP to find the highest number from the array w/o using inbuilt method 10.WAP to reverse the string without using inbuilt method
- What is difference between string and string buffer
- What is difference between private, public and protected access modifiers 13.Collections framework heirarchy interfaces and their classes
- What is difference between hashtable and hashset
- What is difference between comparable and comparator
- Explain the exception heirarchy
- WAP to create a custom exception
- What is an interface and an abstract class?
- Why abstract class is allowed to have a constructor
- Difference between final, finally and finalize?
- Explain polymorphism
- WAP to override a function
- Do you know about Java 8
- What is java streams and lambda expression
- What is git rebase and get merge
- When to use git rebase
- What is functional interface
- What is difference in status code 401 and 403
- What is difference in oAuth 1.0 and oAuth2.0
- WAP using RestAssured library and include assertions that you would use in a get or post call
- What is the content type in oAuth2.0
- Write a SQL query using join (two tables were given and their column names)
- WAP to handle multiple windows in selenium
- WAP to capture screenshots in selenium
- How do you handle synchronisation in automation scripts
- Write the syntax for fluent wait
- WAP to read/write data from excel file
- What are the different stages of an Automation test
- What are different types of testing
- What is difference between priority and severity
- What are fields required to log a bug/defect
- What is a test plan, what are the things included in it
- Explain briefly different phases of SDLC
Source: Telegram Group
Interview Location: Hyderabad
Updated on: 21.07.2024
- How to handle cookies in selenium?
- Can we create a static class? What is a static keyword?
- what is clean code?
- Path and query parameters: what are these, and which is optional?
- Java 8 streams?
- Background keyword, Scenario Outline, Scenario, Data Table?
- Where do you run your test cases?
- Which version of selenium do you have to use
- Windows A, B, C, D, How do you switch to C and close it?
- How to handle dropdown? (By select class and alternate is by using findElements?
- Write a code using HashMap
Brian – 21
Lee – 22
Cathe – 45
Using key and value, find the average. - Multiple catch block
Try{}
Catch(Exception e){
Syso(A);
Catch(Arithmetic exception)
Syso(B);
The logic of parent and child exception
Source: Telegram Group
Interview Location: Hyderabad
Updated on: 21.07.2024
- When to use abstract class and when to use interface
- Why can’t we create the framework with all static methods?
- Int arr 1,2,3,4,5,7,8,9, Skip 3 and all elements after 3 and then skip 7, and then give some
- Implement hashmap in the interface and use it in the main
- Remove redundancy for a string.
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); } }
- Navigate to https://www.cricbuzz.com/
- Select “India” from the “teams” dropdown
- Go to the “stats” tab
- Save all the player’s name and AVG runs scored using Java collection and print all the player’s name who has the same AVG score
String input = “I am Rajesh, currently attending, interview with, abc systems”;
String output= “Rajesb am I, attending currently, with the 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(" "); reverse=reverse+reverse(s2)+","; } 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 string input, if the input string length is odd, then return the string with the middle three letters. If the 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); System.out.println(output); } public static String getMiddleThreeLetters(String input) { int length = input.length(); if (length <= 3) { return input; } else if (length % 2 == 0) { return ""; } else { 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 Selenium Page Factory?
- 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 capitalized.
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, dry run
- 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 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 customized/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[]){ try{ int a[]=new int[5]; a[5]=30/0; } 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" } ] }
EPAM MANAGERIAL ROUND:
- 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.
- I asked to write the explicit wait for an element to click and asked about the scenario in which if the code is explicitly written until the explicit wait is executed but the element is not getting clicked, 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 to them with an example: test an 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 whether the snarling plugin was is 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 serialization and deserialization in API? Which library have you 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?
Managerial:
- 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
Experience
I have applied for EPAM five times through the Naukri portal. The fifth time, the recruiter called to say 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.
Note: I tried to include all the questions, but I cannot remember all of their questions. I will edit this experience if I remember any.
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.
- He gave me 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 do you 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, State, and city, each 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 it, 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 that 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?
Tips: Never feel rejected if you don’t get a callback. Getting a new job or switching to a new job from an existing job is a process in itself, and it takes time. Please be confident and keep on updating yourself. You must stay motivated in this process and don’t ignore any job interview and a bad company profile.
Even if you don’t clear the interview, the experience will be beneficial in the coming interviews. Every interviewer asks for OOP concepts and real-time examples of OOP 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
Experience
Two rounds of interviews with initial codility programming test.
- The first Round is a unique, very lengthy, and detailed discussion that lasts around 100-110 Minutes and 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.
Questions
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 have you achieved in your projects till now?
- 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 related to the project and skills were there, and this is what I remember now.
Tips: EPAM has one of the best hiring processes. It involves detailed interviews, which are recorded and later reviewed (yes, they review it), and then your next rounds are decided. Prepare well for your first round, get a grip of not only theory but concepts, and if you appear for an experienced role, hands-on and real-time troubleshooting does matter.
Footnote: I was rejected in 3 Interviews back to back while starting and ending; I had around 5-6 offers. Keep persevering and never give up; it’s fun once you pass that thresh hold. All the Best 🙂
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
- SQL JOINS
Source: Telegram Group
Company Location: Pune, India
Attended on: 14.11.2021
- Program: How do you reverse an array in Java?
- What is the OOPs concept in Java?
- What is a singleton design pattern in Java?
- Rest API testing
- Scenario: While asking for selenium, he asked me to open www.epam.com and write XPath to get all the header links for Lift/elevator test cases.
- Security testing
- Jenkins
- Web application security testing
- SQL query: Employee with the second highest salary in an employee table
- Some selenium questions
- Unix commands and their uses
- List Testing techniques
- When should we automate tests in SDLC?