InterviewKata
System design track · from beginner to architect

Learn how real systems are built, and why they're built that way.

Six basics modules start from zero (what a server, an API and a database are), then twenty-nine modules take you from "what happens when I open a web page?" to replication, sharding, consensus, workflows, reliability and AI systems. Then 46 worked designs put it all together: URL shorteners, chat, news feeds, ride hailing, payments, video and more. Every idea is explained plainly, shown moving step by step, and tried in an interactive widget.

New to system design? Start here → The interview framework Jump to Module 01 The 46 worked designs The 24-week roadmap
The whole track is liveAll 29 modules and all 46 worked designs are ready. Every design is long-form: enough material for a full 60–90 minute interview, with clarifying questions, a design built one request at a time, deep dives, follow-up questions and a time plan. Product facts and numbers (cloud limits, database versions, prices) are checked against vendor documentation, and each page says when.

The interview framework

Knowing the building blocks is half the job; the other half is delivering a working design in 45–90 minutes while someone watches. This track uses one framework everywhere: nine phases, always in the same order. Learn it once, and every worked design, every practice run and every real interview follows the same path.

1Frame the problem2What it must do3How well it must do it 4Numbers that change the design5The nouns6The contract 7First working version8Make it hold up9Follow-ups and wrap-up

Why it works

You always know what comes next, you put a complete simple design on the board by the halfway mark, and your deep dives are chosen by your own measured targets, not by luck.

How the clock splits

Phases 1–6 take about a third of the time. The remaining time goes to building the first working version and then making it hold up, which is where seniority shows. Phase 9 shows your judgement.

Getting the best results

Learn Levels 1–3, then read one long-form design a week actively (attempt each section before reading it), do a timed run on paper every few days, answer the follow-up questions out loud, and use the review deck daily.

Read the full framework: what to do, write and say in each phase →

How each module teaches

Every module has the same ten sections, so you always know where to look:

1–3 · Understand

An everyday analogy and a plain explanation, a diagram and step-through player of the mechanism, then an interactive widget to try it yourself.

4–5 · Decide

The trade-offs: when to use it, when not to, and what it costs. Then where it shows up in real systems and the technologies that implement it.

6–10 · Keep it

A memory hook with a full explanation, common mistakes, a design exercise to do on paper, a quiz, and the best free resources to go deeper.

The worked designs follow the interview framework, explained in Module 05. All 46 designs follow it phase by phase: clarifying questions, targets, numbers, the contract, a first version built one request at a time, deep dives that compare a bad, a good and a great answer, follow-up questions and a time plan.

The 29 modules

The 46 worked designs

Each design lists the modules it leans on. Do a design after you've finished those modules, and try it on paper before you read the answer.

Distributed-systems patterns map

The classic patterns, each taught inside the module where it's used. Follow a link to its explanation, scene and interview red flags.

AreaPatternThe problem it solvesWhere
Data placementConsistent hashing and virtual nodesWhich node owns a key, moving little data when nodes changeModule 15
Data placementKey salting (sharded counters)One hot key overloading one shardModule 15
ReplicationLeader-follower replicationCopies for reads and failoverModule 14
ReplicationQuorums (W + R > N)Reads that see the latest write without a leaderModule 14
ReplicationHinted handoffWrites for a node that's briefly downModule 13
ReplicationRead repair and Merkle treesReplicas that missed writes catching up cheaplyModule 14
ReplicationGossipCluster membership without a central registryModule 14
StorageWrite-ahead logDurability: commit before the data pages reach diskModule 11
StorageLSM tree and Bloom filtersFast writes; skipping files that can't hold a keyModule 12
StorageSegmented log and high-water markCheap retention; readers see only replicated dataModule 18
Failure handlingFailure modelsSaying which failures the design toleratesModule 21
Failure handlingHeartbeats and phi accrualDeciding a node is downModule 21
Failure handlingLeases and fencing tokensA paused ex-leader writing after losing its lock (split brain)Module 21
Failure handlingThe Two Generals problemWhy a sender can never be sure its last message arrivedModule 21
CoordinationLeader election (etcd, ZooKeeper)Exactly one active coordinatorModule 21
CoordinationConsensus (Raft, Paxos)Agreement on a log despite crashesModule 21
Time and orderLamport, vector and hybrid clocksOrdering events without trusting wall clocksModule 20
Time and orderUnique IDs (Snowflake, ULID)Sortable IDs generated on many machinesModule 20
ConsistencyCRDTs and conflict resolutionConcurrent writes that must mergeModule 16
ConsistencyOptimistic concurrencyLost updates without holding locksModule 17
ConsistencySession guarantees (session tokens)Users seeing their own writes, in order, on lagging replicasModule 16
TransactionsTwo- and three-phase commitAtomic commit across databases (and why it's avoided)Module 15
TransactionsSagas and durable executionMulti-step processes across servicesModule 22
TransactionsTransactional outbox and CDCUpdating a database and publishing an event togetherModule 22
TransactionsIdempotency keysRetries that don't repeat side effectsModule 07
OverloadRetries with backoff and jitterTransient failures without retry stormsModule 24
OverloadCircuit breakers and bulkheadsStopping one failure from spreadingModule 24
OverloadToken and leaky bucketsRate limitingModule 24
OverloadBack-pressure and load sheddingStaying up when demand exceeds capacityModule 24
Data flowHierarchical aggregationMillions of events into one update a secondModule 18
ArchitectureEvent sourcingState as an append-only history you can audit and replayModule 28
ArchitectureCQRSSeparate write and read models, kept in step by eventsModule 28

The 24-week roadmap

About 45 minutes a day, five days a week, using the routine on the Start here page: read on Monday, redo the widget and exercise on Tuesday, draw a design from memory on Wednesday, read one real engineering write-up on Thursday, and explain the week's idea out loud on Friday.

WeekStudyOutput by Friday

Where to go next

Start here →

What system design is, the map of building blocks, the daily routine, your design notebook and the glossary.

Module 01 →

How a request travels: every hop from typing a URL to seeing the page.

Coding patterns →

The coding track: 24 patterns that solve most coding interview problems.