system design courseFundamentals
The request path, the guarantees a database makes, and the vocabulary every other course assumes.
6 chapters24 lessonsabout 1 hour
The first ten minutes decide the interview, and they happen before you draw anything.
- The First Ten Minutes3 min
- Functional Requirements3 min
- Turning Adjectives Into Numbers3 min
- Back of the Envelope3 min
Clients request, servers respond. The foundation of the web.
- The Request-Response Loop2 min
- Before the First Byte2 min
- HTTP Verbs and Status Codes2 min
- State on a Stateless Protocol2 min
Why adding servers sometimes fixes a slow page and sometimes changes nothing.
- Two Different Questions3 min
- Percentiles, Not Averages3 min
- The Latency Ladder2 min
- Trading One for the Other3 min
In a partition, choose: Consistency or Availability. You can't have both.
- What C, A, and P Actually Mean2 min
- When the Network Splits2 min
- Choosing a Side in Practice2 min
- PACELC: The Trade You Make Every Day2 min
The guarantees that make relational databases trustworthy for transactions.
- Atomicity3 min
- Consistency2 min
- Isolation3 min
- Durability2 min
Control how much concurrent transactions can see each other's intermediate state.
- The Anomalies and the Ladder2 min
- Read Committed, the Workhorse2 min
- Repeatable Read and Snapshots2 min
- Serializable, and When to Pay for It2 min