What the interview really tests
Imagine asking an architect to “design a house”. A good one doesn’t start drawing walls. They ask: for how many people? What budget? One floor or two? Is there a slope? Only then do they sketch, and when you ask “why is the kitchen here?”, they have a reason.
A system design interview checks the same thing. There’s no single right answer, and nobody expects you to build Instagram in 45 minutes. The interviewer wants to see that you can turn a vague request into a clear problem, sketch a reasonable solution, and explain your choices.
The interview is a proxy for one question: would I trust this person to lead the design of something ambiguous? That’s why the diagram matters less than the path to it. At senior level, interviewers look for you to drive: scope without being asked, quantify, pick the two or three areas where the design is actually hard, and argue trade-offs with numbers and failure modes. Covering every box shallowly reads as junior; going deep on the right box reads as senior.
What interviewers score
| Area | Junior / mid | Senior |
|---|---|---|
| Scoping | Asks clarifying questions, lists features | Drives scope, states assumptions, cuts features on purpose |
| Estimation | Rough numbers, read vs write ratio | Uses numbers to make decisions (fits on one machine? needs sharding?) |
| Design | A working high-level design with standard parts | Data model and access patterns drive the choices |
| Depth | Explains one component well when asked | Picks the hard parts and goes deep unprompted |
| Trade-offs | Knows there are options | Compares options by consistency, latency, cost and failure modes |
| Communication | Thinks aloud, accepts hints | Structures the session, checks in, adapts to the interviewer |
The six steps
- Requirements (about 5 min): what must it do, for how many users, how fast, how reliable?
- Estimates (about 5 min): requests per second, storage, read vs write. What do the numbers tell you?
- API and data model (about 5 min): the main endpoints and the main tables or records.
- High-level design (about 10 min): the boxes and arrows that handle the main use cases end to end.
- Deep dives (about 15 min): the one to three parts that are actually hard for this problem.
- Wrap-up (about 5 min): bottlenecks, failure cases, what you’d do with more time.
The times are a guide, not a rule. What matters is the order: you can’t design well before you know the requirements, and you can’t go deep before the whole thing works end to end. If the interviewer pulls you into a topic early, follow them; they’re telling you what they want to see.
How it feels from the other side
Interviewers usually have a short list of things they hope you’ll bring up for each question (for a URL shortener: generating unique codes, caching redirects, read-heavy traffic). They give hints when you’re stuck, and taking a hint well counts in your favor. Silence is the hardest thing for them to score, so think aloud: “I’m considering two options here, let me compare them” is far better than thirty seconds of quiet drawing.
It’s also fine to say “I don’t know how X works internally, but I’d expect it to behave like this, and I’d verify it”. Making things up is the one thing that reliably costs points.
What separates the levels
- Mid: a correct design, prompted depth, textbook trade-offs.
- Senior: the candidate sets the agenda (“the interesting parts here are fan-out and hot keys; I’ll design the baseline quickly and spend most of our time there”), quantifies, and names failure modes before being asked.
- Staff: also reasons about evolution and organization: migration from the current system, cost at scale, which team owns what, what to build vs buy, and what to measure after launch.
Many companies calibrate the same question across levels; the bar moves, not the prompt. Ask early, “Is there anything specific you’d like me to focus on?”, and adjust.
- The diagram is a by-product; the signal is scoping, quantified decisions, depth on the hard parts and trade-offs with failure modes.
- Seniors drive: state assumptions, cut scope, announce where they’ll go deep, check in with the interviewer.
- Six steps, roughly 5 / 5 / 5 / 10 / 15 / 5 minutes: requirements, estimates, API and data model, high-level design, deep dives, wrap-up.
- Covering every box shallowly reads as junior. Going deep on the right two or three areas reads as senior.
Check this part
What is the interviewer mainly looking for?
What comes first in the six steps?
You have 45 minutes. What reads as senior?
The interviewer pulls you into caching after five minutes. What do you do?