Skip to content
SparkTime, home
System Design From Zero to Interview-Ready
Lessons
1 · System Design Foundations
2 · APIs and Communication
3 · Capacity Estimation
4 · Core Building Blocks
5 · Databases
6 · Distributed Systems
7 · Reliability and Operations
8 · Architecture and Security
9 · Interview Method and Foundation Case Studies
10 · Real-World Case Studies
11 · Large-Scale Case Studies
12 · Interview Readiness
Lesson 45 of 45

Lesson 45 · Interview Readiness

System Design Interview Practice Plan and Job-Ready Checklist

Turn the course into interview performance: an eight-week practice plan, how to run timed solo drills and mock interviews, a self-scoring rubric that separates SDE-1 and SDE-2 expectations, a drill sheet for the twelve classic problems, ten new practice problems to test transfer, common failure patterns, and the complete job-ready checklist.

On this page

Key takeaways

  • Knowing the material is not the same as performing under time pressure; practise the method aloud, with a timer, and review against a rubric.
  • Alternate learning and doing: study a topic, then design a system that needs it, then compare with a reference and write down what you missed.
  • Score yourself on the same dimensions interviewers use: problem exploration, design, depth, trade-offs, failure handling and communication.
  • Test transfer on problems you have not seen; the goal is a method that works on anything, not memorised answers.
  • Use the job-ready checklist honestly; nothing here guarantees an offer, but every box ticked is a skill you can show.

You have read about load balancers, caches, queues, replication, sharding, consistency, idempotency, sagas, fault tolerance and observability, and worked through fifteen case studies. That is a lot of knowledge. But an interview is not a written exam. It is 45 minutes of thinking aloud, under mild pressure, about a problem you may not have seen, with someone who interrupts, asks "why?" and wants to see your judgement. Performing well there is a separate skill, and like any skill it improves with deliberate practice.

This final article gives you a practice plan, a way to grade yourself, problems to practise on, and the job-ready checklist that summarises the whole course. It cannot promise you an offer: interviews vary by company, interviewer and day, and hiring depends on more than one round. It can make sure that when you walk into a system design round, the method is so familiar that your attention is free for the problem.

What you will learn

#
  • How to practise system design so that it transfers to real interviews.
  • An eight-week plan, with a lighter and a faster variant.
  • How to run timed solo drills and mock interviews, and how to review them.
  • A self-scoring rubric with SDE-1 and SDE-2 expectations.
  • A drill sheet for the twelve classic problems in this course.
  • Ten new practice problems to test whether your method transfers.
  • The common failure patterns, and the complete job-ready checklist.

How to practise effectively

#

Three principles matter more than the number of hours:

  1. Practise out loud, with a timer. Silent reading builds recognition ("yes, that makes sense"), not production. Speak your design as if to an interviewer, write the requirements and estimates down, draw the diagram, and stop at 45 minutes.
  2. Compare and record what you missed. After each attempt, read the matching case study (or ask a peer) and write down, in a "misses" list, every important point you did not cover: a failure mode, a trade-off, a wrong estimate. Your misses list is your personal syllabus.
  3. Space and mix. Return to topics after a day, a week and a month, and mix problem types (read-heavy, write-heavy, real-time, correctness-critical) rather than practising one kind repeatedly.

A useful rhythm for each practice problem:

Step

Time

What you do

Attempt

45 minutes

Solve aloud with the seven-phase method; write notes and a diagram

Self-review

15 minutes

Score yourself with the rubric below

Compare

20 to 30 minutes

Read the reference design; update your misses list

Revisit

10 minutes, a week later

Re-explain the design from memory in five minutes

The eight-week plan

#

The plan assumes about 6 to 8 hours a week, and that you have read the course once. Adjust the pace to your life; consistency beats intensity.

Week

Focus

Revisit

Practice

1

Method and estimation

01, 02, 06, 07, 29

Estimation drills (three systems, 10 minutes each); the URL shortener (30) timed

2

Building blocks

03, 04, 05, 08, 09, 10, 11

Rate limiter (31) timed; one new problem from the list below

3

Data

12, 13, 14, 15, 16, 17

Distributed cache (32) timed; data-model drills for three problems

4

Real-world combinations

33, 34, 35

Notification system and news feed timed; first mock interview with a peer

5

Distributed systems depth (SDE-2 focus)

18, 19, 20, 21, 22

Job scheduler (37) and ticket booking (38) timed

6

Reliability, operations and security

23, 24, 25, 26, 27, 28

Payment system (39) timed; add a full "Harden" section to two earlier attempts

7

Large-scale systems

40, 41, 42, 43, 44

Two Level 3 problems timed; second mock interview

8

Transfer and polish

Your misses list

Three new problems you have never seen; two final mocks; final checklist review

Lighter variant (12 weeks, 4 hours a week): stretch each week of the plan over a week and a half, keep one timed problem per week, and do mock interviews every three weeks.

Fast variant (4 weeks, for an interview soon): weeks 1 and 2 combined in the first week; then the SDE-1 fast track (articles 12, 13, 15, 17, 20); then three timed problems a week (30, 31, 33, 34, 35, 38) with a mock at the end of each week.

Running mock interviews

#

Mock interviews are the closest thing to the real experience. Pair up with a friend or classmate and take turns.

As the interviewer:

  • Pick a problem the candidate has not studied recently.
  • Give the prompt in one sentence and let them drive. Answer clarifying questions with sensible assumptions.
  • Push gently at transitions: "What happens if this cache fails?", "Why not a NoSQL store here?", "Your feed takes 2 seconds; where does the time go?"
  • Ask for a summary at the end.
  • Score with the rubric and give two strengths and two improvements, with specific moments.

As the candidate: treat it as real. Use the time plan from article 29. If you get stuck, say what you are thinking. Ask for feedback on communication, not only on the design.

Being the interviewer is valuable practice too: you learn quickly what clear and unclear explanations sound like.

The self-scoring rubric

#

Rate each dimension from 1 to 4 after every attempt. Rubrics vary between companies; these dimensions reflect what system design interviews commonly look for (article 29).

Dimension

1 (missing)

2 (developing)

3 (solid: typical SDE-1 bar)

4 (strong: typical SDE-2 bar)

Problem exploration

Starts designing immediately

Asks some questions, misses key ones

Clear functional and measurable non-functional requirements; scope agreed

Identifies the requirements that drive the design and the conflicts between them

Estimation

None

Numbers with errors or no conclusions

Correct QPS, storage and bandwidth with stated assumptions

Uses numbers to justify or reject components and to size the hard parts

Interface and data

Missing or vague

Endpoints and tables without access patterns

Clean APIs (with idempotency where needed) and a model built around access patterns

Partition keys, hot keys, indexes and consistency needs per access pattern

Architecture

Component list without reasoning

A diagram copied from memory

A simple baseline that evolves, each addition justified

Evolves the design under load with clear bottleneck analysis; considers alternatives

Depth

Stays shallow everywhere

Goes deep only when pushed

Goes deep in one area competently

Chooses two or three areas to go deep, and is precise (for example ordering, idempotency, failover)

Failure handling

Happy path only

Mentions retries or redundancy generally

Walks through key failures and mitigations

Reasons about partial failures, duplicates, data-loss windows, degradation and recovery

Trade-offs

Presents choices as obviously right

Names alternatives

States what was chosen, what it costs and why it is acceptable

Quantifies trade-offs and ties them to requirements

Communication

Hard to follow; long silences

Understandable but unstructured

Structured, checks in, responds to hints

Drives the conversation, adapts smoothly, summarises crisply

Reading your scores: consistent 3s across the board is a solid SDE-1 performance; SDE-2 interviews generally expect 3s everywhere and 4s in depth, failure handling and trade-offs. Track your scores over time; the lowest dimension is where your next week of practice should go.

Drill sheet: the twelve classic problems

#

For each problem, practise until you can state the answers to these questions from memory, then run the full 45-minute version.

Problem

Article

The driving requirement

Key decisions to get right

URL shortener

30

Read-heavy, fast redirects

Code generation and collisions; 302 versus 301; cache with write-through; async analytics

Rate limiter

31

Shared limits with tiny latency

Algorithm choice; atomic updates; fail open or closed; placement

Notification system

33

Never delay critical messages

Priority and channel queues; provider limits; deduplication layers; preferences

Chat

34

Real-time, ordered, never lost

Gateways and session registry; per-conversation sequence; acks and sync; offline push

News feed

35

Fast reads despite huge fan-out

Push, pull or hybrid; celebrities; hydration; ranking fallback

Search and autocomplete

36, 44

Low latency over precomputed data

Offline pipelines; tries or prefix tables; inverted index; scatter-gather and tail latency

Ticket booking

38

Never oversell under contention

Atomic holds with expiry; idempotent payment; waiting room

Payment system

39

Correctness over speed

Intents and attempts; state machine; idempotency at every hop; ledger; reconciliation

Ride booking

41

Fresh locations, safe assignment

In-memory geospatial index; offers with timeouts; driver reservation

Food delivery

42

A multi-party workflow

State machine; orchestrated saga with deadlines; dispatch timed to readiness

Video streaming

40

Bytes: storage and egress

Multipart upload; parallel transcoding; adaptive bitrate; CDN economics

E-commerce

43

Mixed consistency and flash sales

Catalogue read models; reservations; checkout saga; flash-sale isolation

Ten new problems to test transfer

#

The real test of the method is a problem you have not studied. For each one below, the notes say what makes it interesting and which course ideas apply. Attempt it timed before reading the notes.

  1. A leaderboard for a mobile game. Ranking at scale with frequent score updates. Applies: sorted sets, top-K caching, idempotent score submission (article 29 has a compressed version; do the full one).
  2. A web crawler only (no search). Politeness and scale without the index. Applies: host-partitioned frontier, robots.txt, deduplication, traps (article 44).
  3. A metrics and monitoring system that ingests a million data points per second and powers dashboards and alerts. Applies: write-heavy time-series storage, downsampling, retention, cardinality, alert evaluation (articles 17, 25).
  4. A distributed counter for likes and views that must handle viral posts. Applies: hot keys, bucketed counters, write-back caching, eventual consistency (articles 09, 14, 16).
  5. A coupon and promotions service. Correctness under concurrency with budgets. Applies: conditional updates, unique constraints, idempotency, abuse prevention (articles 14, 20, 43).
  6. A file sync service like a personal cloud drive, with desktop clients. Applies: chunking and deduplication, metadata versus blobs, conflict handling between devices, notifications of changes (articles 10, 19, 34).
  7. An ad-click aggregation pipeline producing per-minute counts for billing. Applies: event streams, deduplication, exactly-once effects for money, late events and windows (articles 11, 20, 27).
  8. A hotel reservation system. Similar to ticket booking, but with date ranges. Applies: inventory per room type per night, holds, overbooking policy, cancellations (articles 14, 38).
  9. A collaborative document editor (simplified). Real-time edits from many users. Applies: WebSockets, per-document ordering, conflict resolution approaches, presence (articles 05, 19, 34); the conflict-resolution algorithms can be discussed at a high level.
  10. An email delivery service for transactional email at scale. Applies: queues, provider-style retries, reputation and rate limits per destination, bounces and complaints as feedback events (articles 11, 23, 33).

When you finish one, check yourself against the drill-sheet questions: what was the driving requirement, and did your key decisions follow from it?

Common failure patterns, and the fix for each

#

Pattern

What it looks like

Fix

The memorised diagram

Kafka, Redis, Kubernetes and microservices in the first five minutes

Start from requirements and estimates; add each component with a reason

The silent designer

Long pauses, then a finished diagram

Think aloud; narrate decisions as you make them

The estimation sink

Fifteen minutes of arithmetic

Estimate only the numbers that change decisions; round aggressively

The happy path

No failures discussed

Use the three questions from article 01 at every component

The shallow tour

Every component mentioned, none explained

Pick two or three areas and go deep; say why you chose them

No trade-offs

Choices presented as obvious

Use "chose, costs, acceptable because" for every major decision

Out of time

No summary

Follow the time plan; leave two minutes for the summary

Fighting the interviewer

Defending a choice after a good counterpoint

Acknowledge, compare, adopt the better idea openly

The job-ready checklist

#

Tick an item only when you can explain it aloud, with an example, and say how it fails. Use the articles in brackets to revise.

Foundations

  • I can explain what system design is and how HLD differs from LLD (01)
  • I can separate functional and non-functional requirements and state the latter as numbers (02)
  • I understand scalability, vertical and horizontal (02, 08)
  • I understand availability, nines, and availability in series and with redundancy (02, 24)
  • I understand latency, percentiles and tail latency (02, 03)
  • I understand throughput and Little's Law (02, 07)

Capacity

  • I can estimate QPS from users, including peak factors and fan-out (06)
  • I can estimate storage per day and per year, with replication and retention (07)
  • I can estimate bandwidth in Gbps and decide whether a CDN is needed (07, 10)
  • I can estimate cache size from the working set and the effect of hit ratio (07, 09)

Building blocks

  • Load balancer: algorithms, health checks, statelessness (08)
  • CDN: caching rules, cache keys, invalidation versus versioned URLs (10)
  • Cache: patterns, TTL, invalidation, stampedes, hot keys (09)
  • Database: relational modelling around access patterns (12)
  • Queue: acknowledgements, retries, dead-letter queues, ordering (11)
  • Workers: idempotent, bounded, observable (11)
  • Object storage: presigned and multipart uploads (10)
  • API gateway: responsibilities and limits (26)

Databases

  • Indexes: composite order, covering, write cost (13)
  • Replication: synchronous versus asynchronous, lag, failover (15)
  • Read replicas and read-your-writes routing (15)
  • Partitioning: keys, strategies, hot partitions (16)
  • Sharding and consistent hashing (16, 32)
  • SQL versus NoSQL by access pattern (17)
  • Transactions, isolation levels and race prevention (14)

Distributed systems

  • CAP stated precisely, and PACELC (19)
  • Consistency models: strong, causal, read-your-writes, eventual (19)
  • Eventual consistency and conflict resolution (19)
  • Idempotency keys, unique constraints, idempotent consumers (20)
  • Distributed locks, leases and fencing tokens (22)
  • Retries with backoff, jitter and budgets (20, 23)
  • Failure handling: partial failure, timeouts with unknown outcomes (18)
  • Message delivery: at-most-once, at-least-once, effectively-once; outbox and sagas (20, 21)

Reliability

  • Availability targets and error budgets (24)
  • Fault tolerance: timeouts, circuit breakers, bulkheads (23)
  • Failover and split brain (15, 24)
  • Backpressure and load shedding (23)
  • Graceful degradation plans (23)
  • Disaster recovery: RPO, RTO and the four strategies (24)

Operations

  • Logging: structured, correlated, without secrets (25)
  • Metrics: golden signals, histograms (25)
  • Tracing: spans and context propagation through queues (25)
  • Monitoring: SLOs and symptom-based alerts (25)
  • Health checks: liveness, readiness, synthetic checks (08, 25)

Security

  • Authentication: identity providers, sessions and tokens (28)
  • Authorisation: object-level checks, deny by default (28)
  • Encryption in transit and at rest (28)
  • Secrets management and rotation (28)
  • Rate limiting and abuse prevention (28, 31)

Interview

  • I can clarify requirements in five minutes (29)
  • I can estimate scale quickly and draw conclusions (06, 07, 29)
  • I can design APIs, including idempotency (04)
  • I can model data around access patterns (12)
  • I can draw a baseline architecture and walk a request through it (29)
  • I can identify the first bottleneck and scale it (29 and every case study)
  • I can discuss trade-offs as "chose, costs, acceptable because" (29)
  • I can explain what happens when each component fails (every case study)
  • I can defend architectural decisions and change my mind gracefully (29, 45)

Trade-offs in how you prepare

#

Choice

Benefit

Cost

Breadth (many problems)

Familiarity with many shapes

Shallow understanding

Depth (fewer problems, fully reviewed)

Real understanding, better transfer

Fewer problems seen

Solo practice

Flexible and repeatable

No pressure or outside view

Mock interviews

Realistic pressure and feedback

Needs partners and scheduling

A good balance for most people: about two thirds solo timed practice with careful review, one third mocks, and depth over breadth.

Exercises

#

Exercise 1

Baseline your skills

#

Before following the plan, do one timed attempt at the notification system (article 33) without rereading it. Score yourself with the rubric. Which two dimensions are lowest, and which weeks of the plan target them?

Exercise 2: Fill the misses list

#

After your next three timed attempts, list every miss you found when comparing with the reference designs. Group them into categories (requirements, estimation, data, failure handling, trade-offs, communication). Which category appears most, and what will you change in your next attempt?

Exercise 3: Transfer test

#

Attempt practice problem 4 (a distributed counter for likes and views) in 45 minutes. Then answer: what was the driving requirement, which three course ideas did you use, and what would change if counts had to be exact for billing?

Exercise 4: Write your two-minute summaries

#

For three case studies of your choice, write the final interview answer from memory in under 200 words each, then compare with section 14 of each article. What did you leave out that mattered?

Show solutionHide solution

There is no single correct answer; the point is an honest baseline. Common patterns for people finishing the course:

  • Low on estimation and failure handling: focus on weeks 1 and 6, and add a "failure walk" (every component: what if it fails?) to every attempt.
  • Low on depth and trade-offs: focus on weeks 3 and 5, and practise choosing two deep dives with reasons.
  • Low on communication: prioritise mock interviews early (move the first mock to week 2), and record solo attempts to listen back.

Record the scores; repeat the same problem in week 8 and compare. Seeing your own improvement is useful motivation, and it shows where the remaining gaps are.

Exercise 2

Show solutionHide solution

A typical misses list after three attempts might read:

  • Requirements: forgot to ask about deletion and retention.
  • Estimation: used registered users instead of DAU; forgot fan-out.
  • Data: no partition key discussed.
  • Failure handling: did not discuss what happens if the queue is down; no duplicate handling.
  • Trade-offs: chose eventual consistency without saying why it was acceptable.
  • Communication: ran out of time before summarising.

If failure handling dominates (it often does), adopt a fixed habit: after the baseline and again after scaling, spend three minutes walking every component through "what if this fails or is slow?", and write one mitigation per component. Then add a two-minute timer warning at 40 minutes so the summary always happens.

Exercise 3

Show solutionHide solution
  • Driving requirement: very high write rates concentrated on a few viral items, with counts allowed to lag slightly.
  • Course ideas: hot keys and bucketed (salted) counters (articles 14 and 16); write-back caching with periodic flushes (article 09); eventual consistency and idempotent event processing (articles 19 and 20). Often also: deduplicating views per user and session (article 40).
  • If counts are for billing: exactness and auditability become the driving requirements. Record each counted event durably with a unique id (append-only, as in the ledger of article 39), deduplicate by id, aggregate with exactly-once effects (idempotent consumers and windowed aggregation that handles late events), reconcile totals periodically, and keep raw events for audits. Latency of the displayed number matters much less than its correctness.

Exercise 4

Show solutionHide solution

Compare your summary against each article's section 14 and check for the elements every good summary has: (1) the requirements and scale in one sentence, (2) the architecture in a breath, (3) two or three key decisions with their trade-offs, (4) how it handles failure, and (5) the biggest remaining risk. The most commonly missed elements are the trade-offs and the failure story. If your summary is a list of components, rewrite it as a sequence of decisions, each with its reason.

Where to go next

#
  • Guide · Technology

    Inheritance, Overriding and Overloading

  • Guide · Technology

    Generics: Type Safety, Wildcards and Erasure

  • Guide · Career

    A LinkedIn Profile That Gets Recruiter Messages