HLD 101

System Design Interview Course

Twelve concepts, in the order they make sense. Read straight through, they take you from “why does one server stop working” to defending a partition key under pressure. Read out of order, they are a reference to revise from the night before an interview. Either way, every problem on this site assumes these and nothing more.

12Concepts
4Stages
3hTo read
The track0 / 4about 42m left
Start: Why one server stops being enough
Already comfortable? Skip to the problems.

Thinking in systems

The vocabulary and arithmetic that every later stage assumes.

3 concepts, 30m

Moving requests

How a request reaches a machine, and how caches and CDNs answer it before it has to.

3 concepts, 37m
04Load balancing and health checksComing soonChoose L4 or L7 load balancing, and explain what happens to in-flight requests when a server dies.12 minused in 7 problems
05Caching: placement, eviction, invalidationComing soonChoose where a cache sits and how it evicts, and have a plan for stale data.16 minused in 8 problems
06CDNs and the edgeComing soonDecide what can be served from the edge and what has to reach your servers.9 minused in 5 problems

Storing state

Where data lives once one machine can no longer hold it or keep up, and what that costs.

3 concepts, 43m
07SQL vs NoSQL, decided properlyComing soonChoose a database from your access patterns and consistency needs.13 minused in 9 problems
08Sharding and partitioningPick a partition key from the queries you run most, find the hot shard before the interviewer does, and plan how you will add shards later.12 minused in 7 problems
09Replication, consistency and quorumsComing soonExplain what a client can read right after a write, and what changes during a network partition.18 minused in 8 problems

Coordinating work

Work that carries on after the request has returned: queues, retries and duplicates.

3 concepts, 41m
10Queues, brokers and delivery guaranteesComing soonMove work off the request path, and explain why at-least-once delivery is the usual promise.15 minused in 6 problems
11Idempotency and deduplicationComing soonMake a write safe to retry, and say where the dedup key is stored and when it expires.12 minused in 6 problems
12Timeouts, retries and backpressureComing soonShow how the system sheds load under stress instead of failing all at once.14 minused in 7 problems

Finish the track, then start here.

Uses 7 of the 12 concepts above and needs nothing from sharding, replication or queues, so it works as a first problem.

Design a URL Shortener