โ† Back to Course Index

Interview Framework

The 4-step approach to any system design question. Print this out.

Ref
Source
Alex Xu โ€” System Design Interview, Ch 3

This framework is adapted from Alex Xu's approach, which is the most widely used in FAANG interviews.

Time Allocation (45 minutes)

5 min
Req.
5 min
Estimate
20 min
High-Level Design
15 min
Deep Dive
Step 1

Understand Requirements & Clarify Scope

โฑ ~5 minutes

Don't start drawing. Ask questions. The interviewer is testing your judgment, not your speed.

  • Functional requirements: What does the system do? Which features are in scope?
  • Non-functional requirements: Scale (DAU, QPS), latency targets, availability target (99.9%? 99.99%?)
  • Constraints: Read-heavy or write-heavy? Real-time or batch? Global or single-region?
  • Who are the users? End users, internal services, third-party developers?
๐Ÿ’ก Interview tip

Write your requirements on the whiteboard. The interviewer will correct you if you're off-track โ€” that's the point.

Step 2

Back-of-the-Envelope Estimation

โฑ ~5 minutes

Show the interviewer you understand scale. Round aggressively โ€” precision doesn't matter, magnitude does.

  • QPS: DAU ร— actions per user / 86,400 seconds
  • Peak QPS: Average QPS ร— 2โ€“5 (depending on traffic pattern)
  • Storage: Objects per day ร— size per object ร— retention period
  • Bandwidth: QPS ร— average response size
Quick reference

See the Estimation Cheat Sheet for latency numbers and power-of-two table.

Step 3

High-Level Design

โฑ ~20 minutes

This is the core of the interview. Draw the architecture and walk through the main flows.

  • API design: Define the key endpoints (2โ€“4 max)
  • Data model: Key entities, relationships, choice of database
  • Architecture diagram: Client โ†’ LB โ†’ Services โ†’ Cache โ†’ DB (start simple, add components as needed)
  • Walk through flows: Trace 1โ€“2 critical paths (e.g., "what happens when a user posts a tweet?")
๐Ÿ’ก Interview tip

Start with the simplest design that works, then evolve it. Don't jump to microservices on slide one.

Step 4

Deep Dive & Trade-offs

โฑ ~15 minutes

The interviewer will point you at a component. Go deep. This is where you differentiate yourself.

  • Bottleneck analysis: What breaks first at 10ร— scale?
  • Trade-off discussion: Why this DB over that one? Why async over sync?
  • Failure handling: What happens when [component] goes down?
  • Scaling strategies: Caching, sharding, partitioning, read replicas
  • Edge cases: Hot keys, thundering herd, data consistency during failures

Do's and Don'ts

โœ… Do

  • Ask clarifying questions first
  • State your assumptions explicitly
  • Drive the conversation โ€” don't wait
  • Discuss trade-offs for every choice
  • Mention what you'd do differently at 100ร— scale
  • Use concrete numbers from estimation

โŒ Don't

  • Jump to drawing without requirements
  • Over-engineer from the start
  • Go silent โ€” always narrate your thinking
  • Pick a technology without justification
  • Ignore failure scenarios
  • Memorize and recite โ€” understand and adapt
๐Ÿงญ Use this framework for every case study. Lessons 18โ€“27 all follow this exact structure. Practice until it's muscle memory.