interviewpath
  • 0day streak
  • 10total XP
  • Level 1
0/5

Unit 5 · Distributed & cloud · Lesson 14 of 14

System design practice routine

Method alone is not enough; fluency comes from repeated timed designs followed by honest review. This routine cycles through classic prompts, scores each attempt against an explicit rubric and turns mistakes into targeted study, so improvement is measured rather than felt.
About 9 hFocus mode

Step 1: Learn the ideas

  • Timed practice format and pacing
  • Rate limiter
  • URL shortener
  • Chat and messaging
  • News feed
  • Distributed job scheduler
  • Metrics ingestion pipeline
  • Object storage
  • Notification fan-out
  • Self-evaluation rubric
  • Post-design review and error log

Why it matters

Reading about designs builds recognition, not fluency. In the interview you must produce structure, numbers and tradeoffs aloud, under time pressure, while responding to an interviewer. A deliberate routine of timed attempts, rubric scoring and targeted review closes that gap, and the error log it produces tells you exactly which topics to revisit.

Core ideas

Session format. Pick a prompt, set a 45-minute timer and talk through the design aloud, recorded or with a partner acting as interviewer. Follow the method: requirements with numbers, API, data model, estimates, high-level design, one or two deep dives, failures and rollout. Stop when the timer ends, then spend 20 to 30 minutes on review.

Classic prompts and their core difficulty:

  • Rate limiter: per-client limits enforced across many servers. Core: algorithm (token bucket, sliding window), where counters live, accuracy versus added latency, and whether to fail open or closed when the counter store is down.
  • URL shortener: short codes for long links, heavily read. Core: generating unique codes without a coordination hot spot, caching popular links, redirect latency, abuse.
  • Chat: one-to-one and group messages with presence. Core: long-lived connections, per-conversation ordering, delivery and read receipts, offline delivery, fan-out to large groups.
  • News feed: recent posts from followed accounts. Core: fan-out on write versus on read, accounts with enormous follower counts, ranking, cache size.
  • Job scheduler: run tasks at given times or intervals across a cluster. Core: leases with fencing, or idempotent tasks, so that a stalled worker cannot cause a double run; partitioning by time; retries; policy for missed runs.
  • Metrics ingestion: accept time-series points from many hosts and query them. Core: write volume, aggregation and downsampling, high-cardinality labels, retention tiers, backpressure.
  • Object storage: store and serve large blobs durably. Core: separate metadata and data paths, replication versus erasure coding, durability arithmetic, multipart upload, listing consistency.
  • Notification fan-out: deliver messages through several channels to many users. Core: per-channel queues, provider rate limits, user preferences, deduplication, retries without double sends.

Rubric. Score each dimension 0 (missing), 1 (present but shallow) or 2 (clear and justified):

  1. Requirements: functional scope and non-functional numbers stated.
  2. Interface: API or contract with error and idempotency semantics.
  3. Data: model and storage choices follow access patterns.
  4. Estimates: arithmetic shown and used to size components.
  5. Core difficulty: found early and addressed with a quantified alternative.
  6. Failure handling: failing dependencies, retries, degradation, data safety.
  7. Operations: observability, rollout or migration.
  8. Communication: structure, time management, checking in with the interviewer. A reasonable target is 12 of 16 with no zeros; for senior-level practice, aim for consistent 2s on core difficulty and failure handling.

Review after every session. Replay the recording and ask: which assumptions were never stated? Which component lacks a justification? Which number was off by more than ten times? What happens if the busiest dependency is down? Then compare with a reference design from a credible source and add error-log entries (mistake, correct reasoning, topic to study). Re-attempt the prompt about a week later with a twist, such as ten times the traffic or a stricter consistency requirement.

Common misconceptions

  • "Watching design walkthroughs is practice." Only producing a design under time pressure trains the skill; walkthroughs belong in the review step.
  • "Memorize one reference architecture per prompt." Interviewers change constraints; memorized answers break, reasoning adapts.
  • "A good session has no mistakes." The value is in finding them; a session without review notes was mostly wasted.
  • "Cover every component equally." Depth on the core difficulty matters more than breadth across boxes.

How to approach it

Schedule two or three sessions per week for several weeks, rotating prompts so each recurs after a gap. Alternate solo recorded sessions with partner sessions when possible; playing the interviewer for someone else teaches you what a strong answer sounds like. Keep the error log in this app's notes and turn repeated errors into study tasks for the related topics (partitioning, messaging, resilience, consistency).

Suggested order

  1. 1Prepare your method card from the system design method topic and a rubric sheet with the eight dimensions.
  2. 2Sessions 1 and 2: rate limiter and URL shortener (45 minutes each plus review); compare your rate limiter with the Stripe rate-limiter article.
  3. 3Sessions 3 and 4: news feed and chat; review fan-out choices against "The Tail at Scale" and DDIA Ch. 11.
  4. 4Sessions 5 and 6: job scheduler and notification fan-out; review queue behavior against the Builders' Library article on queue backlogs.
  5. 5Sessions 7 and 8: metrics ingestion and object storage; review estimates the way the NALSD chapter does, and storage choices against DDIA Ch. 3 and 6.
  6. 6After eight sessions, sort the error log by rubric dimension, study the two weakest areas, and re-attempt two prompts with changed constraints.

Step 2: Check off what you can do

Tap each one you can genuinely do or explain. Each earns 10 XP.

Step 3: Go deeper

  • The Site Reliability WorkbookStart here

    Google (free online edition)

    Section: Ch. 12: Introducing Non-Abstract Large System Design

    Model of how to iterate a design with explicit estimates; use it as the standard for your review.

    Open(opens in a new tab)Link responded, 5 Oct 2026
  • Designing Data-Intensive ApplicationsStart here

    O'Reilly Media (author's book site)

    Section: Ch. 3, 5, 6, 7 and 11 as reference during reviews

    Check storage, replication, partitioning, transaction and streaming choices made under time pressure.

    Open(opens in a new tab)Link responded, 5 Oct 2026
  • Scaling your API with rate limiters

    Stripe Engineering Blog

    Reference for rate-limiter and load-shedder design when reviewing that prompt.

    Open(opens in a new tab)Link responded, 5 Oct 2026
  • Avoiding insurmountable queue backlogs

    Amazon Builders' Library

    Reference for queue backlogs, fairness and recovery in scheduler and fan-out prompts.

    Open(opens in a new tab)Link responded, 5 Oct 2026
  • The Tail at Scale

    Google Research

    Reference for fan-out latency in feed, search-like and aggregation prompts.

    Open(opens in a new tab)Link responded, 5 Oct 2026

Step 4: Practice

Run each session with a 45-minute timer and record it. Score it with the rubric before looking at any reference, then review with the checklist in the notes and write at least three error-log entries. Rotate the eight prompts so none repeats within two weeks, and re-attempt with a changed constraint. When a partner is available, swap roles. Reading a reference design is review, never a substitute for an attempt.

Record attempts on each problem’s page (+15 XP, +10 more when solved on your own).

Step 5: Test yourself

Answer each one out loud or on paper before you finish the lesson.

  1. Question 1What is the core difficulty of a news feed, and which two designs address it?
  2. Question 2Where do rate-limit counters live, and what happens when that store fails?
  3. Question 3How does a job scheduler avoid running a task twice when a worker stalls?
  4. Question 4What makes metrics ingestion hard: volume, cardinality or queries?
  5. Question 5Which rubric dimension do you score lowest on, and what are you doing about it?

You’re done when you can

  • Complete timed, recorded attempts for at least six of the eight prompts, each with a rubric score and review notes.
  • Score at least 12 of 16 with no zero dimension on two consecutive unseen prompts.
  • Re-attempt one prompt with a changed constraint and improve its rubric score.
  • Keep an error log of at least ten entries, each mapped to a study topic.

Finish the lesson

How confident do you feel?

Lesson complete!

+50 XP

Reviews will come up on the Practice tab so it sticks.

Your notes and study time

Log study time