System Design Interview FrameworkLesson 1.1
How to approach a system design interview question
interview structure, requirements clarification, functional vs non-functional requirements, scope definition, time management
The 4-Step Framework
System design interviews aren't tests of knowledge — they're tests of structured thinking. Interviewers want to see how you handle ambiguity, not whether you've memorized architectures.
Use this 4-step structure every time:
- Clarify Requirements (5 min): Ask what the system must do. Distinguish functional (what it does) from non-functional (how well it performs — latency, availability, consistency).
- Estimate Scale (5 min): Ask for DAU, read/write ratio, data size. These numbers drive every architectural decision.
- High-Level Design (15 min): Draw the major components — clients, load balancers, services, databases, caches. Explain data flow.
- Deep Dive (15 min): Pick the hardest parts and go deep. Show trade-offs, not just solutions.
What Interviewers Actually Score
You're evaluated on communication, trade-off awareness, and whether you can evolve a design when requirements change — not on producing a perfect diagram. Talk out loud constantly.
Common Mistake
Jumping straight to solutions without clarifying requirements. An interviewer who says 'design Twitter' might mean only the tweet-posting flow, or they might mean the full feed system. Ask before drawing.
