System Design
System design from fundamentals to interview problems: networking, storage, caching, distributed systems, microservices, and worked designs.
Start with What Is the System Design Interview →Foundations and Interview Framework
How system design interviews work, the framework to follow, and estimation.
Networking and Communication
DNS, transport, HTTP, API styles, real-time protocols, load balancing, gateways, and CDNs.
Data Storage
Databases, indexing, replication, sharding, and storage systems.
- 18.SQL vs NoSQL
- 19.ACID Transactions and Isolation Levels
- 20.Database Indexing
- 21.Storage Engines: B-Tree vs LSM-Tree
- 22.Inverted Index and Full-Text Search
- 23.Database Replication
- 24.Sharding and Partitioning
- 25.Consistent Hashing
- 26.Key-Value and Document Stores
- 27.Wide-Column, Graph, and Time-Series Stores
- 28.Object and Blob Storage
- 29.Data Modeling and Denormalization
Caching
Caching strategies, eviction, invalidation, and distributed caches.
Distributed Systems Theory
Consistency, consensus, time, transactions, and probabilistic data structures.
- 35.CAP Theorem and PACELC
- 36.Consistency Models
- 37.Consensus: Paxos and Raft
- 38.Leader Election
- 39.Quorums and Replication Protocols
- 40.Gossip Protocol and Failure Detection
- 41.Time, Clocks, and Ordering in Distributed Systems
- 42.CRDTs: Conflict-Free Replicated Data Types
- 43.Distributed Transactions: Two-Phase and Three-Phase Commit
- 44.Delivery Semantics and Idempotency
- 45.Probabilistic Data Structures: Bloom Filters, HyperLogLog, Count-Min Sketch
- 46.Geospatial Indexing: Geohash, Quadtree, S2, and H3
Async and Messaging
Queues, pub/sub, Kafka, event-driven systems, and stream processing.
Microservices: Fundamentals
Monolith to microservices, trade-offs, and migration.
Microservices: Design and Decomposition
Domain-driven design, service boundaries, and team structure.
Microservices: Communication
Sync and async communication, orchestration, discovery, service mesh, and contracts.
Microservices: Data Management
Database per service, sagas, outbox, event sourcing, and CQRS.
Microservices: Resilience
Timeouts, retries, circuit breakers, bulkheads, and chaos engineering.
Microservices: Deployment and Operations
Containers, Kubernetes, CI/CD, configuration, tracing, serverless, and security.
Microservices: Capstone
An end-to-end microservices design and interview questions.
Reliability, Security and Operations
Observability, rate limiting, disaster recovery, authentication, and capacity planning.
Classic Problems
Frequently asked system design problems, worked end to end.
- 96.Design a URL Shortener
- 97.Design Pastebin
- 98.Design a Rate Limiter
- 99.Design a Key-Value Store
- 100.Design a Unique ID Generator
- 101.Design a Web Crawler
- 102.Design a Notification System
- 103.Design a News Feed
- 104.Design a Chat System
- 105.Design Search Autocomplete
- 106.Design YouTube
- 107.Design Google Drive
- 108.Design Google Maps
- 109.Design a Proximity Service
- 110.Design a Distributed Message Queue
Advanced Problems
Harder system design problems with deep dives.
- 111.Design Uber (Ride-Hailing)
- 112.Design a Hotel Reservation System
- 113.Design a Ticket Booking System
- 114.Design a Payment System
- 115.Design a Digital Wallet
- 116.Design a Stock Exchange
- 117.Design Ad Click Event Aggregation
- 118.Design a Metrics Monitoring and Alerting System
- 119.Design a Distributed Cache
- 120.Design a Distributed Job Scheduler
- 121.Design a Search Engine
- 122.Design Google Docs
- 123.Design Twitter
- 124.Design WhatsApp
- 125.Design a Leaderboard
Cheat Sheets and Study Plan
Numbers to memorize, technology choices, and a study plan.
