Interview practice

QA Automation Engineer

0–2 years · Junior — Selenium / Playwright · API testing · Test design · CI integration · Python / Java · Debugging

0–2 years 2–5 years 5–8 years 8+ years
technical API testing 1 of 6
You receive a 500 Internal Server Error when calling an endpoint with a valid payload. What steps do you take to diagnose the issue?
What a strong answer covers

Checks the API documentation for expected response; reviews server logs for error details; verifies the payload structure and required headers; tests with a reduced payload to isolate the issue; uses a tool like Postman to replicate the request.

The follow-up you would get

The logs indicate a database connection issue. What would you check next?

Could you have answered that?
technical Flaky tests 2 of 6
You notice that one of your tests fails 30% of the time without any code changes. What steps do you take to diagnose and fix the flakiness?
What a strong answer covers

Analyzes the test to determine if it depends on timing or external factors; implements retries with exponential backoff; checks for race conditions or timing dependencies; reduces reliance on hard-coded values; reviews the environment for stability.

The follow-up you would get

If the test is dependent on external APIs, what strategies would you employ?

Could you have answered that?
scenario API Testing 3 of 6
You discover that one of the APIs you are testing has changed, but no one informed the testing team. How do you handle this situation?
What a strong answer covers

Reviews the API specifications or documentation for changes; runs a comparison between old and new responses; updates the tests accordingly; communicates the changes to the development team; considers adding a monitoring solution for future changes.

The follow-up you would get

The changes are frequent and often undocumented. What steps do you take to ensure your tests remain in sync?

Could you have answered that?
ownership A disagreement with a developer 4 of 6
Tell me about a time when you disagreed with a developer about a bug's severity. How did you handle it?
What a strong answer covers

Describes the specific bug and its context; explains the differing viewpoints clearly; outlines the discussion process, including how data or evidence was presented; describes any adjustments made to the testing approach; reflects on the outcome and whether it improved collaboration.

The follow-up you would get

What could you have done differently to prevent the disagreement?

Could you have answered that?
ownership A decision that cost 5 of 6
Describe a situation where you chose not to automate a test, and what led to that decision.
What a strong answer covers

Identifies a specific test case; explains the reasoning behind the decision, considering factors like stability, frequency of changes, or test execution time; describes alternative solutions implemented; reflects on the impact of the decision on the team and project; avoids blaming external factors.

The follow-up you would get

What feedback did you receive from the team about that decision?

Could you have answered that?
technical Debugging 6 of 6
You have a test that runs successfully in isolation but fails when run with the full suite. What is your approach to debug this?
What a strong answer covers

Runs the tests in smaller batches to identify the conflicting tests; checks for shared state or dependencies between tests; uses logging to gather more context on the failure; verifies the test order does not impact results; considers flakiness due to timing issues.

The follow-up you would get

What tools can you use to help identify flakiness in tests?

Could you have answered that?
That is this set.

Load six more — you will get questions you have not seen first.

Give me six more →

Say your answer out loud before revealing. Reading the answer first feels like learning and is not.