Print this page, or copy the lines into your notes. A tick in the browser is not saved. Nothing here is shared progress, and nothing should be committed back to the course.
Done means: you attempted before you read, you stopped at 40 minutes, and any notes are private.
Phase 1
- Day 1 — What the interviewer is grading
- Day 2 — Vague problem to requirements
- Day 3 — Capacity math out loud
- Day 4 — API and data model first
- Day 5 — One box, and why it breaks
- Day 6 — A diagram that survives
- Day 7 — Timed dry run (pastebin), closed book, then one design-log entry in your own notes
Day 7 is the mandatory log entry for Phase 1. Lesson days are optional.
Phase 2
- Day 8 — The second box
- Day 9 — Load balancing and draining
- Day 10 — Cache-aside for the melted read
- Day 11 — Hot-key stampede
- Day 12 — SQL or NoSQL from the broken query
- Day 13 — Replication and the lagging read
- Day 14 — Object storage for the body
- Day 15 — CDN in front of public bytes
- Day 16 — Queue for work the user does not wait on
- Day 17 — Rate limits and abuse
- Day 18 — Consistent hashing when nodes change
- Day 19 — Backpressure and load shedding
- Day 20 — Timeouts and retry storms
- Day 21 — Capacity redo with visible assumptions
- Day 22 — Noisy neighbor and fairness
- Day 23 — Read path and write path
- Day 24 — The order-of-magnitude break
- Day 25 — Failure overlay on the pastebin
- Day 26 — End-to-end distributed pastebin
- Day 27 — Red-team before they do
- Day 28 — Mock: image upload and thumbnails, closed book, not the pastebin, then one design-log entry in your own notes
Day 28 is the mandatory log entry for Phase 2. Do not open the reference until you have scored your own page.
Phase 3
- Day 29 — The guarantee per operation
- Day 30 — Linearizability and what you refuse
- Day 31 — Partition key, hash, and range
- Day 32 — Hot keys and salting
- Day 33 — Invalidation and TTL
- Day 34 — Lag, monotonic reads, read-your-writes
- Day 35 — Quorums in plain language
- Day 36 — A leader is a dependency
- Day 37 — Idempotency on an at-least-once path
- Day 38 — Dedupe and the inbox
- Day 39 — Outbox, not dual write
- Day 40 — Transactions that stop at the shard
- Day 41 — Sagas and compensation
- Day 42 — Conflicts you can explain
- Day 43 — Active-passive or active-active
- Day 44 — Clocks, ids, and order
- Day 45 — Schema change and backfill
- Day 46 — Delete, tombstone, retention
- Day 47 — Secondary indexes and data-path cost
- Day 48 — Close the data chapter
- Day 49 — Mock: warehouse inventory reservation, closed book, not schema or indexes or retention, then one design-log entry in your own notes
Day 49 is the mandatory log entry for Phase 3. Do not open the reference until you have scored your own page. Days 45–47 stay closed during that timer.
Phase 4
- Day 50 — URL shortener
- Day 51 — News feed
- Day 52 — Celebrity fan-out
- Day 53 — One-to-one chat
- Day 54 — Large-room chat
- Day 55 — Notifications
- Day 56 — Typeahead
- Day 57 — Product search
- Day 58 — Video on demand
- Day 59 — Live video
- Day 60 — Nearby
- Day 61 — Ticket booking
- Day 62 — Metrics ingestion
- Day 63 — Mock: job scheduler, closed book, not search or video or nearby or tickets or metrics ingest, then one design-log entry in your own notes
- Day 64 — Metrics query and alerts
- Day 65 — Payments
- Day 66 — Payment reconciliation
- Day 67 — Collaborative document
- Day 68 — File sync
- Day 69 — Cart and checkout
- Day 70 — Flash sale
- Day 71 — Social graph
- Day 72 — Ephemeral stories
- Day 73 — Web crawler
- Day 74 — Order book
- Day 75 — Feature flags
- Day 76 — Audit log
- Day 77 — Mock: email inbox, closed book, not graph or stories or crawler or order book or flags or audit, then one design-log entry in your own notes
Day 63 and day 77 are the mandatory log entries for Phase 4. Do not open the reference until you have scored your own page. Days 50–62 stay closed during the day-63 timer. Days 71–76 stay closed during the day-77 timer.
Phase 5
- Day 78 — SLOs and the miss a user sees
- Day 79 — Degradation under partial failure
- Day 80 — Losing a region
- Day 81 — Observability that pages a human
- Day 82 — Cost as a spoken trade-off
- Day 83 — Migration while live
- Day 84 — Mock: delivery dispatch with a late failure, closed book, not the SLO or region or migration lectures, then one design-log entry in your own notes
Day 84 is the mandatory log entry for Phase 5. Do not open the reference until you have scored your own page. Days 78–83 stay closed during the day-84 timer.
Phase 6
- Day 85 — Kit hookup and the design log
- Day 86 — Mock: article serving (read-heavy), closed book, not the day-85 setup lesson, then one design-log entry in your own notes
- Day 87 — Debrief: read-heavy mock, score day 86 and rewrite one weak section
- Day 88 — Mock: event intake (write-heavy), closed book, not a metrics replay, then one design-log entry in your own notes
- Day 89 — Debrief: write-heavy mock, score day 88, compare to day 86, lock one rule for day 90
- Day 90 — Mock: realtime lobby (kit run), kit realtime card or multiplayer-lobby fallback, then one design-log entry in your own notes
Days 86, 88, and 90 are the mandatory log entries for Phase 6. Do not open a mock reference until you have scored your own page. Day 85 does not require the kit. Day 90 does not require the kit if you use the lobby fallback.
Start · How to study · Curriculum (map)
Appendices (optional, after day 90)
Not part of the 90 days. Skip unless an interview is on the calendar.