🎓 7 Core Topics

System Design Fundamentals

Master these building blocks before tackling interview problems. Each guide covers the theory, practical patterns, and interview-ready knowledge you need.

1
🧮 Back-of-Envelope Estimation

Learn to quickly estimate system capacity, storage needs, and throughput requirements. The first skill interviewers look for.

⏱ 15 min read Beginner
Start Learning →
2
🌐 Networking Protocols

TCP vs UDP, HTTP/2, WebSockets, gRPC — understand when to use each protocol and the tradeoffs involved.

⏱ 20 min read Beginner
Start Learning →
3
🗄️ Database Internals

B-trees, LSM trees, indexing strategies, replication, and sharding. Know how databases work under the hood.

⏱ 25 min read Intermediate
Start Learning →
4
Caching Strategies

Cache-aside, write-through, write-behind, eviction policies, and cache invalidation patterns for distributed systems.

⏱ 18 min read Intermediate
Start Learning →
5
🔗 Distributed Systems Theory

CAP theorem, consistency models, consensus algorithms (Paxos, Raft), and failure modes in distributed systems.

⏱ 30 min read Advanced
Start Learning →
6
🏗️ Data Structures for Scale

Bloom filters, consistent hashing, skip lists, merkle trees, and other structures that power large-scale systems.

⏱ 22 min read Intermediate
Start Learning →
7
🤖 AI/ML System Design

Feature stores, model serving, training pipelines, A/B testing for ML, and real-time inference at scale.

⏱ 28 min read Advanced
Start Learning →