Preparation roadmap from foundations to live practice

How to prepare for system design interviews

Two ways candidates blow their prep: skip the foundation, or read endlessly and never design out loud. Here's the fix — a two-phase plan with concrete numbers, not vibes.

Two ways people fail at this

Most people fail one of two ways: they skip the foundation and jump straight to memorizing diagrams, or they read endlessly and never practice designing out loud. This guide fixes both.

Analogy diagram: cricket nets practice leading to match day.
Prep like cricket nets: technique first, then throwdowns, then the match.

Your prep has two phases:

  1. Build a foundation — understand the interview, pick a framework, learn the basics.
  2. Practice under pressure — design on your own before you look at any answer.

Phase 1 — Build a foundation

Don't skip this even if your interview is next week. A thin foundation means you'll memorize boxes without understanding why they're there — and interviewers will smell it instantly.

Step 1 — Understand what a system design interview is

Never done one before? Start with our Introduction — what interviewers actually assess, the types of questions you'll face, and how you're scored across four rubric themes.

Step 2 — Choose a delivery framework

System design interviews move fast. You need a clear roadmap so you think linearly instead of freelancing through the 45 minutes.

We strongly recommend our Delivery Framework — the step-by-step structure for interview day: requirements → entities → API → high-level design → deep dives.

Step 3 — Start with the basics

If system design is new to you, map the scope of knowledge before going deep. Read the high-level write-ups first — they build the mental model everything else sits on.

  1. Core concepts — scalability, consistency, caching, message queues.
  2. Key technologies — Postgres, S3, Redis, Kafka, Elasticsearch, CDN.
  3. Common patterns — realtime, async jobs, contention, scaling reads/writes, blobs, workflows. Deep dives: Real-time updates · Contention · Multi-step processes · Scaling reads · Scaling writes · Handling large blobs · Managing long-running tasks.

In this path, start with Numbers to know, skim the Foundations roadmap, then follow sidebar order. Skim roadmap pages; open deep dives only where you're weak.

Phase 2 — Practice under pressure

Once the foundation is in place, stop reading and start designing. Passively consuming write-ups feels productive. It isn't the same skill as producing a design yourself, out loud, on a clock.

Follow this loop for every practice question:

  1. Choose a question — pick from common interview prompts (see below).
  2. Read the requirements — understand what the system must do before drawing.
  3. Try to answer on your own — whiteboard, Excalidraw, or paper. Set a 45-minute timer.
  4. Read the answer key — only after you've attempted it yourself.
  5. Compare and note gaps — what did you miss? What would you say differently?

Common questions to practice

Start with these classics — they cover the patterns that show up everywhere:

  • Warm-ups: URL shortener · rate limiter · distributed cache.
  • Storage & media: Dropbox · YouTube · Instagram.
  • Feeds & messaging: News feed · WhatsApp · Strava · Tinder.
  • Marketplace & geo: Yelp · Gopuff · Ticketmaster.
  • Contention & compute: Online auction · LeetCode.

Full worked breakdowns live in our Question breakdowns path (same order as the curriculum):

How to practice effectively

Preparation isn't reading more — it's rehearsing how you'll say it under pressure.

Use a virtual whiteboard. Excalidraw, tldraw, or even pen and paper — the medium doesn't matter. What matters is drawing boxes, labelling flows, and narrating out loud as if an interviewer were sitting across from you.

  • Set a 45-minute timer — real interviews don't pause.
  • Talk out loud — explain every box you draw.
  • Write assumptions on the board — DAU, QPS, read/write ratio.
  • Stop when time's up — even if incomplete. Review what you skipped.
  • Redraw from memory the next day — retention test.

Step 5 — Put your knowledge to the test

Once you've done a few questions solo and feel steady, run a peer mock with someone who works at your target company, or any experienced engineer.

Telling your design out loud while someone probes, interrupts, and challenges your assumptions — that's the real interview skill. Reading silently lets you hide gaps. Live practice exposes them.

  • Ask your mock partner to interrupt and ask "why?" at least three times.
  • Request feedback on communication, not just correctness.
  • Record yourself (with permission) — watch for long silences and rambling.
  • Do at least 2–3 mocks in the final week before your loop.

Suggested prep timeline

Two-week roadmap: foundations, core concepts, question breakdowns, peer mocks, then interview day.
Two weeks from foundations to interview day — foundation first, reps second.
  1. Days 1–2 — Introduction + How to prepare + Delivery framework.
  2. Days 3–5 — Core concepts (scalability, consistency, caching, queues).
  3. Days 6–10 — Three question breakdowns, one solo practice each.
  4. Days 11–14 — Two more solo practices + 2–3 peer mocks.
  5. Day before interview — Skim notes, redraw one diagram from memory, sleep.

Cost and performance levers

Interview Q&A by level

Practice saying these out loud for interview preparation. Interviewers grade clarity and judgment more than buzzwords.

Interview takeaway

Match depth to the bar: define → trade off → operate. Don't dump principal answers in an entry-level screen.

Conclusion

Preparation is two halves: learn the playbook, then run the plays until they're automatic. Foundation without practice is theory. Practice without foundation is memorization. You need both.

A 4-week preparation sprint

Mock scorecard

After each mock, score 0–2 on: clarify NFRs, capacity math, API+schema, HLD correctness, deep dive depth, failure modes, communication. Target ≥10/14 before onsite loops.

Failure modes to mention

Call out at least one dependency failure (DB down, cache stampede, queue lag, region outage) and your mitigation (timeouts, retries with jitter, degraded mode, circuit breaker).

← Lattice