Engineering Atlas › System Design Interviews

What interviewers look for in a system design round

14 min read · last reviewed 2026-10-17

Open in the interactive app: practice, quiz, mock interview →

In one minute

How it works

Why companies run them

Coding interviews say little about whether you can decide what to build when requirements are fuzzy, load is unknown and every option has a cost. That judgement is most of the job above entry level, and a poor partition key or consistency model can cost a team a year. The system design interview is a cheap, imperfect simulation of a design review, compressed into one hour with one reviewer.

The shape of a session

Almost every format follows the same arc, whatever the company calls it. The open curricula agree on the skeleton: the System Design Primer uses four steps (use cases and constraints, high-level design, core components, scaling) (System Design Primer), and Hello Interview budgets about 5 minutes for requirements, 10 to 15 for the high-level design and about 10 for deep dives (Hello Interview).

  1. Prompt. One sentence, deliberately underspecified. The ambiguity is the test: a candidate who starts drawing immediately has skipped the part that matters.
  2. Requirements. You agree the functional scope (three to five core features) and the non-functional targets (scale, latency, availability, consistency). You also say what is out of scope.
  3. Estimation. Enough arithmetic to make decisions: requests per second, storage growth, bandwidth, and the read to write ratio. The Estimation Cheatsheet covers the numbers.
  4. Interface. The main API calls or events, which pin down what the system actually does.
  5. High-level design. A diagram of clients, services, stores and queues, with one walk through the write path and one through the read path. Diagramming Tips covers how to draw it.
  6. Deep dives. Two or three hard parts, chosen by you or by the interviewer: the hot key, the fan-out, the exactly-once payment, the region failover.
  7. Wrap-up. Bottlenecks, failure modes, what you would build first, and what you would change at ten times the load.

What the interviewer is doing

While you talk, the interviewer takes notes against a rubric of four to six dimensions such as scoping, high-level design, technical depth, trade-offs and communication. Hello Interview's version has four: problem navigation, solution design, technical excellence, and communication and collaboration, and notes that companies use different words for the same things (Hello Interview). Some questions are hints in disguise: "how many writes per second is that?" usually means your design will not hold at that rate. Afterwards they write feedback with concrete quotes for a debrief or hiring committee. Their job is to produce evidence, so yours is to make your reasoning visible.

Variations and what it is not

Prompts split into product designs ("design Instagram"), which reward scoping and data modelling, and infrastructure designs ("design a distributed cache"), which reward internals and failure handling; Types of System Design Questions classifies them. Most entry-level roles have no system design round at all (Hello Interview). Mid-level loops are often interviewer-led; senior loops expect you to direct more of the session (interviewing.io). Some companies also split the round by role: Meta's Product Architecture interview is the system design round for product engineers and asks for user-facing products rather than, say, a load balancer (Hello Interview). It is not a trivia test: "use Kafka" earns nothing, while "an append-only partitioned log, so consumers can replay" earns a lot. Nor is it a test of memorised designs; interviewers twist familiar prompts ("now some links get 100,000 hits per second") to separate reasoning from recall.

Down the stack

Layer 1The contract

The human process is a structured interview. Google's re:Work guide names its four parts: vetted role-relevant questions, recorded feedback, standardised rubrics, and interviewer training and calibration, and reports that structured interviews predicted job performance better than unstructured ones in Google's own data (re:Work). The contract between candidate and company is that every candidate for a role gets a comparable prompt, is scored on the same named dimensions, and is judged on evidence written down during the session rather than on a gut feeling afterwards. Concretely, a hire signal on "technical depth" should be traceable to something you said, such as "they explained why a write-through cache doubles write latency and chose cache-aside instead". That is why silence hurts: an interviewer cannot record a thought you did not say aloud. It is also why a single strong deep dive can carry a session while a long, shallow tour of every component cannot.

Layer 2The mechanism

Underneath the rubric, the technical content follows a dependency chain, and each artefact unlocks the next. Requirements fix which operations exist. Estimates turn them into rates: 100 million daily users posting twice a day is about 2,300 writes per second on average. Rates plus the read to write ratio choose the shape: at 100 reads per write you design the read path first, with caching or precomputation. The API fixes the access patterns, which fix the data model and the partition key. Data model plus rates expose the hard parts: a post fanned out to 50 million followers, a counter hit 10,000 times a second, one inventory row everyone wants. Deep dives resolve those with named mechanisms such as consistent hashing, an idempotency key or a lease. Skip a link and the answer feels unanchored.

Layer 3The machine

A strong candidate can check a design against the hardware in their head. Memory access is about 100 ns and a random SSD read about 100 us (Napkin Math). The classic table puts a round trip inside a data centre at 0.5 ms, but those figures date from about 2012 (latency numbers); a 2026 re-measurement on cloud VMs gives about 100 us within a zone and 250 us within a region, with region-to-region round trips of 25 to 180 ms (Napkin Math). Treat 0.1 to 0.5 ms as the in-region range. A day has 86,400 seconds, so one million events a day is roughly 12 per second. A single well-tuned Postgres primary handles thousands to low tens of thousands of simple writes per second; a single Redis instance, which executes commands on one thread, does on the order of 100,000 simple operations per second without pipelining and far more with it (Redis docs). A 10 Gbit/s NIC moves about 1.25 GB per second. These numbers turn opinions into checks: "a 1 KB write at 50,000 per second is 50 MB/s, one disk can absorb that, but one Postgres primary probably cannot commit that many transactions, so we batch or shard." Most interviewers will not ask for the numbers directly. They notice whether your choices are consistent with them.

Why it's built this way

Design ability cannot be observed by watching someone build a real system, because that takes months, so companies compress it into an hour. An hour is too short to finish a real design, so the interview grades the process, not the output. Process is invisible unless spoken, so the format rewards narrating your reasoning. Interviewers are human and inconsistent, so companies add rubrics, written evidence and committees to reduce variance. And because seniority shows up mainly in judgement under ambiguity, the same open-ended format is used to decide your level as well as your hire.

Diagram

flowchart LR
    P["Vague prompt"] --> R["Requirements and scope"]
    R --> E["Estimates: QPS, storage"]
    E --> A["API and data model"]
    A --> H["High-level design"]
    H --> D["Deep dives: 2 or 3 hard parts"]
    D --> W["Wrap-up: failures, evolution"]
    R -.-> N["Interviewer notes vs rubric"]
    H -.-> N
    D -.-> N
    W -.-> N
    N --> C["Debrief: hire and level"]

Worked example

Here is a 45-minute plan for "design a URL shortener", with what the interviewer can write down at each stage.

Minutes 0 to 5, requirements. You settle on create, redirect and optional expiry, with click counts as a stretch goal and user accounts out of scope; redirects under 50 ms at p99. Evidence logged: "scoped before designing".

Minutes 5 to 8, estimates. 100 million new links a month is about 40 writes per second. At 100 reads per write, that is 4,000 redirects per second on average and perhaps 20,000 at peak. At 500 bytes a record that is 50 GB a month. Said aloud: "reads dominate and the hot set fits in memory, so the redirect path is a cache lookup." Evidence: "used numbers to drive a decision".

Minutes 8 to 12, API and data. POST /links {url, ttl} returns a code; GET /{code} returns a 301 or 302. The table is code -> (url, expires_at, owner), partitioned by code.

Minutes 12 to 24, high-level design: load balancer, stateless link service, key-value store, Redis cache, and an ID allocator handing out ranges.

Minutes 24 to 41, deep dives: base62 counters versus hashing (7 characters give 3.5 trillion codes), an in-process cache for a link at 100,000 requests per second, and 301 versus 302 (browser caching versus click counts).

Minutes 41 to 45, wrap-up: what fails first at ten times the load (the cache tier's network), and the build order. A candidate who finishes this arc with three real deep dives is in hire territory at most levels; how deep each dive went decides which level.

In the wild

Trade-offs

Approach in the roomStrengthsWeaknessesChoose when
Breadth first, then depthNever leaves a gap; shows structureRisks shallow deep dives if slowDefault for every prompt
Depth early on the known hard partShows expertise fastUnfinished design if it runs longThe prompt is obviously about one mechanism (rate limiter)
Interviewer-led, answer questionsLow risk of driftingWeak signal on ownership and leadershipJunior loops, or when the interviewer clearly has a script
Candidate-led, check in oftenStrong senior signalCan miss what the interviewer wanted to seeSenior and staff loops

Pitfalls in production

The interview mirrors real design reviews, and the same failures show up in both:

Leadership lens

Check yourself

  1. Why can a candidate with a correct final diagram still get a no-hire?

    Show answer

    The interviewer grades evidence of reasoning on a rubric. If the diagram was not justified by requirements and numbers, and no hard part was explored in depth, there is little evidence to record for scoping, depth or trade-offs.

  2. Why do estimates come before the high-level design?

    Show answer

    Rates and sizes decide the shape of the design, such as whether reads need a cache, whether one database is enough, or whether you need sharding. Without them component choices are arbitrary.

  3. An interviewer asks "what happens when this cache node dies?" during your high-level design. What is going on?

    Show answer

    Usually a hint that they want a deep dive on availability or that your design has a single point of failure; answer briefly with the failure behaviour and mitigation, then offer to go deeper.

  4. Why is saying "use Kafka" without a reason weak?

    Show answer

    It names a product without the property you need, so it gives no evidence that you understand why a partitioned log fits; the interviewer cannot tell recall from reasoning.

Sources and further study

Primary

Systems docs

Books

Other curricula

Watch

Free resources

Open in the interactive app: practice, quiz, mock interview →