System Design Tutorial
Learn System Design
Prepare for the system design interview — how to run the 45 minutes, the building blocks you will be asked to justify, and worked designs you can argue from.
Start learning →92 lessons · 16 chapters
01
The Interview Itself
02
Back-of-the-Envelope
03
The Building Blocks
04
Data Modelling at Scale
05
Designing the API
- Resources, Not Remote Procedures
- Pagination That Survives Writes
- Making a Write Safe to Retry
- Two Clients, One Record
- Errors a Client Can Program Against
- Work That Outlives the Request
- Bulk Endpoints and Partial Success
- Changing a Live API
- Telling a Client to Slow Down
- Calling the Client Back
- HTTP Caching as Part of the Contract
- Who Is Calling, and What May They Do
06
Queues and Background Jobs
07
Caching
08
Scaling and Partitioning
09
Consistency and Coordination
10
Reliability
11
Observability and Operations
12
Security in a Design Answer
13
Worked Design: Feeds and Timelines
14
Worked Design: Real Time
15
Worked Design: Infrastructure
16