system-design

Part 13 — Practice

Knowledge doesn’t pass interviews; fluency does. Parts 0–12 taught you the material and showed you 36 worked designs. This part turns that knowledge into a performance skill through deliberate practice — drills, self-grading, buildable projects, and a problem bank to test yourself with.

Time for this part: ongoing, from Week 1 onward — practice runs in parallel with reading, not after it. The single most important idea in this whole repo: attempt problems cold before reading the answer.

The unifying idea: recognition is not recall, and recall is not performance. You close those gaps by doing the thing — designing cold, out loud, timed — and getting feedback, over and over.


Chapters

# Chapter What it gives you
1 How to Practice The practice loop, active recall, a concrete study plan
2 Estimation Drills 10 worked back-of-envelope exercises until math is instant
3 Component Drills “When/why would you use X?” flashcards for every building block
4 Trade-off Drills Articulate any trade-off both ways, fluently
5 Self-Grading Checklist A rubric to score your own mocks like an interviewer
6 Build-It Projects A ladder of buildable projects — learn by doing

Plus: the Problems Bank — fully-worked novel problems + a large prompt list to attempt cold.


How the pieces fit

flowchart LR
    Drill[Sub-skill drills<br/>estimation, components, trade-offs] --> Mock[Full mocks<br/>cold, timed, out loud]
    Mock --> Grade[Self-grade<br/>against the rubric]
    Grade --> Gap[Study the gap]
    Gap --> Drill
    Build[Build-it projects] -.deepens intuition.-> Mock
  1. Drill the sub-skills separately (estimation, components, trade-offs) — isolate weaknesses.
  2. Do full mocks cold, timed, out loud — combine the skills under pressure.
  3. Self-grade with the checklist — find the specific gaps.
  4. Study the gap (a building block, a case study’s deep dive), then repeat.
  5. Build projects alongside — nothing cements a concept like making it work.

The things to remember

  1. Attempt cold before reading. The gap between your attempt and the reference is your study list. Everything else is passive consumption.
  2. Recognition ≠ recall ≠ performance. You must be able to generate a design under time pressure, out loud — practice exactly that.
  3. Drill weaknesses in isolation. Shaky estimation? Drill just estimation for a week. Don’t hide it in full mocks.
  4. Space your redos. Redoing a problem cold a week later beats ten re-reads. Keep a practice log with redo dates.
  5. Practice out loud. The interview is a spoken performance; silent thinking skips the hardest part.
  6. Grade honestly against a rubric. “That felt ok” isn’t feedback; a 2/5 on estimation is.
  7. Build things. For fresh grads especially, a project you can discuss fluently beats a dozen you skimmed — and it’s portfolio proof with no work history.
  8. Derive, don’t memorize. You’ll get a variant you didn’t study. Learn the recurring patterns so you can build anything from them.

Your weekly practice loop (steady state)


Next: Part 14 — Company Guides — tailor your preparation to the specific companies you’re targeting, from local shops to MENA/SEA scale-ups to Big Tech.