Filter interviews by
My test automation framework is a modular, scalable solution that enhances testing efficiency and reliability across applications.
Utilizes Selenium WebDriver for browser automation, allowing for cross-browser testing.
Incorporates TestNG for test management, enabling parallel execution and detailed reporting.
Employs Page Object Model (POM) design pattern to enhance code reusability and maintainability.
Integrates wi...
OOP concepts like encapsulation and inheritance enhance test automation frameworks for better maintainability and scalability.
Encapsulation: Wrapping data and methods in classes. Example: A 'TestCase' class that contains test steps and results.
Inheritance: Creating a base class for common functionalities. Example: 'BaseTest' class that other test classes extend.
Polymorphism: Using a single interface for different ...
RTM stands for Requirements Traceability Matrix, a tool used to ensure all requirements are met in software development.
RTM links requirements to their corresponding test cases, ensuring coverage.
It helps in tracking changes in requirements throughout the project lifecycle.
Example: If a requirement changes, RTM shows which test cases need updates.
RTM aids in identifying gaps in testing and ensures all requirements...
Static binding occurs at compile time, while dynamic binding happens at runtime in Java.
Static binding is resolved during compile time, e.g., method overloading.
Dynamic binding is resolved during runtime, e.g., method overriding.
Static binding is faster as it doesn't involve runtime overhead.
Dynamic binding allows for polymorphism, enabling flexible code behavior.
Abstract classes and interfaces are key concepts in Java for defining abstract types and enforcing contracts for classes.
An abstract class can have both abstract methods (without implementation) and concrete methods (with implementation).
An interface can only have abstract methods (prior to Java 8) and default methods (from Java 8 onwards).
A class can extend only one abstract class but can implement multiple inter...
A Stale Element Reference Exception occurs when a web element is no longer attached to the DOM in Selenium.
Element Re-fetching: If you store a reference to a web element and the DOM changes, re-fetch the element before interacting with it.
Example: After clicking a button that causes a page refresh, the previously stored element reference will be stale.
Wait for Element: Use WebDriverWait to ensure the element is pr...
Selenium can fetch data from a table using index by locating elements and iterating through rows and cells.
Locate the table using XPath or CSS selectors, e.g., driver.findElement(By.xpath('//table')).
Use findElements to get all rows: List<WebElement> rows = driver.findElements(By.xpath('//table/tbody/tr')).
Iterate through rows and fetch data using index: String cellData = rows.get(rowIndex).findElements(By.t...
PUT replaces a resource, while PATCH updates a resource partially.
PUT is idempotent; multiple identical requests have the same effect as a single request.
PATCH is not necessarily idempotent; repeated requests may yield different results.
Example of PUT: Updating a user's profile by sending the entire profile data.
Example of PATCH: Updating just the user's email address without affecting other fields.
Taking a screenshot in automation testing captures the current state of the application for verification.
In Selenium WebDriver, use: driver.getScreenshotAs(OutputType.FILE);
For saving the screenshot: FileUtils.copyFile(screenshot, new File('path/to/save/screenshot.png'));
In Python with Selenium: driver.save_screenshot('screenshot.png')
In JavaScript with Puppeteer: await page.screenshot({ path: 'screenshot.png' });
Implementing robust handling for failed scenarios ensures reliability and aids in debugging within a QA framework.
Use logging to capture detailed error messages and stack traces for failed tests.
Implement retry logic for flaky tests to reduce false negatives. For example, retry a network call up to three times.
Categorize failures into critical and non-critical to prioritize fixes. Critical failures halt the pipeli...
I appeared for an interview in Feb 2025, where I was asked the following questions.
My test automation framework is a modular, scalable solution that enhances testing efficiency and reliability across applications.
Utilizes Selenium WebDriver for browser automation, allowing for cross-browser testing.
Incorporates TestNG for test management, enabling parallel execution and detailed reporting.
Employs Page Object Model (POM) design pattern to enhance code reusability and maintainability.
Integrates with CI...
OOP concepts like encapsulation and inheritance enhance test automation frameworks for better maintainability and scalability.
Encapsulation: Wrapping data and methods in classes. Example: A 'TestCase' class that contains test steps and results.
Inheritance: Creating a base class for common functionalities. Example: 'BaseTest' class that other test classes extend.
Polymorphism: Using a single interface for different data ...
RTM stands for Requirements Traceability Matrix, a tool used to ensure all requirements are met in software development.
RTM links requirements to their corresponding test cases, ensuring coverage.
It helps in tracking changes in requirements throughout the project lifecycle.
Example: If a requirement changes, RTM shows which test cases need updates.
RTM aids in identifying gaps in testing and ensures all requirements are ...
Static binding occurs at compile time, while dynamic binding happens at runtime in Java.
Static binding is resolved during compile time, e.g., method overloading.
Dynamic binding is resolved during runtime, e.g., method overriding.
Static binding is faster as it doesn't involve runtime overhead.
Dynamic binding allows for polymorphism, enabling flexible code behavior.
Abstract classes and interfaces are key concepts in Java for defining abstract types and enforcing contracts for classes.
An abstract class can have both abstract methods (without implementation) and concrete methods (with implementation).
An interface can only have abstract methods (prior to Java 8) and default methods (from Java 8 onwards).
A class can extend only one abstract class but can implement multiple interfaces...
A Stale Element Reference Exception occurs when a web element is no longer attached to the DOM in Selenium.
Element Re-fetching: If you store a reference to a web element and the DOM changes, re-fetch the element before interacting with it.
Example: After clicking a button that causes a page refresh, the previously stored element reference will be stale.
Wait for Element: Use WebDriverWait to ensure the element is present...
Selenium can fetch data from a table using index by locating elements and iterating through rows and cells.
Locate the table using XPath or CSS selectors, e.g., driver.findElement(By.xpath('//table')).
Use findElements to get all rows: List<WebElement> rows = driver.findElements(By.xpath('//table/tbody/tr')).
Iterate through rows and fetch data using index: String cellData = rows.get(rowIndex).findElements(By.tagNam...
Git commands are essential for version control, enabling collaboration and tracking changes in code repositories.
git init: Initializes a new Git repository in the current directory.
git clone <repository>: Creates a local copy of a remote repository.
git add <file>: Stages changes to be committed.
git commit -m 'message': Records the staged changes with a descriptive message.
git push: Uploads local commits to ...
PUT replaces a resource, while PATCH updates a resource partially.
PUT is idempotent; multiple identical requests have the same effect as a single request.
PATCH is not necessarily idempotent; repeated requests may yield different results.
Example of PUT: Updating a user's profile by sending the entire profile data.
Example of PATCH: Updating just the user's email address without affecting other fields.
Taking a screenshot in automation testing captures the current state of the application for verification.
In Selenium WebDriver, use: driver.getScreenshotAs(OutputType.FILE);
For saving the screenshot: FileUtils.copyFile(screenshot, new File('path/to/save/screenshot.png'));
In Python with Selenium: driver.save_screenshot('screenshot.png')
In JavaScript with Puppeteer: await page.screenshot({ path: 'screenshot.png' });
Implementing robust handling for failed scenarios ensures reliability and aids in debugging within a QA framework.
Use logging to capture detailed error messages and stack traces for failed tests.
Implement retry logic for flaky tests to reduce false negatives. For example, retry a network call up to three times.
Categorize failures into critical and non-critical to prioritize fixes. Critical failures halt the pipeline, w...
I applied via Campus Placement
I applied via LinkedIn and was interviewed in Apr 2023. There were 2 interview rounds.
I applied via Company Website and was interviewed in Mar 2023. There were 3 interview rounds.
Tell me about yourself and various question screening question why you want to join our company
I chose my program and Baker Hughes because of their strong reputation and opportunities for growth.
I chose my program because it aligned with my interests and career goals.
Baker Hughes is a renowned company in the field of engineering and offers excellent career prospects.
I was impressed by Baker Hughes' commitment to innovation and cutting-edge technology.
The company's global presence and diverse projects attracted m...
I had a tight deadline when I had to complete a project within 24 hours.
I prioritized tasks and created a detailed plan to meet the deadline.
I worked efficiently and focused on the most critical aspects of the project.
I communicated with team members to ensure everyone was aware of the deadline and their responsibilities.
I stayed organized and managed my time effectively to complete the project on time.
Top trending discussions
SQL query and Dynamic Programming problem.
Math games
I appeared for an interview before Mar 2024.
Coding test leetcode Medium
I applied via Recruitment Consulltant and was interviewed in Nov 2024. There was 1 interview round.
Question on stock prices
I applied via Company Website and was interviewed in Oct 2023. There were 5 interview rounds.
Hackerrank coding test
The duration of Baker Hughes interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 5 interview experiences
Difficulty level
Duration
based on 514 reviews
Rating in categories
Software Engineer
185
salaries
| ₹12.5 L/yr - ₹23 L/yr |
Senior Software Engineer
161
salaries
| ₹19 L/yr - ₹32.2 L/yr |
Lead Engineer
104
salaries
| ₹16 L/yr - ₹27 L/yr |
Procurement Specialist
54
salaries
| ₹4.8 L/yr - ₹11 L/yr |
Software Engineering Specialist
51
salaries
| ₹8 L/yr - ₹14.5 L/yr |
Reliance Industries
Shell
GAIL
Petrofac