System design & architecture
Trade-offs at scale — caching, queues, consistency, and how real systems actually fail.
18 lessons
Beginner
What is system design? Client-server basics and vocabularyBeginner4 min read·Not startedHTTP and APIs — the basicsBeginner4 min read·Not startedVertical vs horizontal scaling — the basicsBeginner3 min read·Not startedDatabases 101 — SQL vs NoSQL, the basicsBeginner4 min read·Not startedWhat a database index actually isBeginner3 min read·Not startedDNS — how a domain name becomes a serverBeginner3 min read·Not startedIP addresses and ports — the basicsBeginner3 min read·Not started
Intermediate
Caching — cache-aside, and the two hard problemsIntermediate3 min read·Not startedMessage queues — decoupling producers from consumersIntermediate2 min read·Not startedIdempotency — why it matters for retries and paymentsIntermediate3 min read·Not startedLoad balancing — algorithms and health checksIntermediate3 min read·Not startedMonolith vs. microservices — the actual trade-offIntermediate5 min read·Not startedWebSockets and real-time communicationIntermediate4 min read·Not startedAPI design and versioningIntermediate4 min read·Not started
Advanced
Rate limiting — the algorithms, and what they actually trade offAdvanced4 min read·Not startedDatabase sharding — splitting data across machinesAdvanced4 min read·Not startedThe CAP theorem — the trade-off you can't engineer aroundAdvanced5 min read·Not startedConsistent hashing — resharding without a full data migrationAdvanced5 min read·Not started