A Framework for System Design Interviews
3 min read- What it is: a 4-step process for system design interviews: process beats final design
- Time budget (45 min): scope 3–10 → high-level 10–15 → deep dive 10–25 → wrap up 3–5
- Golden rule: ask clarifying questions before proposing anything
- Scored on: technical skills, collaboration, working under pressure, resolving ambiguity, asking good questions
- Red flags: over-engineering, narrow-mindedness, stubbornness
System design interviews simulate real-life collaborative problem-solving. Questions are open-ended: no single right answer. The final design matters less than the process.
1 of 6. Step 1: Understand the problem and establish design scope (3–10 min)
Ask clarification questions before proposing solutions.
Key questions:
- What specific features are we building?
- How many users? Anticipated scale in 3/6/12 months?
- Company's technology stack? Existing services to leverage?
Example (news feed system):
- Both mobile and web app
- Core features: make a post, see friends' news feed
- Feed sorted by reverse chronological order
- Max 5,000 friends per user
- 10 million DAU
- Feed can contain media (images, videos)
2 of 6. Step 2: Propose high-level design and get buy-in (10–15 min)
- Sketch the initial blueprint, ask for feedback
- Draw box diagrams: clients, APIs, web servers, data stores, cache, CDN, message queue, etc.
- Do back-of-the-envelope calculations to validate against scale constraints
- Walk through concrete use cases to discover edge cases
Example (news feed): two flows: feed publishing (post → cache/DB → populate friends' feeds) and newsfeed building (aggregate friends' posts in reverse chronological order).

3 of 6. Step 3: Design deep dive (10–25 min)
With the interviewer, identify and prioritize components. Focus varies: senior candidates may discuss bottlenecks/resource estimation, others dive into specific components (hash function for URL shortener, latency for chat system).
Avoid: getting lost in minute details: time management is critical.
Example (news feed): deep dive into feed publishing and news feed retrieval.

4 of 6. Step 4: Wrap up (3–5 min)
- Identify system bottlenecks and potential improvements (never say the design is perfect)
- Recap your design
- Discuss error cases (server failure, network loss)
- Operation issues: monitoring metrics, error logs, rollout strategy
- Next scale curve (1M → 10M users)
- Propose refinements given more time
5 of 6: Dos and Don'ts
| Do | Don't |
|---|---|
| Always ask for clarification: don't assume | Don't be unprepared for typical interview questions |
| Understand requirements | Don't jump into a solution without clarifying requirements |
| Let the interviewer know what you're thinking | Don't go deep on one component initially: high-level first |
| Suggest multiple approaches if possible | Don't hesitate to ask for hints if stuck |
| Design critical components first after agreeing on the blueprint | Don't think in silence |
| Bounce ideas off the interviewer; never give up | Don't think you're done once design is given: ask for feedback early and often |
6 of 6: Time allocation (45-minute interview)
| Step | Time |
|---|---|
| Step 1: Understand problem & scope | 3–10 min |
| Step 2: High-level design & buy-in | 10–15 min |
| Step 3: Design deep dive | 10–25 min |
| Step 4: Wrap up | 3–5 min |