Amazon logo

Amazon QA Engineer Interview Questions

40 practice questions for Amazon QA Engineer interviews

Amazon QA engineer interviews test automation frameworks, test strategy, CI integration, performance testing, and debugging complex multi-service systems.

All Roles Software Engineer Backend Engineer Frontend Engineer Full Stack Engineer Mobile Engineer Data Engineer Data Scientist ML Engineer DevOps Engineer DevOps Engineer Product Manager SRE Security Engineer Engineering Manager Data Analyst UX/UI Designer QA Engineer
coding Hard Verified Question #1

1. Binary Tree Cameras


Category: Binary tree coding problem
You are given the root of a binary tree. You need to install the minimum number of cameras on the tree nodes such that every node in the tree is...
Input: Binary tree
Output: Integer
coding Hard Verified Question #2

2. [CodeSignal] Warehouse Emergency Deliveries


Category: Array coding problem
Amazon has opened a new warehouse recently. There are no products in the warehouse currently. The warehouse is under inspection for n days. The...
Input: Array
Output: Integer
coding Hard Verified Question #3

3. [CodeSignal] Permutation Sorter


Category: Combinatorics coding problem
Amazon engineers are testing a new tool, the Permutation Sorter, built to reorder sequences using limited operations. Given a permutation of...
Input: Integer(s)
Output: Integer
coding Hard Verified Question #4

4. [CodeSignal] Maximum Product Rating


Category: Array coding problem
The engineers at Amazon are working on a new rating system for their products. For each product, an array customer_rating is maintained for the...
Input: Array
Output: Computed result
coding Medium Verified Question #5

5. [CodeSignal] Drone Hub Travel


Category: Array coding problem
Amazon is expanding its next-generation drone delivery network, consisting of m hubs arranged in a circular ring (Hub 1 is adjacent to Hub m)....
Input: Array
Output: Computed result
coding Medium Verified Question #6

6. [CodeSignal] Minimum Security Groups


Category: Array coding problem
A financial services company has requested AWS for a private deployment of its cloud network. There are n servers in the network where the security...
Input: Array
Output: Integer
coding Medium Verified Question #7

7. [CodeSignal] Maximum Secure Deliveries


Category: Array coding problem
You are given an array deliveryLogs of size n, where each element represents the number of parts delivered in the i-th log. You are also given...
Input: Array
Output: Integer
coding Medium Verified Question #8

8. Maximum Interval Overlap


Category: Interval-based coding problem
You are given a list of closed intervals on the number line, where each interval [start, end] includes both endpoints. Find the maximum number of...
Input: List
Output: Integer
coding Hard concurrency #1

1. [OA] Parallel Test Execution — Design an efficient framework for running Amazon's QA tests in parallel

To accommodate the high scale of Amazon's services, test automation needs to perform efficiently. This requires creating a robust framework that can handle concurrent test executions without resource bottlenecks.
Implement a class named ParallelTestRunner with the following methods:
- executeTests(tests: List[Test]): List<Result] - Executes a list of tests in parallel and returns their results.
- addTest(test: Test): None - Adds a test to the runner.
Example 1:
Input: tests = [Test1, Test2, Test3]
Output: [Result1, Result2, Result3]
Explanation: The tests are executed simultaneously, returning their results in a list.
Constraints:
- 1 <= tests.length <= 1000
- Each test must not exceed 2 seconds of execution time.
system design Medium test automation #2

2. [OA] Flaky Test Detector — Create a system to identify and manage flaky tests in Amazon’s CI pipeline

Flaky tests can severely affect Amazon's release process. A mechanism to detect and provide insights into flaky tests will be essential for maintaining code quality.
Design a class FlakyTestDetector with the following methods:
- addTestExecution(testName: str, result: bool): None - Adds a result of a test execution to the detector.
- getFlakyTests(): List[str] - Returns a list of tests identified as flaky based on historical results.
Example 1:
Input: addTestExecution('LoginTest', true) followed by addTestExecution('LoginTest', false)
Output: ['LoginTest']
Explanation: The test failed inconsistently, marking it as flaky.
Constraints:
- Each test name is unique and of length 1 to 100.
- Results can only be true or false.
system design Senior distributed systems #3

3. [OA] Load Test Orchestrator — Build a system for orchestrating load tests at Amazon scale

As Amazon expands its cloud services, verifying performance under high load is critical. An orchestrator must manage multiple load test scenarios efficiently.
Create a class LoadTestOrchestrator with the following methods:
- scheduleLoadTest(testName: str, duration: int): None - Schedule a load test with a specified duration.
- executeTests(): List[Result] - Execute all scheduled load tests and return their results.
Example 1:
Input: scheduleLoadTest('API_Load_Test', 300) followed by executeTests()
Output: [Result]
Explanation: All scheduled tests are executed, returning results in a list.
Constraints:
- Duration is a positive integer less than or equal to 3600 seconds.
system design Medium api design #4

4. [OA] Test Result Aggregator — Build a system that compiles test results from multiple sources

As Amazon continues to expand its automated testing capabilities, it becomes critical to consolidate results from varied testing environments. This requires a robust class design.
Design a class TestResultAggregator with the following methods:
- addResult(testName: str, result: bool): None - Adds a test result for the specified test.
- getSummary(): Dict[str, int] - Returns a summary of passed and failed tests.
Example 1:
Input: addResult('LoginTest', true) followed by addResult('SignupTest', false)
Output: {'passed': 1, 'failed': 1}
Explanation: 1 test passed, and 1 test failed.
Constraints:
- Test names are unique strings of length 1 to 100.

Related Amazon QA Engineer interview prep

Start practicing Amazon questions

Sign up for free to access walkthroughs, AI-generated questions, and more.

Get Started Free