The Learning Continues
Adapted from: Alex Xu, System Design Interview – An Insider's Guide (2020), Chapter 16 — reorganized and annotated for this course.
Good system design comes from years of accumulated knowledge. The fastest shortcut is to study real architectures: how actual companies solved actual scaling problems. As you read, look for two things:
- Shared principles. The same ideas keep recurring: caching, replication, sharding, queues, denormalization, and fanout.
- The underlying technologies. For each tool a write-up mentions, ask what problem it solves and why it was chosen over the alternatives.
The original source materials sometimes used short links (goo.gl). Below, each one has been replaced with its resolved destination, and each reading is tagged with the lesson in this course that it extends.
How to Read an Architecture Write-Up
Apply the same four-step framework you'd use in an interview, in reverse:
- Scope: what problem and scale were they solving (users, QPS, data size)?
- High-level design: what are the main components and data flows?
- Deep dive: which one or two components were the hard part, and what trade-off did they choose?
- Wrap-up: what broke later, and what would they change? Real write-ups are most valuable on this point.
Keep a running list of "problem → technique" pairs. For example: hot keys → consistent hashing plus replication of hot data. Celebrity fanout → hybrid push/pull. Stale caches → lease-based invalidation. That list is your toolbox in interviews.
Real-World Systems
Facebook
Amazon
| Reading | Extends |
|---|---|
| Amazon Architecture | Scale from zero to millions |
| Dynamo: Amazon's Highly Available Key-value Store | Key-value store, consistent hashing |
Netflix
| Reading | Extends |
|---|---|
| A 360 Degree View Of The Entire Netflix Stack | YouTube |
| It's All A/Bout Testing: The Netflix Experimentation Platform | Metrics and analytics (Lesson 1) |
| Netflix Recommendations: Beyond the 5 stars (Part 1) | Ranking (beyond the reverse-chronological news feed) |
| Netflix Recommendations: Beyond the 5 stars (Part 2) | Ranking |
Google and YouTube
Twitter
Others
Check: map readings to concepts
Which reading goes deeper on…
1 / 4You want the original source of the vector clocks, sloppy quorums, and hinted handoff from Lesson 6. Which reading?
Pick an answer to see if you are right.
Company Engineering Blogs
If you're interviewing with a company, read its engineering blog. You'll learn the technologies and systems it actually uses, and you'll be able to ask sharper questions. Reading blogs regularly is also one of the best habits for growing as an engineer in general.
Some of these blogs have moved since the list was compiled (Facebook's is now Engineering at Meta, and Twitter's is now X Engineering). If a link is dead, search for the company name plus "engineering blog".
Where to Go Next in This Course
The rest of the Scalable Systems section goes deeper into the foundations these interview designs rest on:
- Designing Data-Intensive Applications: storage engines, indexes, and data encoding.
- Distributed Data: replication, partitioning, transactions, and consensus.
- Derived Data: batch and stream processing.
- Distributed Systems: container patterns for building these services.
Previous lesson: Design Google Drive.