System design basics
System design is choosing which problems to have. Every architecture buys something and pays for it somewhere else, and this course is about seeing the invoice before you sign.
What you'll learn
10 chapters, then the quiz
- 01Start with numbersEstimates before diagrams.
- 02Tiers and statelessnessSeparating the layers.
- 03ScalingUp, out and the cost of each.
- 04CachingThe cheapest speedup and the subtlest bugs.
- 05Data at scaleReplicas, sharding and their costs.
- 06Queues and async workDoing it later, on purpose.
- 07ConsistencyCAP, and what it forces.
- 08Designing for failureEverything breaks eventually.
- 09Knowing what is happeningLogs, metrics and traces.
- 10Making the trade-offThere is no best architecture.
More computing tests
See all →- Easy
Cybersecurity basics
Passwords, phishing, encryption and the habits that stop most real attacks.
8 questions7 min - Medium
Networking basics
What happens between typing an address and the page arriving.
8 questions7 min - Medium
Linux and the command line
Files, permissions, pipes and processes, from a shell prompt.
8 questions7 min