EPAM Systems
300+ Interview Questions and Answers
Q1. Write a program to check if a string or integer is palindrome or not? write the output For a Given multiple inheritance program? write the output for a given method overriding program?
Programs to check palindrome and output for multiple inheritance and method overriding
Palindrome program can be implemented using string or integer reversal and comparison
Output for multiple inheritance program depends on the specific implementation
Output for method overriding program depends on the specific implementation
Q2. OOPS Concepts : what is abstraction? what is encapsulation? How do you achieve abstraction in python? what are private and protected access specifiers ?
Abstraction and encapsulation are OOPS concepts. Achieving abstraction in Python is through abstract classes and interfaces. Private and protected access specifiers restrict access to class members.
Abstraction is the process of hiding implementation details and showing only the necessary information to the user.
Encapsulation is the process of wrapping data and methods into a single unit and restricting access to them from outside the unit.
In Python, abstraction is achieved th...read more
Q3. what is generator ? what are the advantages of generators over iterators? what is lambda function? give an example? what is the difference between list and tuple?
Questions on Python concepts - generators, iterators, lambda functions, lists, and tuples.
Generators are functions that return an iterator and can be paused and resumed. They save memory and improve performance.
Iterators are objects that can be iterated upon and return data one at a time. They are less memory-efficient than generators.
Lambda functions are anonymous functions that can take any number of arguments and return a single expression. Example: lambda x: x*2
Lists and ...read more
Q4. Explain OOPS Concept? What is Polymorphism and Types of polymorphism? Write Code for compile time and Run time Polymorphism? What are singleton class and factory method? What is Exception and Exception Hierarch...
read moreJava interview questions on OOPS concepts, polymorphism, exceptions, data structures, and threading.
OOPS concepts include encapsulation, inheritance, and polymorphism.
Polymorphism refers to the ability of an object to take on multiple forms.
Singleton class is a class that can only have one instance, while factory method is a method that creates objects.
Exception is an error that occurs during program execution, with a hierarchy of exceptions.
Volatile keyword is used to indica...read more
Q5. Write code for printing duplicate numbers in a list.
Code to print duplicate numbers in a list.
Iterate through the list and keep track of the count of each number using a dictionary.
Print the numbers that have a count greater than 1.
Q6. What is implicit wait and explicit wait ? write a xpath for a given element on a page? what are the different exceptions in selenium? How will you handle multiple windows in Selenium? what is stale element exce...
read moreExplaining implicit and explicit waits, handling multiple windows and exceptions in Selenium
Implicit wait: Wait for a certain amount of time before throwing an exception if the element is not found
Explicit wait: Wait for a certain condition to be met before proceeding with the next step
XPath example: //input[@id='username']
Exceptions in Selenium: NoSuchElementException, TimeoutException, ElementNotVisibleException, StaleElementReferenceException
Handling multiple windows: Swit...read more
Q7. what is the difference between testing and quality assurance?
Testing is the process of identifying defects while quality assurance is the process of preventing defects.
Testing is a reactive process while quality assurance is a proactive process.
Testing is focused on finding defects while quality assurance is focused on preventing defects.
Testing is a subset of quality assurance.
Quality assurance involves the entire software development process while testing is limited to the testing phase.
Examples of quality assurance activities includ...read more
Q8. Implementation of hashmap in Java 8, Bean lifecycle, difference between @Component and @Service, Front Controller, difference between PUT & PATCH, Authentication in REST APIs, how to disable junit test cases in...
read moreThe interview question covers topics like hashmap implementation in Java 8, bean lifecycle, annotations in Spring framework, HTTP methods, REST API authentication, and disabling junit test cases during deployment.
HashMap in Java 8 uses an array of linked lists to store key-value pairs, with the hash code of the key determining the index in the array.
Bean lifecycle in Spring framework involves initialization and destruction phases, managed by the container.
@Component and @Serv...read more
Q9. Difference between get fetch and git pull? what is git stash? What is git rebase? Tell the branching flow in your project? what is your Software model ? Explain your day to day activities and your sprint cycle?...
read moreQuestions related to Git, software model, Docker, and CI/CD for Senior QA Automation Engineer position.
get fetch retrieves changes from the remote repository without merging them into the local branch
git pull retrieves changes from the remote repository and merges them into the local branch
git stash temporarily saves changes that are not ready to be committed
git rebase integrates changes from one branch into another by reapplying each commit on top of the destination branch
br...read more
Q10. What Is The SQL Query Used To Find The 2nd Highest rated movie? what are joins in SQL? Difference between inner join and outer join? WHat is self join?
SQL query to find the 2nd highest rated movie and explanation of joins and self join.
To find the 2nd highest rated movie, use the following SQL query: SELECT TOP 1 rating FROM (SELECT DISTINCT TOP 2 rating FROM movies ORDER BY rating DESC) ORDER BY rating ASC
Joins are used to combine data from two or more tables based on a related column.
Inner join returns only the matching rows from both tables, while outer join returns all rows from both tables and fills in null values for ...read more
Q11. What is the difference between Test Plan and Test strategy
Test plan is a detailed document that outlines the testing approach and activities. Test strategy is a high-level document that outlines the testing objectives and methods.
Test plan is more detailed than test strategy
Test plan includes specific test cases and test scenarios
Test strategy outlines the overall testing approach and objectives
Test strategy is created before the test plan
Test strategy is reviewed and updated regularly
Q12. How to create and handle complex primary key in Spring Data JPA
Complex primary keys in Spring Data JPA can be created using @EmbeddedId or @IdClass annotations
Use @EmbeddedId annotation to create a composite primary key using an embeddable class
Use @IdClass annotation to create a composite primary key using a separate class for the key fields
Implement equals() and hashCode() methods in the embeddable or separate key class for proper comparison and hashing
Q13. How do you post a request in API automation? How do you get its response? How do you perform authentication in API automation? what is page object model?
To post a request in API automation, we use tools like Postman or RestAssured. Authentication is performed using tokens or API keys. Page Object Model is a design pattern used in automation testing.
To post a request, we need to specify the endpoint URL, request method, headers, and body parameters.
We can use tools like Postman or RestAssured to post requests and get responses.
Authentication can be performed using tokens or API keys.
Page Object Model is a design pattern used i...read more
Q14. What is smoke testing ? what is regression testing?
Smoke testing is a quick and shallow test to ensure the basic functionality of an application. Regression testing is a comprehensive test to ensure that changes made to the application do not affect its existing functionality.
Smoke testing is performed after a new build is received and before regression testing.
Smoke testing is a subset of regression testing.
Regression testing is performed after changes are made to the application.
Regression testing ensures that the existing ...read more
Q15. what is smoke testing, sanity testing and regression testing? what is bug life cycle? what is traceability matrix?
Smoke testing, sanity testing and regression testing are types of software testing. Bug life cycle is the process of a bug from discovery to resolution. Traceability matrix is a document that links requirements to test cases.
Smoke testing is a quick test to check if the basic functionalities of the software are working after a new build.
Sanity testing is a quick test to check if the major functionalities of the software are working after a small change.
Regression testing is a...read more
Q16. what are fixtures in pytest? what are markers in pytest? what is the robotframework architecture? How do you write a test case in robotframework? how do you generate reports in robotframework
Answers to questions related to pytest and robotframework
Fixtures in pytest are functions that provide a fixed baseline for tests to run on
Markers in pytest are used to mark tests with metadata such as priority or category
Robotframework architecture consists of test libraries, test cases, and keywords
Test cases in robotframework are written in a tabular format using keywords and arguments
Reports in robotframework can be generated using the built-in report generation tool or b...read more
Q17. Given a matrix, when you encounter a 0, make all the elements in the corresponding row and column to 0.
Given a matrix, replace rows and columns with 0 when encountering a 0.
Iterate through the matrix and store the row and column indices of 0s in separate sets.
Iterate through the sets and update the corresponding rows and columns to 0.
Q18. How do you make an object immutable, followed by how will you make a collection within your immutable object immutable as well so that the state doesn’t change
To make an object immutable, use final keyword for fields and provide only getters. To make a collection immutable, use Collections.unmodifiableList() or similar methods.
Use final keyword for fields in the object to prevent them from being modified
Provide only getters for the fields to ensure they cannot be changed externally
For collections within the object, use Collections.unmodifiableList() or similar methods to create an immutable view of the collection
Q19. How do you give all rwx permissions to a file ? How do you search for a specific text in a file ?
To give all rwx permissions to a file, use chmod 777 filename. To search for specific text in a file, use grep 'text' filename.
To give all rwx permissions to a file, use the chmod command followed by 777 and the filename.
Example: chmod 777 myfile.txt
To search for specific text in a file, use the grep command followed by the text and the filename.
Example: grep 'hello' myfile.txt
Q20. Find the triplets in an array whose sum is 0 , complexity - O(n2)
Use nested loops to iterate through array and find triplets with sum 0.
Iterate through array with two nested loops to find all possible pairs.
For each pair, check if there is a third element that completes the triplet with sum 0.
Store the triplets found in a separate array.
Q21. Write code to print reverse of a sentence word by word.
Code to print reverse of a sentence word by word.
Split the sentence into words using space as delimiter
Store the words in an array
Print the words in reverse order
Q22. What is requirement traceability matrix.. compatibility Testing
Requirement Traceability Matrix is a document that links requirements to test cases. Compatibility testing checks if software works on different platforms.
Requirement Traceability Matrix (RTM) is used to ensure that all requirements are tested and covered in test cases.
RTM helps in tracking the progress of testing and ensures that all requirements are met.
Compatibility testing is done to ensure that software works on different platforms, browsers, and devices.
Compatibility te...read more
Q23. what is CI/CD? Xtreme Programming and Kanban
CI/CD is a software development approach that emphasizes continuous integration, testing, and delivery.
CI/CD stands for Continuous Integration/Continuous Delivery
It involves automating the software development process to ensure that code changes are frequently and consistently tested and deployed
Xtreme Programming (XP) is an Agile software development methodology that emphasizes teamwork, communication, and feedback
Kanban is a Lean manufacturing technique that emphasizes visu...read more
Q24. Execute a command to show whether httpd service is running or not
Command to check httpd service status
Use the command 'systemctl status httpd' to check the status of httpd service
If httpd service is running, the output will show 'active (running)'
If httpd service is not running, the output will show 'inactive (dead)'
Q25. Explain STLC .. difference between water fall and Agile methodologies
STLC is Software Testing Life Cycle which includes planning, designing, executing and reporting. Waterfall is a linear approach while Agile is iterative.
STLC is a process of testing software from planning to reporting
Waterfall is a linear approach where each phase is completed before moving to the next
Agile is an iterative approach where testing is done in short cycles called sprints
In Waterfall, testing is done at the end of the development cycle while in Agile, testing is d...read more
Q26. What documents will you produce durimg and sfter testing phase
I will produce test plan, test cases, test scripts, defect reports, and test summary report.
Test plan outlining the testing approach and scope
Test cases with steps, expected results, and actual results
Test scripts for automation
Defect reports with steps to reproduce and severity
Test summary report with overall results and recommendations
Q27. What's difference between stack memory and heap memory
Stack memory is used for static memory allocation while heap memory is used for dynamic memory allocation.
Stack memory is allocated at compile-time while heap memory is allocated at runtime.
Stack memory is limited in size while heap memory can grow dynamically.
Stack memory is automatically managed by the system while heap memory must be manually managed.
Examples of stack memory include function call stack and local variables while examples of heap memory include objects creat...read more
Q28. What are the ways to iterate on collections
Ways to iterate on collections in software engineering
For loop
While loop
Foreach loop
Iterator
Stream API
Lambda expressions
Q29. Why does pega suggest not to have framework layer while designing application stack ?
Pega suggests not having a framework layer in the application stack to avoid unnecessary complexity and maintainability issues.
Pega recommends a flat application stack to simplify the design and development process.
Having a framework layer can introduce unnecessary complexity and increase the learning curve for developers.
A flat application stack allows for easier maintenance and upgrades as there are no dependencies on a separate framework layer.
Pega provides built-in featur...read more
Q30. Difference between cache and persist, repartition and coalesce.
Cache and persist are used to store data in memory. Repartition and coalesce are used to change the number of partitions.
Cache stores the data in memory for faster access while persist allows the user to choose the storage level.
Repartition increases the number of partitions while coalesce decreases the number of partitions.
Cache and persist are transformations while repartition and coalesce are actions.
Cache and persist are used for iterative algorithms while repartition and...read more
Q31. Working of Kafka, the flow of a message, using partitions, load balancing with Consumers.
Kafka is a distributed streaming platform that allows for the flow of messages through topics, partitions, and consumers.
Kafka is a distributed streaming platform that allows producers to publish messages to topics.
Topics are divided into partitions, which allow for parallel processing and scalability.
Producers can specify a key for a message, which determines the partition to which the message will be sent.
Consumers can subscribe to one or more partitions within a topic to r...read more
Q32. How to make a list immutable in custom objects
To make a list immutable in custom objects, use the 'tuple' data type instead of 'list'.
Replace the 'list' data type with 'tuple' to create an immutable list.
Tuples are similar to lists but cannot be modified once created.
Immutable lists provide data integrity and prevent accidental modifications.
Q33. Elaboration of Spark optimization techniques. Types of transformations, shuffling.
Spark optimization techniques include partitioning, caching, and using appropriate transformations.
Partitioning data can improve performance by reducing shuffling.
Caching frequently used data can reduce the need for recomputation.
Transformations like filter, map, and reduceByKey can be used to optimize data processing.
Shuffling can be minimized by using operations like reduceByKey instead of groupByKey.
Broadcasting small data can improve performance by reducing network traffi...read more
Q34. OOPS, Interface, Why to use interface, how to implement run time polymorphism, real time example of interface
Interface in OOPS is used to achieve abstraction and multiple inheritance. It allows for run time polymorphism by implementing methods in different classes.
Interface in OOPS is a blueprint of a class that includes abstract methods without any implementation.
Interfaces are used to achieve abstraction, multiple inheritance, and loose coupling in code.
To implement run time polymorphism using interfaces, create multiple classes that implement the same interface and override its m...read more
Q35. How to validate text displayed n html tag is a expected
To validate text displayed in HTML tag, use getText() method and compare with expected text.
Locate the HTML tag using appropriate locator strategy
Use getText() method to retrieve the text displayed in the tag
Compare the retrieved text with the expected text using assertion libraries like JUnit or TestNG
Q36. Output list of palindrome strings from a given string.
Output list of palindrome strings from a given string.
Iterate through each substring in the given string and check if it is a palindrome.
Use two pointers approach to check if a substring is a palindrome.
Store palindrome substrings in an array and return the array.
Q37. Coding task - check specific characters in a string , proposed solution with string regex match
Check specific characters in a string using regex match
Use regex pattern to match specific characters in the string
For example, to check for digits in a string: /[0-9]/
Use regex.test() method to check if the pattern exists in the string
Q38. What is the difference b/w Interface and abstreact class
Interface is a contract that defines the methods a class must implement, while abstract class can have both abstract and concrete methods.
Interface cannot have any implementation, while abstract class can have both abstract and concrete methods.
A class can implement multiple interfaces but can only inherit from one abstract class.
Interfaces are used to achieve multiple inheritance in Java, while abstract classes are used to provide a common base for subclasses.
Interfaces are ...read more
Q39. Experience in Platform/Legacy App modernization
I have experience in modernizing legacy applications and platforms.
I have worked on migrating monolithic applications to microservices architecture.
I have experience in refactoring code to make it more modular and maintainable.
I have worked on upgrading outdated technologies to newer versions.
I have experience in containerization using Docker and Kubernetes.
I have worked on cloud migration projects, moving applications to AWS and Azure.
Q40. How do you compare files in Unix
Files can be compared in Unix using the diff command.
Use the 'diff' command followed by the two file names to compare them.
The output will show the differences between the two files.
Use the '-y' option to display the differences side by side.
Use the '-q' option to only show if the files are different or not.
Use the '-r' option to compare files in directories recursively.
Q41. What are the components of test cases
Components of test cases include test case ID, test case description, test steps, expected results, actual results, and status.
Test case ID: unique identifier for the test case
Test case description: brief description of the test case
Test steps: detailed steps to execute the test case
Expected results: expected outcome of the test case
Actual results: actual outcome of the test case
Status: pass/fail status of the test case
Q42. What are the different type of operating models used in Collibra?
Collibra uses centralized, decentralized, and federated operating models.
Centralized operating model: decision-making authority is held by a central team or individual.
Decentralized operating model: decision-making authority is distributed across different teams or individuals.
Federated operating model: a combination of centralized and decentralized models, with some decisions made centrally and others made by distributed teams.
Example: Collibra may use a centralized operatin...read more
Q43. What risks do you see in Test completion
Incomplete testing can lead to undetected defects and potential risks in production.
Undetected defects can cause system failures and downtime.
Incomplete testing can lead to security vulnerabilities.
Lack of testing can result in poor user experience and customer dissatisfaction.
Incomplete testing can lead to increased maintenance costs and longer development cycles.
Q44. Hive types of tables and difference between them
Hive has two types of tables - Managed and External. Managed tables are managed by Hive, while External tables are managed outside of Hive.
Managed tables are created using 'CREATE TABLE' command and data is stored in Hive's warehouse directory
External tables are created using 'CREATE EXTERNAL TABLE' command and data is stored outside of Hive's warehouse directory
Managed tables are deleted when the table is dropped, while External tables are not
Managed tables have full control...read more
Q45. Use of unsubscribe in angular and practical benefit of onDestroy?
Unsubscribe in Angular is used to clean up resources and prevent memory leaks. ngOnDestroy is a lifecycle hook that is called when a component is destroyed.
Unsubscribe is used to prevent memory leaks by unsubscribing from observables when a component is destroyed.
onDestroy is a lifecycle hook in Angular that is called when a component is destroyed, allowing for cleanup tasks to be performed.
Practical benefit of using onDestroy is to release resources, such as unsubscribing fr...read more
Q46. write shell script to look for a file of not exists it should create?
Shell script to check for a file and create it if it does not exist
Use the 'test' command to check if the file exists
If the file does not exist, use 'touch' command to create it
Q47. Saucelab or browserstack which one you use, what the purpose of use
I use both Saucelab and Browserstack for different purposes. Saucelab for automated testing and Browserstack for manual testing.
I use Saucelab for automated testing as it provides a cloud-based platform for running tests on multiple browsers and devices.
I use Browserstack for manual testing as it allows me to interact with the application in real-time on various browsers and devices.
Saucelab is great for continuous integration and regression testing, while Browserstack is use...read more
Q48. Linked List - find middle element in the linked list
To find the middle element in a linked list, use two pointers - one moving at twice the speed of the other.
Initialize two pointers - slow and fast - both pointing to the head of the linked list
Move the slow pointer one step at a time and the fast pointer two steps at a time
When the fast pointer reaches the end of the linked list, the slow pointer will be pointing to the middle element
Q49. How do you map requirement to test cases
Requirements are mapped to test cases by analyzing the requirements and creating test cases that cover all the aspects of the requirement.
Analyze the requirement document thoroughly
Identify the key functionalities and features
Create test cases that cover all the aspects of the requirement
Ensure that the test cases are traceable to the requirement
Review and validate the test cases with stakeholders
Q50. Difference between RDD, Dataframe, Dataset.
RDD, Dataframe, and Dataset are data structures in Apache Spark with different characteristics and functionalities.
RDD (Resilient Distributed Datasets) is a fundamental data structure in Spark that represents an immutable distributed collection of objects. It provides low-level APIs for distributed data processing and fault tolerance.
Dataframe is a distributed collection of data organized into named columns. It is similar to a table in a relational database and provides a hig...read more
Q51. Write an ansible playbook to install and start datadog?
Ansible playbook to install and start Datadog
Use Ansible's package module to install Datadog agent package
Use Ansible's service module to start the Datadog service
Ensure proper configuration settings are applied in the playbook
Q52. Exception handling in a microservice architecture
Exception handling is crucial in microservices to ensure fault tolerance and reliability.
Each microservice should have its own exception handling mechanism.
Exceptions should be logged and monitored for analysis and improvement.
Use circuit breakers and retries to handle transient errors.
Consider using a centralized exception management system for better visibility.
Ensure error messages are clear and informative for easier debugging.
Q53. which is best architecture you have seen yet?
The microservices architecture is the best architecture I have seen so far.
Scalability: Allows for independent scaling of different components
Resilience: Failure in one service does not bring down the entire system
Flexibility: Easier to update and deploy new features
Decentralization: Each service can be developed and deployed independently
Q54. Connecting Spark to Azure SQL Database.
Spark can connect to Azure SQL Database using JDBC driver.
Download and install the JDBC driver for Azure SQL Database.
Set up the connection string with the appropriate credentials.
Use the JDBC API to connect Spark to Azure SQL Database.
Example: val df = spark.read.jdbc(jdbcUrl, tableName, connectionProperties)
Ensure that the firewall rules for the Azure SQL Database allow access from the Spark cluster.
Q55. how spark procss data in parlell.
Spark processes data in parallel using its distributed computing framework.
Spark divides data into partitions and processes each partition independently.
Tasks are executed in parallel across multiple nodes in a cluster.
Spark uses in-memory processing to speed up data processing.
Data is processed lazily, allowing for optimizations like pipelining.
Spark DAG (Directed Acyclic Graph) scheduler optimizes task execution.
Example: Spark can read data from HDFS in parallel by splittin...read more
Q56. Different senarios on different gcp services
Different scenarios on different GCP services
Scenario 1: Using Cloud Storage for storing and accessing large amounts of data
Scenario 2: Utilizing Cloud Functions for serverless computing and event-driven applications
Scenario 3: Implementing Cloud SQL for managing relational databases in the cloud
Q57. How can we adapt the frontend to different view of devices?
Responsive design using media queries and flexible layouts to adapt frontend to different devices.
Use media queries in CSS to apply different styles based on screen size
Utilize responsive frameworks like Bootstrap or Foundation for pre-built responsive components
Implement flexible layouts using percentage-based widths and max-width properties
Optimize images for different screen resolutions using srcset and sizes attributes
Test the frontend on various devices and screen sizes ...read more
Q58. What are the advantages of using Typescript? mention your favorite features
Typescript offers advantages like static typing, improved code quality, better tooling support, and easier refactoring.
Static typing helps catch errors at compile time
Improved code quality due to type checking
Better tooling support with features like code navigation and auto-completion
Easier refactoring with the help of type annotations
Faster development with enhanced IDE support
Q59. What are design pattern in case management?
Design patterns are reusable solutions to common problems in case management.
Factory pattern for creating cases
Singleton pattern for managing case data
Observer pattern for notifying stakeholders of case updates
Decorator pattern for adding additional functionality to cases
Strategy pattern for selecting appropriate case handling strategies
Q60. Selenium solution for practical scenarios Eg handle signages
Selenium can handle signages by locating elements using XPath or CSS selectors and interacting with them.
Locate the signages using unique identifiers like class, id, or text
Use Selenium's findElement() method to locate the element
Interact with the element using click(), sendKeys(), getText() methods
Use explicit waits to ensure the element is visible and clickable
Q61. 1) Write selenium code using testng for login page for valid and invalid logon
Selenium code using TestNG for login page for valid and invalid logon
Create a TestNG class with test methods for valid and invalid login scenarios
Use Selenium WebDriver to navigate to the login page and locate the username and password fields
Enter valid or invalid credentials and submit the form
Use TestNG assertions to verify the expected outcome of the login attempt
Q62. How to configure OKTA security for a connect rest method
Configure OKTA security for a connect rest method
Create an OKTA account and configure the security settings
Generate an API token in OKTA and use it in the REST method
Add the OKTA authorization header to the REST request
Test the REST method with OKTA authentication
Q63. How to build different environments in Aws using Terraform?
To build different environments in AWS using Terraform, follow these steps:
Create a Terraform configuration file for each environment
Define the resources needed for each environment in the configuration file
Use Terraform commands to initialize, plan, and apply the configuration for each environment
Use variables to customize each environment
Use modules to reuse code across environments
Q64. What is hoisting,closure,event loop?
Hoisting, closure, and event loop are key concepts in JavaScript.
Hoisting is the JavaScript behavior where variable and function declarations are moved to the top of their containing scope.
Closure is the combination of a function bundled together with references to its surrounding state (lexical environment).
Event loop is a mechanism that allows JavaScript to perform non-blocking operations by offloading tasks to the browser's APIs and queuing them in a loop.
Q65. Explain the architecture of the current project.
The current project follows a microservices architecture.
The project is divided into multiple small services that communicate with each other through APIs.
Each service is responsible for a specific functionality.
The services are deployed independently and can be scaled as per the requirement.
The architecture allows for easy maintenance and updates.
Examples of services include user management, payment gateway, and inventory management.
Q66. WAP to find sum of even numbers from given array using LinQ Contructors Code to define Interface Code to define Abstract class
WAP to find sum of even numbers from given array using LinQ. Code to define Interface and Abstract class.
Use LinQ's Where() method to filter even numbers
Use Sum() method to find the sum of filtered even numbers
Interface: define methods without implementation
Abstract class: can have both implemented and unimplemented methods
Q67. Different testing types? Verification and validation? Explain process of bug life cycle? Daily activities in ur project and what are different meetings ? More practical orientation questions!
Questions related to software testing and bug life cycle
Different testing types include unit testing, integration testing, system testing, acceptance testing, and more
Verification ensures that the software meets the specified requirements, while validation ensures that the software meets the customer's needs
Bug life cycle includes stages like new, assigned, open, fixed, verified, and closed
Daily activities may include test planning, test execution, defect reporting, and statu...read more
Q68. Difference between Re testing and Regression testing Framework of your automation project How do you debug errors in scripts
Retesting is testing the same functionality again after fixing the defects while regression testing is testing the entire system after making any changes.
Retesting is done to ensure that the defects found in the previous test cycle have been fixed
Regression testing is done to ensure that the changes made to the system have not introduced any new defects
Retesting is a subset of regression testing
Regression testing is time-consuming and requires a lot of effort
Framework of auto...read more
Q69. what is equals and hashcode and does Object class implement equals method ?
equals and hashcode are methods in Java used for comparing objects and generating hash codes respectively. Object class does implement equals method.
equals method is used to compare two objects for equality. It is overridden in most classes to provide custom comparison logic.
hashcode method is used to generate a unique integer value for an object. It is used in hash-based collections like HashMap.
Object class does implement equals method, but it uses reference equality (==) f...read more
Q70. What is different between forkjoin and join
ForkJoin is a method used in parallel programming to split tasks into smaller subtasks and join is used to wait for the completion of those subtasks.
ForkJoin is used for parallel processing, while join is used for synchronization.
ForkJoin allows tasks to be split into smaller tasks that can be executed concurrently, while join waits for all tasks to complete before proceeding.
In Java, ForkJoin framework provides ForkJoinPool for executing ForkJoinTasks, while join is a method...read more
Q71. Program to check if a sentence has all the alphabet with optimized complexity.
Use a boolean array to track presence of each alphabet in the sentence.
Create a boolean array of size 26 to track presence of each alphabet.
Iterate through the sentence and mark the corresponding index in the array as true.
Check if all elements in the array are true to determine if sentence has all alphabets.
Q72. design pattern mule 4
Design patterns in Mule 4 help in structuring and organizing code for better maintainability and scalability.
Mule 4 supports various design patterns such as scatter-gather, choice, splitter, aggregator, etc.
Design patterns help in solving common integration challenges and promoting best practices.
For example, using scatter-gather pattern to send a request to multiple services in parallel and aggregate the responses.
Q73. mule 4 design api test
Designing API tests for Mule 4
Use MUnit for testing Mule 4 APIs
Write test cases to cover all possible scenarios
Mock external dependencies for isolated testing
Use assertions to validate API responses
Q74. How to handle if the requirement are not clear or ambiguous
Clarify requirements with stakeholders and document assumptions.
Schedule a meeting with stakeholders to discuss the unclear requirements.
Document assumptions made based on unclear requirements.
Create test cases based on assumptions and seek clarification from stakeholders.
Collaborate with development team to ensure requirements are met.
Track changes to requirements and update test cases accordingly.
Q75. How monotholic applications are broken down to microservices
Monolithic applications can be broken down to microservices by identifying cohesive and loosely coupled components and separating them into independent services.
Identify the business capabilities of the application
Identify the cohesive and loosely coupled components
Separate the components into independent services
Define the interfaces between the services
Implement the services using appropriate technology stack
Deploy the services in a scalable and fault-tolerant manner
Q76. Can you mention some popular hacker attacks?(xxs, sql injection, etc)
Some popular hacker attacks include XSS (Cross-Site Scripting) and SQL Injection.
XSS (Cross-Site Scripting) - attackers inject malicious scripts into web pages viewed by other users
SQL Injection - attackers insert malicious SQL code into input fields to manipulate database queries
Q77. How do you handle sprint planning?
I handle sprint planning by involving the team, prioritizing tasks, and setting achievable goals.
I involve the team in the planning process to ensure everyone is on the same page
I prioritize tasks based on their importance and urgency
I set achievable goals that align with the project timeline and budget
I regularly communicate with the team to ensure progress is being made and adjust plans as needed
Q78. How to run maven test using maven command
To run Maven test using Maven command, use 'mvn test' command.
Open command prompt or terminal
Navigate to the project directory
Run 'mvn test' command
Wait for the tests to complete
Q79. what is window function in sql
Window function in SQL is used to perform calculations across a set of table rows related to the current row.
Window functions are applied to a set of rows related to the current row, known as a window frame.
They can be used to calculate running totals, ranks, averages, and more.
Examples of window functions include ROW_NUMBER(), RANK(), SUM(), AVG(), and LEAD().
Q80. Difference between Job scheduler and queue processor
Job scheduler schedules jobs to run at specific times while queue processor processes jobs in a queue.
Job scheduler is time-based while queue processor is event-based
Job scheduler is used for scheduling tasks like backups, updates, etc.
Queue processor is used for processing tasks like sending emails, processing orders, etc.
Job scheduler can be used to trigger a queue processor to process a job
Queue processor can handle multiple jobs concurrently while job scheduler handles on...read more
Q81. How can you count the google pages shown on searching result of Google SE.?
To count the Google pages shown on search result, you can look at the page numbers at the bottom of the search results.
Scroll to the bottom of the search results page to see the page numbers.
Each page number represents a different page of search results.
Count the total number of page numbers to determine the total number of Google pages shown.
Q82. You are from Kanpur(up),Why Kanpur Central Railway station is famous for ?
Kanpur Central Railway station is famous for being one of the busiest and largest railway stations in India.
One of the busiest and largest railway stations in India
Serves as a major transportation hub for the region
Connects Kanpur to various parts of the country
Historical significance as an important railway junction
Q83. How Kubernetes runs applications and expose to outside world
Kubernetes runs applications in containers and exposes them through services and ingress controllers.
Kubernetes uses containers to package and run applications.
Services provide a stable IP address and DNS name for accessing the application.
Ingress controllers route traffic from outside the cluster to the appropriate service.
Kubernetes also supports load balancing, scaling, and rolling updates for applications.
Examples of Kubernetes tools for managing applications include kube...read more
Q84. What are other principles apart from SOLID for best coding practices.
Other principles for best coding practices include DRY, KISS, YAGNI, and design patterns.
DRY (Don't Repeat Yourself) - Avoid duplicating code by creating reusable functions or classes.
KISS (Keep It Simple, Stupid) - Write simple and easy-to-understand code rather than overcomplicating it.
YAGNI (You Aren't Gonna Need It) - Only implement functionality that is needed at the present moment, avoiding unnecessary features.
Design Patterns - Follow established design patterns like S...read more
Q85. Terraform state files and where are they stored?
Terraform state files store the current state of infrastructure managed by Terraform.
State files are JSON files that contain information about the resources being managed by Terraform.
They are stored locally by default, but can also be stored remotely in a backend like S3 or Consul.
State files should be treated as sensitive information and stored securely.
Terraform uses state files to plan and apply changes to infrastructure.
State files can be manually edited, but this is not...read more
Q86. Discuss project and it's architecture.
Developed a data pipeline to process and analyze customer behavior data.
Used Apache Kafka for real-time data streaming
Implemented data processing using Apache Spark
Stored data in Hadoop Distributed File System (HDFS)
Used Tableau for data visualization
Q87. What happens when the Liskov Substitution principle breaks?
Code becomes less maintainable and can lead to unexpected behavior.
Violates the principle of substitutability, leading to unexpected behavior in subclasses.
May result in code that is harder to understand and maintain.
Can lead to bugs and errors that are difficult to trace back to the violation of the principle.
Example: If a subclass overrides a method in a way that changes its behavior significantly, it can break the Liskov Substitution principle.
Q88. 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
Q89. Write an extended method, which will accept locator and timeout, if method is visible before timeout, return success else return failure
Create a method to check if element is visible within a specified timeout
Create a method that accepts a locator and timeout as parameters
Use a loop to check if the element is visible within the specified timeout
Return success if the element is visible before timeout, else return failure
Q90. 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
Q91. 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
Q92. 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
Q93. 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
Q94. 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
Q95. 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
Q96. 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.
Q97. 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
Q98. 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
Q99. 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
Q100. 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
Interview Process at null
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month