Chapter Three

A Framework for
System Design Interviews

Open-ended design questions feel chaotic only when you walk in without a plan. Here is a four-step routine that turns the next 45 minutes into a guided conversation about tradeoffs.

Format12 slides TopicInterview craft Navigation← → · Space · F
02 · What is actually being measured
The hidden rubric

The interviewer is grading a thought process, not a finished blueprint.

No real system fits on a whiteboard in an hour. What the panel is really probing for is how you reason under ambiguity, how you choose between imperfect options, and how you collaborate while doing it.

1

Problem framing

Can you turn a vague prompt into a concrete, bounded problem with explicit assumptions and target scale?

2

Component reasoning

Do you know which building blocks exist, what each is good and bad at, and how they snap together?

3

Tradeoff fluency

When you pick something, can you name what you gave up — latency, cost, consistency, operational complexity?

4

Collaboration

Do you absorb hints, change course gracefully, and treat the interviewer as a teammate rather than a judge?

03 · The four-step framework
A repeatable spine for any prompt

Four phases. Same order. Every time.

Whether the question is a chat app, a ride-share dispatcher, or a metrics pipeline, the same loop applies. Run it deliberately and the interview stops feeling like improv.

1

Understand & scope

Clarify what is in and out of bounds. Pin down functional requirements, scale targets, and any constraints that change the design.

2

Sketch the high-level design

Put the major boxes on the board, draw the arrows between them, and agree the data model and primary APIs before zooming in.

3

Deep dive

Pick the one or two components the interviewer cares about. Go down a level into algorithms, schemas, partitioning, failure modes.

4

Wrap up

Name the bottlenecks, sketch how you would scale further, and outline what monitoring and operations would look like in production.

Steps are sequential, but you may return to step 1 if a deep dive uncovers a missed requirement

04 · Step 1 — Understand & scope
Step one

Clarifying questions are not a delay — they are the design.

The biggest losses in this round come from solving a problem the interviewer did not ask. Before drawing anything, surface assumptions out loud and write the agreed scope in the corner of the board.

Functional requirements — what must it do?

  • Core user actions: which two or three flows are non-negotiable?
  • Out of scope: name features you are explicitly skipping
  • Read or write heavy? The answer flips the architecture

Non-functional requirements — how well?

  • Scale: daily active users, peak QPS, payload size
  • Latency & availability: target p99 and uptime SLO
  • Consistency: can stale reads be tolerated, or not?
  • Constraints: region, regulation, on-prem, mobile-first
Vague prompt "Design a feed" CLARIFYING QUESTIONS Who posts? Who reads? How many users? Photos? Real-time or eventual? Bounded scope 10M DAU · text+photo · eventual no DMs · no notifications

Narrowing the prompt before any boxes are drawn

05 · Step 2 — Propose a high-level design
Step two

Boxes, arrows, and a contract — agree on the skeleton before adding muscle.

Sketch the main components and how requests flow between them. Briefly cover the API surface and what the core entities look like. Keep it deliberately shallow; depth comes in step three.

Client web / mobile Load balancer + TLS, rate limit API service stateless, N replicas Cache hot reads Primary DB sharded by user_id Queue async work Workers fan-out, indexing Skeleton, not finished product

Five or six boxes is plenty at this stage

What to put on the board

  • Clients & entry point: load balancer or gateway
  • Stateless services: the request path
  • Storage: primary DB, cache, blob store
  • Async path: queue, workers, batch jobs

Anchor with a concrete contract

  • 3–4 API endpoints with method, path, and key fields
  • 2–3 core entities with their primary key and biggest fields
  • Pick SQL vs NoSQL and say why in one sentence
06 · Step 3 — Deep dive
Step three

Follow the interviewer's pointer. Go one level deeper on the components they care about.

This is where most of the signal is produced. The interviewer almost always nudges you — "let's talk about how the feed is generated" or "what happens if a worker dies mid-job?" Take the hint. Pick one or two components and unpack them.

A

Candidate components to unpack

  • Data layer: schema, partition key, indexes, hot keys
  • Cache strategy: write-through vs aside, TTL, invalidation
  • Async pipeline: at-least-once, idempotency, dead-letters
  • A specific algorithm: ranking, dedup, geo-search, rate-limit
  • Failure modes: what if this box dies, this region goes dark?
B

How to dive without drowning

  • Quantify first: "we expect 50k writes/sec, so a single Postgres won't fit"
  • Name the option set: two or three real alternatives
  • Pick one, name the cost: "I'll shard by user_id; cross-user queries get harder"
  • Stress-test it: walk a write and a read through your design out loud
  • Stop when satisfied: don't ramble past the answer
If the interviewer redirects you, drop the current thread immediately and follow the new pointer. The redirect is the signal, not an interruption.
07 · Step 4 — Wrap up
Step four

Close the loop. Show that you know the design is not yet production-ready.

A strong candidate spends the last few minutes proving they can see their own design clearly — what would break first, what they would build next, and how they would know if something were going wrong.

1

Call out the bottlenecks

Be specific: "the write path through a single primary will saturate at roughly X QPS; the cache miss storm on cold start is the other risk."

2

Sketch the next moves

Shard the DB further, add a read replica per region, batch writes via a buffer, introduce a CDN — frame them as the next conversation, not promises.

3

Operate it

What do you log, what do you alert on, what's the SLI? Mention deploys, on-call, and one or two failure-recovery playbooks.

Useful closing line: "Given more time, the first thing I'd revisit is X, because I made a tradeoff there I'm least confident about." Owning uncertainty reads as senior.
08 · Time budget
Pacing matters as much as content

A 45-minute interview, roughly budgeted.

Keep a quiet eye on the clock. The most common failure mode is spending 25 minutes on clarifications and never reaching a real design.

1 · Understand & scoperequirements, scale, constraints
~8 min
2 · High-level designboxes, arrows, APIs, data model
~12 min
3 · Deep diveone or two components, tradeoffs
~18 min
4 · Wrap upbottlenecks, next moves, ops
~5 min
Buffer / interviewer Q&A
~2 min

For a 60-minute slot, scale each block proportionally — but keep the deep-dive share the largest.

09 · Communicating effectively
How you talk is part of the answer

Think out loud. Ask before assuming. Narrate the tradeoff every time you choose.

A silent ten minutes at the whiteboard is the most expensive ten minutes of the round. The interviewer can only score what they hear.

A
Externalise the thinking

"I'm considering two options here — a single relational store, or splitting reads and writes…" Say the words before drawing.

B
Confirm, don't assume

If a requirement could swing the design, ask. "Are uploads larger than a few MB? It changes whether I'd put them through the API path."

C
Narrate every tradeoff

Every choice has a cost. Saying it out loud — "this gives us low latency but adds an eventual-consistency window" — is the single highest-signal habit.

D
Steer with hypotheses, not certainties

"My guess is the bottleneck shows up at the queue first — let's check." Inviting verification is collaborative; declaring victory is not.

E
Take the hint, gracefully

When the interviewer asks "what about X?" — they are not curious, they are routing you. Accept the redirect without defending the previous path.

F
Recover from mistakes openly

"Actually, that index doesn't help — let me revise." Visible self-correction is a strength, not a weakness.

10 · Red flags
Common pitfalls

Four ways smart people quietly fail this round.

Pitfall · 01
Jumping straight to a solution

Hearing "design Twitter" and immediately drawing Kafka, Cassandra, and a CDN — without ever asking how many users or what features. Pattern-matching is not design.

Pitfall · 02
Ignoring scale

Sketching a clean architecture that quietly assumes a single database, single region, and a few hundred users. The interviewer is waiting for you to do the back-of-envelope math.

Pitfall · 03
No tradeoffs, only verdicts

"I'd use Cassandra." Why not DynamoDB? Why not Postgres with sharding? A choice without a stated cost reads as cargo-culted.

Pitfall · 04
Defensiveness under pushback

Treating the interviewer's questions as attacks rather than invitations. Rigidity here is read — accurately — as how you behave in design reviews on the job.

11 · The rubric
From the interviewer's score sheet

What "strong hire" actually looks like.

Rubrics vary by company, but the shape is consistent. A strong-hire signal is rarely about getting the "right" architecture — it is about how you operate.

TierBehaviour the interviewer observes
Strong hireDrives the conversation. Quantifies before designing. Proposes multiple options, picks one, and names what they gave up. Catches their own mistakes. Reaches a coherent design with at least one deep dive and a clear next step.
HireReaches a working design with light prompting. Knows the building blocks. Tradeoffs are present but mostly when asked. Deep dive is competent but not unprompted.
Mixed / leaning noNeeds steering through each step. Picks reasonable components but cannot defend them. Misses scale or consistency considerations until prompted. Deep dive stays superficial.
No hireSkips clarification. Latches onto one technology. Cannot explain why one choice beats another. Becomes defensive under questioning, or runs out of things to say.
12 · Summary
Principles to carry into the room

Six things to remember when the marker is in your hand.

01
Scope before you sketch

The first five minutes are for turning a vague prompt into a bounded one. Skipping this almost always costs the round.

02
Skeleton, then muscle

Boxes and arrows first; deep dives second. Going deep on one component before the system makes sense is a classic trap.

03
Every choice has a cost

Name the tradeoff out loud each time you pick something. Unjustified picks read as cargo-culted.

04
Follow the pointer

The interviewer's questions are routing instructions. Take the hint quickly and without defensiveness.

05
Watch the clock

Protect time for the deep dive and the wrap up. Pacing is graded even if no one says so.

06
Own the gaps

Close by naming what you'd revisit and how you'd operate it. Visible self-awareness is a senior signal.

1 / 12
📖 Read the lesson