
EPAM Systems

300+ EPAM Systems Interview Questions and Answers
Q101. what are the design patterns you have used and explain them within your project context
I have used the Singleton, Factory, and Observer design patterns in my projects.
Singleton pattern: Used to ensure a class has only one instance and provides a global point of access to it. For example, I implemented a Logger class as a Singleton to manage logging throughout the application.
Factory pattern: Used to create objects without specifying the exact class of object that will be created. For instance, I used a Factory pattern to create different types of database conne...read more
Q102. Can you write a program that takes the input "aabbccaaa" and produces the output "2a2b2c3a"?
Yes, a program can be written to convert 'aabbccaaa' to '2a2b2c3a'.
Create a function that iterates through the input string and counts the consecutive characters.
Store the count and character in a new string as needed.
Return the final output string.
Q103. Solid design principles
Solid design principles are a set of guidelines for writing maintainable and scalable code.
Single Responsibility Principle - each class should have only one responsibility
Open/Closed Principle - classes should be open for extension but closed for modification
Liskov Substitution Principle - derived classes should be substitutable for their base classes
Interface Segregation Principle - clients should not be forced to depend on interfaces they do not use
Dependency Inversion Prin...read more
Q104. What are some methods for optimizing Spark performance?
Optimizing Spark performance involves tuning configurations, partitioning data, caching, and using efficient transformations.
Tune Spark configurations for memory allocation, parallelism, and resource management.
Partition data properly to distribute work evenly across nodes and minimize shuffling.
Cache intermediate results in memory to avoid recomputation.
Use efficient transformations like map, filter, and reduceByKey instead of costly operations like groupByKey.
Opt for column...read more
Q105. Internal working of Spring boot.
Spring Boot is a framework that simplifies the development of Java applications.
Spring Boot provides a pre-configured environment for building and deploying applications.
It uses an embedded server, such as Tomcat or Jetty, to run the application.
It also includes a variety of starter dependencies, which can be easily added to the project.
Spring Boot uses auto-configuration to automatically configure the application based on the dependencies added.
It also provides a variety of ...read more
Q106. Factory & Builder Design Pattern
Factory & Builder Design Patterns are creational patterns used in software development to create objects.
Factory Design Pattern is used to create objects without specifying the exact class of object that will be created.
Builder Design Pattern is used to construct complex objects step by step.
Factory pattern uses a factory method to create objects, while Builder pattern uses a builder class to construct objects.
Factory pattern is a class-based pattern, while Builder pattern is...read more
Q107. Detail implementation of arrayList and link List. Exception vs RunTime exception while creating your own customised class. Executors copy/write array java8 coding question using streams.
Explanation of arrayList, link List, Exception vs RunTime exception, Executors, copy/write array, and Java8 coding question using streams.
ArrayList and LinkedList are both implementations of the List interface in Java. ArrayList uses a dynamic array to store elements, while LinkedList uses a doubly linked list.
Exceptions are checked at compile time, while RuntimeExceptions are unchecked and occur at runtime. Custom classes can throw both types of exceptions.
Executors in Java ...read more
Q108. What is difference between comparator and comparable
Comparator is an interface used to sort objects, while Comparable is an interface used to define natural ordering of objects.
Comparator is used to define custom sorting logic for objects, while Comparable is used to define natural ordering based on a class's implementation of compareTo() method.
Comparator can be used to sort objects of different classes, while Comparable is used to sort objects of the same class.
Example: Sorting a list of Employee objects based on their salar...read more
Q109. What is difference between state object and state?
State object is a specific instance of a state, while state is a general concept representing the condition of a system.
State object is a concrete representation of a state in a program, containing specific values and properties.
State is an abstract concept that defines the overall condition or status of a system.
In iOS development, state object could refer to an instance of a class representing the current state of a view or component.
State, on the other hand, could refer to...read more
Q110. mule 4 vs mule 3
Mule 4 offers improved performance, enhanced error handling, and better support for modern integration patterns compared to Mule 3.
Mule 4 has a more streamlined and efficient runtime engine.
Mule 4 provides better error handling capabilities with the introduction of Try scope.
Mule 4 supports more modern integration patterns like reactive programming.
Mule 4 offers improved dataweave capabilities for data transformation.
Mule 4 has a more modular architecture, making it easier to...read more
Q111. What is Dependency Injection?
Dependency Injection is a design pattern in which components are given their dependencies rather than creating them internally.
Allows for better code reusability and testability
Promotes loose coupling between components
Dependencies are injected into a class through constructor, setter method, or interface
Commonly used in frameworks like Spring for managing dependencies
Q112. Write a terraform code for a resource?
Terraform code for creating an AWS EC2 instance
Define provider and resource block in main.tf file
Specify the AMI, instance type, key pair, and security group in the resource block
Run 'terraform init', 'terraform plan', and 'terraform apply' commands to create the EC2 instance
Q113. Which Selenium version is used in your project What are the latest features
We are using Selenium version 3.141.59 in our project. The latest features include improved Firefox support and better error handling.
Selenium version 3.141.59 is being used in our project
Improved Firefox support is one of the latest features
Better error handling is another latest feature
Q114. What is an example of an asynchronous business rule?
An asynchronous business rule is a rule that runs in the background without blocking the user interface.
Asynchronous business rules are commonly used for long-running processes that do not require immediate user interaction.
They can be used for tasks such as sending email notifications, updating records in bulk, or performing complex calculations.
An example of an asynchronous business rule could be a rule that triggers a workflow to automatically escalate a ticket if it has n...read more
Q115. What are the different types of server-side scripts?
The different types of server-side scripts include Business Rules, Script Includes, UI Policies, and Client Scripts.
Business Rules are used to define custom server-side logic that runs when a record is inserted, updated, or deleted.
Script Includes are reusable scripts that can be called from other scripts or business rules.
UI Policies are used to set mandatory or read-only fields on a form based on certain conditions.
Client Scripts are used to add client-side logic to forms a...read more
Q116. Keywords used while sourcing for a particular role, Boolean Search.
Keywords and Boolean search techniques are essential for sourcing candidates for specific roles in IT recruitment.
Use quotation marks for exact phrases (e.g. "software engineer")
Utilize Boolean operators like AND, OR, NOT to refine search results
Include relevant technical skills and certifications as keywords (e.g. Java, AWS, CISSP)
Q117. How will you handle data skewness in spark
Data skewness can be handled in Spark by using techniques like partitioning, bucketing, and broadcasting.
Partitioning the data based on a key column can distribute the data evenly across the cluster.
Bucketing can further divide the data into smaller buckets based on a hash function.
Broadcasting small tables can reduce the amount of data shuffled across the network.
Using dynamic allocation can also help in handling data skewness by allocating more resources to tasks that are t...read more
Q118. Can you describe some Architectural Patterns ?
Architectural patterns are reusable solutions to common problems in software architecture.
MVC (Model-View-Controller) - Separates an application into three main components: the model, the view, and the controller.
MVVM (Model-View-ViewModel) - Similar to MVC but with a ViewModel layer that manages the state and behavior of the view.
Flux - Unidirectional data flow pattern commonly used with React applications.
Microservices - Architectural style that structures an application as...read more
Q119. Do you configured some part of a CI/CD pipeline?
Yes, I have configured various parts of CI/CD pipelines.
I have set up automated builds using tools like Jenkins or GitLab CI.
I have configured automated testing processes within the pipeline.
I have integrated deployment scripts to automatically deploy code to different environments.
I have set up notifications for build status and deployment success/failure.
I have worked on optimizing and improving the efficiency of CI/CD pipelines.
Q120. write trigger
A trigger is a database object that automatically executes in response to certain events.
Triggers can be used to enforce business rules or data integrity.
They can be defined to execute before or after a data modification operation.
Triggers can be created using SQL statements.
Examples of events that can trigger a trigger include INSERT, UPDATE, and DELETE operations.
Q121. What is background keywoed and dry tag in cucumber
Background keyword and Dry tag are used in Cucumber for test automation.
Background keyword is used to define a set of steps that are common to all scenarios in a feature file.
Dry tag is used to define a set of steps that can be reused across multiple feature files.
Background keyword is written at the beginning of a feature file, while Dry tag is written in a separate file.
Background keyword is used to reduce code duplication and improve readability.
Dry tag is used to improve ...read more
Q122. What are the roles of a scrum master?
Scrum Master is responsible for facilitating the Scrum process and ensuring the team adheres to Scrum values, practices, and rules.
Facilitating Scrum events such as Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective
Removing impediments that prevent the team from achieving their goals
Coaching the team on Agile and Scrum principles and practices
Ensuring the team follows Scrum values and practices
Protecting the team from external distractions and interruptions...read more
Q123. create Shell script for 100 users on 5 different servers
Create a Shell script to add 100 users on 5 different servers.
Use a loop to create 100 users on each server.
Utilize the 'useradd' command to add users.
Ensure unique usernames for each user on each server.
Consider using SSH for remote server access.
Test the script on a single server before running on all servers.
Q124. Stock buy sell problem
Find the maximum profit by buying and selling stocks once.
Iterate through the array and keep track of the minimum price seen so far.
Calculate the profit by subtracting the current price with the minimum price.
Update the maximum profit if a higher profit is found.
Return the maximum profit at the end.
Q125. what are the time complexities of various data structures.
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 trees
Heaps - O(log n) for insert/delete, O(1) for find-mi...read more
Q126. latest project explanation with application architecture, tech stack used. Business logic implemented
Developed a web application for online shopping with microservices architecture using Node.js, Express, MongoDB, and React.
Implemented microservices architecture to improve scalability and maintainability
Used Node.js and Express for backend development
Utilized MongoDB for database management
Implemented React for frontend development
Implemented business logic for user authentication, product management, and order processing
Q127. Explain automation framework usd in your previous project?
The automation framework used in my previous project was a keyword-driven framework.
The framework was designed to allow testers to write test cases using keywords and reusable functions.
It provided a high level of abstraction, making it easy for non-technical team members to create and maintain test scripts.
Test data was stored in external files, making it easy to update without modifying the test scripts.
The framework supported multiple browsers and platforms for cross-brows...read more
Q128. How to handle error handling if those errors are not captured within application
Implement global error handling by setting up a centralized error logging system
Set up a centralized error logging system to capture errors that are not caught within the application
Implement try-catch blocks in critical sections of the code to handle unexpected errors
Utilize tools like Sentry or Rollbar to track and monitor errors in real-time
Regularly review error logs to identify patterns and address recurring issues
Establish a protocol for escalating critical errors to th...read more
Q129. 1) CI/CD pipelines 2) How do you architect frontend 3) Testing libraries e2e
CI/CD pipelines, frontend architecture, and e2e testing libraries are crucial aspects of software development.
CI/CD pipelines automate the process of testing and deploying code changes, ensuring faster and more reliable software delivery.
Architecting the frontend involves designing the structure, components, and interactions of the user interface to ensure scalability and maintainability.
E2E testing libraries like Selenium or Cypress are used to simulate user interactions and...read more
Q130. Create canBalance in javascript for substring in arrays whose sum is equal
Create a function in JavaScript to check if a substring in an array can be split into two parts with equal sum.
Iterate through the array and calculate the total sum of all elements.
Iterate through the array again and check if there is a point where the sum of elements on the left side is equal to the sum of elements on the right side.
Return true if such a point is found, otherwise return false.
Q131. What is the difference between Microservice Architecture & Monolithic service? Difference between Angular & AngularJS Difference between Nosql & Mysql
Microservice Architecture is a design pattern where an application is divided into smaller, independent services that communicate with each other. Monolithic service is a traditional approach where the entire application is built as a single unit.
Microservice Architecture divides an application into smaller services that are independently deployable and scalable.
Monolithic service is a single, self-contained unit where all components are tightly coupled.
Examples of Microservi...read more
Q132. How to reduce the repeated lines of code in Azure DevOps YML pipeline?
Use templates and parameterization to reduce repeated lines of code in Azure DevOps YML pipeline.
Create reusable templates for common tasks or stages in the pipeline
Use parameters to customize the behavior of the templates
Leverage YAML anchors and aliases to avoid duplication of code
Q133. How to set up project in jenkins
To set up a project in Jenkins, follow these steps:
Create a new project in Jenkins
Configure the project settings, including source code management and build triggers
Add build steps, such as running tests or deploying the application
Save the project configuration
Run the project to ensure it is set up correctly
Q134. What is the root class in Java and what it is used for
The root class in Java is the Object class, which is the parent class for all other classes in Java.
The Object class is used to provide common methods and behaviors that are inherited by all other classes.
It defines methods like toString(), equals(), and hashCode() that can be overridden by subclasses.
All classes in Java implicitly extend the Object class, either directly or indirectly.
For example, the String class extends the Object class.
Q135. what is ARC and how it is managed in iOS
ARC stands for Automatic Reference Counting, a memory management system used in iOS to automatically manage memory allocation and deallocation.
ARC automatically tracks and manages the memory used by objects in an iOS application.
It keeps track of the number of references to an object and deallocates the object when there are no more references to it.
ARC is enabled by default in Xcode for iOS projects, reducing the need for manual memory management.
Developers need to be carefu...read more
Q136. What is a iterative model
Iterative model is a software development model where the development process is divided into smaller iterations.
Iterative model involves repeating the development process in small cycles.
Each cycle involves planning, designing, building, testing and evaluating the software.
Feedback from each cycle is used to improve the software in the next cycle.
Iterative model is useful when requirements are not clear or keep changing.
Examples of iterative models include Agile and Scrum.
Q137. end to end project architecture.
The end-to-end project architecture involves designing and implementing the entire data pipeline from data ingestion to data visualization.
Data ingestion: Collecting data from various sources such as databases, APIs, and files.
Data processing: Cleaning, transforming, and aggregating the data using tools like Apache Spark or Hadoop.
Data storage: Storing the processed data in data warehouses or data lakes like Amazon S3 or Google BigQuery.
Data analysis: Performing analysis on t...read more
Q138. Similarity and difference between agents and job schedulers
Agents and job schedulers are both used for automation but have different functions.
Agents are software components that perform tasks on behalf of a user or another program.
Job schedulers are used to automate the execution of tasks at specific times or intervals.
Agents can be used to monitor and manage systems, while job schedulers are used to automate repetitive tasks.
Agents can be proactive in identifying and resolving issues, while job schedulers are reactive to predefined...read more
Q139. sql query to find unique records, what is truncate, abort,what are DML commands
SQL query to find unique records, truncate, abort, DML commands
To find unique records in SQL, you can use the DISTINCT keyword in your SELECT statement.
Truncate is a SQL command used to quickly delete all records from a table, but it cannot be rolled back.
Abort is a command used to cancel a transaction in SQL.
DML (Data Manipulation Language) commands in SQL include INSERT, UPDATE, DELETE.
Q140. Tell me abt urself, Java- Selenium , Logical , OOPs
I am a software tester with expertise in Java-Selenium, logical thinking, and OOPs concepts.
Proficient in Java programming language and Selenium automation tool
Strong logical and analytical skills to identify and resolve issues
In-depth understanding of Object-Oriented Programming concepts
Experience in creating and executing test cases, test plans, and test strategies
Familiarity with Agile methodology and continuous integration/continuous delivery (CI/CD) pipeline
Excellent com...read more
Q141. Tell me more about python scripting
Python scripting is a way to automate tasks using Python programming language.
Python scripting allows for automating repetitive tasks by writing scripts in Python.
It is commonly used for tasks like data processing, web scraping, and automation.
Python scripts can be run from the command line or integrated into larger applications.
Python's extensive standard library makes it easy to work with files, networks, and more.
Q142. Do you work with SQL or other tools? How you utilize them?
Yes, I work with SQL and other tools to analyze data and generate reports.
I use SQL to query databases and extract relevant information.
I also utilize tools like Microsoft Excel and Tableau for data visualization.
By combining SQL queries with Excel functions, I can create comprehensive reports for stakeholders.
Q143. What is the main purpose of Interfaces
Interfaces in software engineering are used to define a contract for classes to implement certain methods or properties.
Interfaces define a set of methods or properties that a class must implement.
They allow for polymorphism, where different classes can be treated as instances of the same interface.
Interfaces help in achieving loose coupling between classes.
They are commonly used in languages like Java and C#.
Example: defining an interface 'Shape' with methods like 'calculate...read more
Q144. Programming questions : 2nd duplicate element in array, Find missing element in sequential array, reverse of statement
Find the 2nd duplicate element in an array, identify missing element in sequential array, and reverse a statement.
To find the 2nd duplicate element in an array, iterate through the array and keep track of elements using a hashmap.
To identify the missing element in a sequential array, calculate the sum of all elements and find the difference with the expected sum.
To reverse a statement, split the statement into words, reverse the order of words, and then join them back togethe...read more
Q145. What is good requirement and bad requirements
Good requirements are clear, concise, and measurable while bad requirements are ambiguous, incomplete, and untestable.
Good requirements are specific and leave no room for interpretation
Good requirements are achievable and realistic
Bad requirements are vague and open to interpretation
Bad requirements are unrealistic or impossible to achieve
Good requirements are testable and verifiable
Bad requirements are untestable or difficult to verify
Q146. Find duplicate element from array
Find duplicate element from array of strings
Iterate through the array and store each element in a HashSet
If an element is already in the HashSet, it is a duplicate
Q147. Delete element from linked list
To delete an element from a linked list, update the pointers of the previous node to skip the node to be deleted.
Traverse the linked list to find the node to be deleted
Update the 'next' pointer of the previous node to skip the node to be deleted
Free the memory allocated to the node to be deleted
Q148. How do you know about epam?
EPAM is a global provider of software engineering and IT consulting services.
EPAM was founded in 1993 in Princeton, New Jersey.
It has offices in over 30 countries worldwide.
EPAM offers services in areas such as software development, testing, and consulting.
The company works with clients in various industries, including finance, healthcare, and retail.
Q149. Prototypes with examples, create a prototype that removes duplicate words from a sentence
Prototype to remove duplicate words from a sentence using an array of strings
Create a function that takes in a sentence as input
Split the sentence into an array of words
Use a Set data structure to store unique words
Iterate through the array of words and add each word to the Set
Convert the Set back to an array to get the unique words
Join the unique words back into a sentence
Q150. Find the kth Largest element of array using Stream API (java 8)
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
Q151. SQL Query to find highest salary of employee in each department
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
Q152. How you decline clients request if something is not feasible?
I would communicate openly and honestly with the client, explaining the reasons why their request is not feasible and offering alternative solutions.
Explain the limitations or constraints that prevent the request from being feasible
Offer alternative solutions or workarounds that could achieve a similar outcome
Communicate clearly and respectfully with the client to manage expectations
Q153. Methods in collections and their uses.
Methods in collections are used to manipulate and retrieve data from collections in programming.
Some common methods include add(), remove(), contains(), size(), and clear().
For example, the add() method is used to add an element to a collection, while remove() is used to remove an element.
The contains() method is used to check if a collection contains a specific element, while size() returns the number of elements in the collection.
Finally, the clear() method is used to remov...read more
Q154. Java 8 features. what you have used in your project
Used Java 8 features like lambda expressions, streams, and optional in my project.
Utilized lambda expressions to write concise and readable code.
Made use of streams for processing collections in a functional style.
Implemented optional to handle potentially null values more effectively.
Q155. What are decorators in python ?
Decorators in Python are functions that modify the behavior of other functions or methods.
Decorators are denoted by the @ symbol followed by the decorator function name.
They are commonly used for adding functionality to existing functions without modifying their code.
Decorators can be used for logging, timing, authentication, and more.
Example: @staticmethod decorator in Python is used to define a method that is not bound to a class instance.
Q156. css selectors and types
CSS selectors are used to target specific elements on a webpage for styling purposes.
CSS selectors can target elements based on their type, class, ID, attributes, and more
Examples: 'p' targets all
elements, '.class' targets elements with a specific class, '#id' targets elements with a specific ID
Combining selectors with spaces, commas, and other operators allows for more specific targeting
Q157. adaptive vs responsive
Adaptive design adjusts to different screen sizes based on predefined breakpoints, while responsive design fluidly resizes elements based on screen width.
Adaptive design uses predefined layouts for specific screen sizes
Responsive design fluidly adjusts elements based on screen width
Adaptive design may have fixed breakpoints for different devices
Responsive design is more flexible and can adapt to any screen size
Example: Adaptive design may have separate layouts for desktop, ta...read more
Q158. What are the different types of business rules?
Different types of business rules include client scripts, UI policies, data policies, and script includes.
Client scripts are used to run on the client side to perform actions or validations.
UI policies are used to set mandatory fields, read-only fields, or visibility conditions on forms.
Data policies are used to enforce data consistency and integrity by defining rules on fields.
Script includes are reusable scripts that can be called from other scripts or business rules.
Q159. How can input be passed to a workflow activity?
Input can be passed to a workflow activity using input parameters.
Define input parameters in the workflow activity
Pass values to the input parameters when starting the workflow
Access the input parameters within the workflow activity
Q160. What are some examples of Glide system objects?
Glide system objects are used in ServiceNow to interact with the platform and perform various operations.
GlideRecord
GlideSystem
GlideAggregate
GlideForm
GlideUser
Q161. What is a closure in Javascript?
A closure is a function that has access to its own scope, as well as the outer scope in which it was defined.
A closure allows a function to access variables from an outer function even after the outer function has finished executing.
Closures are commonly used to create private variables and functions in JavaScript.
Example: function outerFunction() { let outerVar = 'I am outer'; return function innerFunction() { console.log(outerVar); }; }
Q162. Can you describe some Design Patterns ?
Design patterns are reusable solutions to common problems in software design.
Creational Patterns: Singleton, Factory, Builder
Structural Patterns: Adapter, Decorator, Facade
Behavioral Patterns: Observer, Strategy, Command
Q163. Describe the benefits of using SSR (server side rendering)
SSR improves SEO, performance, and initial load time of web applications.
Improves SEO by serving fully rendered HTML to search engine crawlers
Enhances performance by reducing time to first paint and time to interactive
Faster initial load time for users, especially on slower network connections
Better support for social media crawlers and web scrapers
Enables content to be visible to users even if JavaScript is disabled
Q164. 403 status code meaning
403 status code means forbidden access to the requested resource.
403 status code indicates that the server understood the request but refuses to authorize it.
It is commonly used when the user does not have the necessary permissions to access the resource.
Examples include trying to access a restricted page without proper credentials or attempting to perform an action that requires higher privileges.
Q165. write linq queries to get order id and list of products (based on latest project)
Use LINQ queries to retrieve order id and list of products based on latest project.
Use OrderByDescending to get the latest project first
Join Order and Product tables on OrderId
Select OrderId and list of Products
Q166. Write a extension method to check a string length
Extension method to check string length
Create a static class with a static method that takes a string parameter
Use the string.Length property to get the length of the string
Return true if the length is greater than 0, false otherwise
Q167. print the count of words in a list
Count the number of words in a list of strings
Iterate through the list of strings
Split each string by spaces to get individual words
Increment a counter for each word encountered
Q168. 4. Array vs Vector. size() vs capacity(). memory allocation in vector.
Array vs Vector. size() vs capacity(). memory allocation in vector.
Array is a fixed-size container while vector is dynamic.
size() returns the number of elements in vector while capacity() returns the size of the allocated storage.
Vector allocates memory dynamically and can resize itself as needed.
Q169. Architecture of hive,types of hive table, file formats in hive, dynamic partition in hive
Hive architecture, table types, file formats, and dynamic partitioning.
Hive architecture consists of metastore, driver, compiler, and execution engine.
Hive tables can be of two types: managed tables and external tables.
File formats supported by Hive include text, sequence, ORC, and Parquet.
Dynamic partitioning allows automatic creation of partitions based on data.
Q170. How to break Singleton.. how to break oauth.
Breaking Singleton and OAuth requires different approaches.
For Singleton, create a subclass and override the constructor to return a new instance.
For OAuth, steal the access token or use a phishing attack to obtain user credentials.
For both, it's important to understand the security implications and only attempt in controlled environments.
Breaking Singleton violates the design pattern and can lead to unexpected behavior.
Breaking OAuth can compromise user data and lead to lega...read more
Q171. delete duplicates from table in spark and sql
To delete duplicates from a table in Spark and SQL, you can use the DISTINCT keyword or the dropDuplicates() function.
In SQL, you can use the DISTINCT keyword in a SELECT statement to retrieve unique rows from a table.
In Spark, you can use the dropDuplicates() function on a DataFrame to remove duplicate rows.
Both methods compare all columns by default, but you can specify specific columns to consider for duplicates.
You can also use the partitionBy() function in Spark to remov...read more
Q172. Introduce your experiance
I have over 8 years of experience in software development, specializing in backend development and system architecture.
Worked on designing and implementing scalable backend systems using Java and Spring framework
Led a team of developers in building a microservices architecture for a large e-commerce platform
Experience with cloud technologies such as AWS and Azure
Strong understanding of database design and optimization techniques
Q173. bean scopes in Spring boot
Bean scopes in Spring Boot determine the lifecycle and visibility of beans.
Singleton scope: Default scope, only one instance per Spring container
Prototype scope: New instance created each time bean is requested
Request scope: Bean created once per HTTP request
Session scope: Bean created once per HTTP session
Application scope: Bean created once per ServletContext
Q174. Collections Code to store objects using collections
Code to store objects using collections
Use ArrayList or LinkedList to store objects
Declare the collection with the appropriate data type
Add objects to the collection using the add() method
Example: ArrayList
names = new ArrayList (); names.add("John");
Q175. expectations from EPAM
I expect EPAM to provide challenging projects, opportunities for growth, a collaborative work environment, and support for continuous learning.
Challenging projects that allow me to utilize my skills and knowledge
Opportunities for professional growth and advancement within the company
A collaborative work environment where teamwork is valued
Support for continuous learning through training programs and resources
Q176. What are scrum and agile methodologies
Scrum and Agile are project management methodologies that prioritize flexibility, collaboration, and iterative development.
Agile is a broad approach to project management that emphasizes flexibility, customer satisfaction, and continuous improvement.
Scrum is a specific Agile methodology that focuses on iterative development cycles called sprints, daily stand-up meetings, and a product backlog.
Both methodologies prioritize collaboration between team members and stakeholders, a...read more
Q177. Explain Defects life cycle
Defects life cycle is a process that describes the stages of a defect from discovery to resolution.
Defect is identified and reported
Defect is assigned to a developer
Developer fixes the defect
Defect is retested by the tester
If the defect is still present, it is reopened
If the defect is fixed, it is closed
Q178. What features were introduced in Java 8?
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 implementations.
Q179. writing code using java8
Using Java 8 features to write efficient and concise code.
Utilize lambda expressions for functional programming
Use streams for processing collections in a more declarative way
Leverage default methods in interfaces for backward compatibility
Explore the new Date and Time API for improved handling of dates and times
Q180. What is the latest version of java?
The latest version of Java is Java 17.
Java 17 was released on September 14, 2021.
It comes with new features like sealed classes, pattern matching for switch statements, and more.
It also includes performance improvements and security updates.
Q181. What is lamda function
A lambda function is a small anonymous function defined without a name.
Used for short, simple operations
Can take any number of arguments, but can only have one expression
Commonly used in functional programming languages like Python
Q182. Explain SOLID principle.
SOLID is a set of five design principles to make software designs more understandable, flexible, and maintainable.
S - Single Responsibility Principle: A class should have only one reason to change.
O - Open/Closed Principle: Software entities should be open for extension but closed for modification.
L - Liskov Substitution Principle: Objects of a superclass should be replaceable with objects of its subclasses without affecting the program's correctness.
I - Interface Segregation...read more
Q183. Deep dive in Exceptional Handling
Exceptional handling is the process of identifying, catching, and responding to errors in software applications.
Exception handling is used to prevent application crashes and provide a graceful way to handle errors.
It involves using try-catch blocks to catch exceptions and handle them appropriately.
Logging and reporting exceptions is also important for debugging and improving application performance.
Best practices include using specific exception types, avoiding catching gener...read more
Q184. Why do we need Data Types
Data types are necessary for organizing and manipulating data in a structured manner.
Data types define the type of data that can be stored in a variable or object
They help in memory allocation and optimization
They enable type checking and prevent errors
Different data types have different properties and methods
Examples of data types include integers, strings, booleans, arrays, and objects
Q185. What Azure solutions have you worked with?
I have worked with Azure Data Factory, Azure Databricks, and Azure SQL Database.
Azure Data Factory for data integration and orchestration
Azure Databricks for big data processing and analytics
Azure SQL Database for relational database management
Q186. Code to create class , test methods and create object and call them.
Create a class, test methods, create object, and call them in code.
Create a class with properties and methods
Write test methods to test the functionality of the class
Instantiate an object of the class and call its methods
Q187. Static block in java, program to find duplicates from a given string in java
Static block is used to initialize static variables. Program to find duplicates in a string involves using a HashMap to store characters and their counts.
Create a HashMap to store characters and their counts
Iterate through the string and update the counts in the HashMap
Iterate through the HashMap and print characters with count > 1 as duplicates
Q188. Do you know about is MVP and give some example?
MVP stands for Minimum Viable Product, which is a version of a product with just enough features to satisfy early customers and provide feedback for future development.
MVP helps in quickly validating ideas and reducing time to market
It focuses on delivering core functionalities to test the product concept
Examples of MVPs include Dropbox offering basic file storage and sharing before adding more features
Q189. When we can say story is good user story?
A good user story is clear, concise, and focused on delivering value to the end user.
A good user story is written from the perspective of the end user.
It should be specific, measurable, achievable, relevant, and time-bound (SMART).
It should focus on delivering value to the end user and solving a specific problem or need.
A good user story should be independent, negotiable, valuable, estimable, small, and testable (INVEST).
Q190. Find the largest word in a list using Java Streams API
Find the largest word in a list using Java Streams API
Use Java Streams API to convert the array of strings to a stream
Use the 'max' method with a Comparator to find the largest word based on length
Return the largest word found
Q191. write singleton class to allow only 5 obj , for 6th report error
Singleton class to allow only 5 objects, report error for 6th
Create a private static variable to hold the instances of the class
Create a private constructor to prevent external instantiation
Provide a static method to access the singleton instance and limit the number of instances to 5
Throw an error when trying to create the 6th instance
Q192. How do you resolve conflicts with developers ?
I resolve conflicts with developers by fostering open communication, understanding their perspective, and finding mutually beneficial solutions.
Encourage open communication to understand each other's perspectives
Listen actively to the concerns and viewpoints of developers
Collaborate on finding mutually beneficial solutions
Focus on the end goal and prioritize the success of the project over personal differences
Q193. Joins window functions in spark, partition vs colsec, performance optimization techniques
The question is about joins, window functions, partition vs colsec, and performance optimization techniques in Spark.
Joins in Spark can be performed using various methods such as broadcast join, shuffle join, and sort-merge join.
Window functions in Spark allow us to perform calculations across a group of rows that are related to the current row.
Partitioning in Spark can be done based on columns or keys, and it affects the performance of operations such as joins and aggregatio...read more
Q194. How to design for input and output files?
Designing for input and output files involves considering file formats, data validation, error handling, and security measures.
Understand the requirements for input and output files, including file formats and data structures.
Implement data validation to ensure that input files meet the required format and content.
Include error handling mechanisms to address issues such as missing files or incorrect data.
Consider security measures such as encryption and access control to prot...read more
Q195. Small SQL challenge, to implement a query for given examples...
Implement a SQL query for given examples
Use SELECT statement to retrieve data from tables
Use WHERE clause to filter results based on conditions
Use JOIN clause to combine data from multiple tables if needed
Q196. what is execution context?
Execution context refers to the environment in which a piece of code is executed, including variables, scope, and this keyword.
Execution context includes variables, scope chain, and the value of the this keyword.
There are three types of execution contexts: global, function, and eval.
Each function call creates a new execution context, which is pushed onto the call stack.
Lexical environment and variable environment are part of the execution context.
Q197. what is middleware how to create custom middleware
Middleware is software that acts as a bridge between an operating system or database and applications, allowing them to communicate with each other.
Middleware is a layer of software that sits between the operating system and applications, providing services such as authentication, logging, and caching.
Custom middleware can be created in ASP.NET Core by implementing the IMiddleware interface and adding it to the application's request pipeline.
Middleware can be used to perform ...read more
Q198. Test ng annotations attributes parallel execution
TestNG annotations allow for parallel execution of test methods using attributes like 'parallel' and 'thread-count'.
TestNG annotations like @Test, @BeforeTest, @AfterTest can be used with attributes like 'parallel' to specify parallel execution of test methods.
The 'parallel' attribute can have values like 'methods', 'tests', 'classes', 'instances' to define the scope of parallel execution.
The 'thread-count' attribute can be used to specify the number of threads to be used for...read more
Q199. routing in angular
Routing in Angular allows navigation between different components in a single-page application.
Angular Router is a built-in library that provides navigation and routing functionality.
Routes are defined in the app-routing.module.ts file using RouterModule.forRoot() method.
Route parameters can be accessed using ActivatedRoute service in the component.
Lazy loading can be implemented to load modules only when needed for better performance.
Q200. What are triggers in Flow Designer?
Triggers in Flow Designer are events that initiate a flow when a specified condition is met.
Triggers are used to start a flow based on a specific event or condition
They can be configured to listen for events like record creation, updates, or deletions
Triggers can also be set to run on a schedule or at a specific time
Interview Process at EPAM Systems

Top Interview Questions from Similar Companies








Reviews
Interviews
Salaries
Users/Month

