QA Interview Hub · Knowledge base · Quizzes

System Design

How to answer a System Design interview

What exactly is assessed in QA System Design

System Design for Senior QA Automation consists of two different parts. The first part is designing a test system. You are asked to design a framework, a CI pipeline, a test data strategy or a testing strategy for microservices. The second part is understanding the backend. You are shown a diagram "client, load balancer, services, cache, DB, queue" and asked what could break here and how you would test it.

The interviewer doesn't expect a perfect architecture. They look at four things:

  • whether you ask clarifying questions instead of starting to draw at once;
  • whether you think about scale: the number of tests, teams, environments, run time;
  • whether you see the trade-offs and can explain why you chose one thing over another;
  • whether you can measure the result: metrics, pipeline SLAs, the flaky level.

A typical Middle candidate's mistake: starting with a tool. "Let's take Playwright and Allure" is not design, it is picking a library. A Senior starts with the problem: who the framework's users are, how many tests, what time constraints, what the business risks are.

For fintech add risks that the interviewer will definitely appreciate: money can't be debited twice, a balance can't go negative without permission, every operation must be traceable. If you naturally mention idempotency and audit, it is a strong signal.

In an interview: I understand System Design for QA as two things: how to build a scalable test system and how to test a distributed system while understanding its architecture. I always start with requirements and constraints, not tools, and finish with the metrics by which we will know the solution works.

Answer structure: requirements, layers, solution, trade-offs, metrics

To avoid getting lost over 40-60 minutes, stick to one scheme. It works both for a test framework and for a backend task.

  1. Requirements. Functional: what the system must do. Non-functional: how many tests, in what time, how many teams, which environments, which integrations. Clarify the numbers out loud.
  2. Layers. Break the system into blocks: for a framework these are tests, business steps, page objects and API clients, fixtures, config, reporting. For a backend these are the client, LB, services, storages, queues.
  3. Solution. For each layer say what exactly you do and why.
  4. Trade-offs. What you pay for the solution: speed versus isolation, infrastructure cost versus feedback time, data realism versus stability.
  5. Metrics. How you will know the solution worked: pipeline time, flaky rate, time to feedback on a PR, the number of bugs that reached production.
Requirements -> Layers -> Solution -> Trade-offs -> Metrics
  |          |         |           |            |
numbers    blocks    why so    what we pay   how we measure

A useful habit: after each block, briefly summarise and ask the interviewer whether to go deeper. That way you manage time and show that you can work with stakeholders.

In an interview: I answer by a scheme: first I clarify requirements and numbers, then break the system into layers, propose a solution for each, talk through the trade-offs and finish with success metrics. This keeps me from jumping into tool details before the problem is understood.

Which questions to clarify at the start

The first 5 minutes are the most important. Good clarifying questions immediately show your level. Here is a set worth having in your head.

For a test system:

  • How many tests are there now and how many in a year? Which types: unit, API, e2e?
  • What is the time target: feedback on a PR in 10 minutes or a nightly run?
  • How many teams write tests? One repository or several?
  • Which environments exist: local, ephemeral per PR, staging?
  • Which external dependencies: a payment provider, KYC, bank APIs?
  • What is the budget for CI infrastructure?

For a backend task:

  • What is the load: RPS, peak hours, growth?
  • What matters more: consistency or availability? For an account balance the answer is usually consistency.
  • What delivery guarantees does the queue have: at-least-once or something else?
  • Are there regulator requirements: audit, data retention, PCI DSS?

You don't need to ask all the questions. Choose the 4-6 most important, write down the answers and refer to them later. If the interviewer says "decide yourself", state your assumptions out loud: "Let's assume 2000 e2e tests, an average test of 20 seconds, a target of 15 minutes".

In an interview: I start with questions about scale, the time target, environments and external dependencies. If there are no numbers, I state assumptions out loud myself, so that all the calculations afterwards are transparent.