Guide contents

System Design

System design from fundamentals to interview problems: networking, storage, caching, distributed systems, microservices, and worked designs.

129 lessons in 17 sections

Start with What Is the System Design Interview →

Foundations and Interview Framework

How system design interviews work, the framework to follow, and estimation.

  1. 1.What Is the System Design Interview
  2. 2.System Design Interview Framework
  3. 3.Functional and Non-Functional Requirements
  4. 4.Back-of-the-Envelope Estimation
  5. 5.Scalability, Availability, and Reliability
  6. 6.Interview Communication and Common Mistakes

Networking and Communication

DNS, transport, HTTP, API styles, real-time protocols, load balancing, gateways, and CDNs.

  1. 7.DNS Resolution
  2. 8.TCP and UDP
  3. 9.HTTP/1.1, HTTP/2, and HTTP/3
  4. 10.REST API Design
  5. 11.gRPC and Protocol Buffers
  6. 12.GraphQL
  7. 13.WebSockets, Server-Sent Events, and Long Polling
  8. 14.API Pagination, Idempotency, and Versioning
  9. 15.Load Balancing
  10. 16.Reverse Proxy and API Gateway
  11. 17.Content Delivery Networks

Data Storage

Databases, indexing, replication, sharding, and storage systems.

  1. 18.SQL vs NoSQL
  2. 19.ACID Transactions and Isolation Levels
  3. 20.Database Indexing
  4. 21.Storage Engines: B-Tree vs LSM-Tree
  5. 22.Inverted Index and Full-Text Search
  6. 23.Database Replication
  7. 24.Sharding and Partitioning
  8. 25.Consistent Hashing
  9. 26.Key-Value and Document Stores
  10. 27.Wide-Column, Graph, and Time-Series Stores
  11. 28.Object and Blob Storage
  12. 29.Data Modeling and Denormalization

Caching

Caching strategies, eviction, invalidation, and distributed caches.

  1. 30.Caching Fundamentals and Strategies
  2. 31.Cache Eviction Policies
  3. 32.Cache Invalidation, Stampede, and Hot Keys
  4. 33.Redis and Memcached
  5. 34.Distributed Cache Design

Distributed Systems Theory

Consistency, consensus, time, transactions, and probabilistic data structures.

  1. 35.CAP Theorem and PACELC
  2. 36.Consistency Models
  3. 37.Consensus: Paxos and Raft
  4. 38.Leader Election
  5. 39.Quorums and Replication Protocols
  6. 40.Gossip Protocol and Failure Detection
  7. 41.Time, Clocks, and Ordering in Distributed Systems
  8. 42.CRDTs: Conflict-Free Replicated Data Types
  9. 43.Distributed Transactions: Two-Phase and Three-Phase Commit
  10. 44.Delivery Semantics and Idempotency
  11. 45.Probabilistic Data Structures: Bloom Filters, HyperLogLog, Count-Min Sketch
  12. 46.Geospatial Indexing: Geohash, Quadtree, S2, and H3

Async and Messaging

Queues, pub/sub, Kafka, event-driven systems, and stream processing.

  1. 47.Message Queues vs Pub/Sub
  2. 48.Kafka Internals
  3. 49.RabbitMQ, SQS, and Broker Comparison
  4. 50.Event-Driven Architecture
  5. 51.Stream vs Batch Processing
  6. 52.Backpressure, Retries, and Dead Letter Queues

Microservices: Fundamentals

Monolith to microservices, trade-offs, and migration.

  1. 53.Monolith, Modular Monolith, SOA, and Microservices
  2. 54.When to Use Microservices
  3. 55.Microservices Trade-offs and the Distributed Monolith
  4. 56.Migrating to Microservices with the Strangler Fig Pattern

Microservices: Design and Decomposition

Domain-driven design, service boundaries, and team structure.

  1. 57.Domain-Driven Design and Bounded Contexts
  2. 58.Decomposition by Business Capability and Subdomain
  3. 59.Service Granularity
  4. 60.Monorepo, Polyrepo, and Shared Libraries
  5. 61.Conway's Law and Team Topologies

Microservices: Communication

Sync and async communication, orchestration, discovery, service mesh, and contracts.

  1. 62.Synchronous vs Asynchronous Communication
  2. 63.Choreography vs Orchestration
  3. 64.BFF and API Composition
  4. 65.Service Discovery
  5. 66.Service Mesh and Sidecars
  6. 67.API Versioning and Contract Testing

Microservices: Data Management

Database per service, sagas, outbox, event sourcing, and CQRS.

  1. 68.Database per Service
  2. 69.Saga Pattern
  3. 70.Transactional Outbox and CDC
  4. 71.Event Sourcing and CQRS
  5. 72.Eventual Consistency and Cross-Service Queries
  6. 73.Idempotent Consumers and Deduplication

Microservices: Resilience

Timeouts, retries, circuit breakers, bulkheads, and chaos engineering.

  1. 74.Timeouts, Retries, Backoff and Jitter
  2. 75.Circuit Breaker
  3. 76.Bulkhead, Fallback and Load Shedding
  4. 77.Rate Limiting and Backpressure Between Services
  5. 78.Health Checks and Graceful Degradation
  6. 79.Chaos Engineering

Microservices: Deployment and Operations

Containers, Kubernetes, CI/CD, configuration, tracing, serverless, and security.

  1. 80.Containers and Docker
  2. 81.Kubernetes Basics
  3. 82.CI/CD and Deployment Strategies
  4. 83.Feature Flags
  5. 84.Configuration and Secrets Management
  6. 85.Distributed Tracing and Microservices Observability
  7. 86.Serverless and FaaS
  8. 87.Microservices Security and Zero Trust

Microservices: Capstone

An end-to-end microservices design and interview questions.

  1. 88.E-Commerce Microservices Design
  2. 89.Microservices Interview Questions

Reliability, Security and Operations

Observability, rate limiting, disaster recovery, authentication, and capacity planning.

  1. 90.Observability: Logs, Metrics, and Traces
  2. 91.Rate Limiting Algorithms
  3. 92.Multi-Region Architecture and Disaster Recovery
  4. 93.Authentication: OAuth 2.0, JWT, and Sessions
  5. 94.Encryption, TLS, and Attack Mitigation
  6. 95.Capacity Planning and Cost

Classic Problems

Frequently asked system design problems, worked end to end.

  1. 96.Design a URL Shortener
  2. 97.Design Pastebin
  3. 98.Design a Rate Limiter
  4. 99.Design a Key-Value Store
  5. 100.Design a Unique ID Generator
  6. 101.Design a Web Crawler
  7. 102.Design a Notification System
  8. 103.Design a News Feed
  9. 104.Design a Chat System
  10. 105.Design Search Autocomplete
  11. 106.Design YouTube
  12. 107.Design Google Drive
  13. 108.Design Google Maps
  14. 109.Design a Proximity Service
  15. 110.Design a Distributed Message Queue

Advanced Problems

Harder system design problems with deep dives.

  1. 111.Design Uber (Ride-Hailing)
  2. 112.Design a Hotel Reservation System
  3. 113.Design a Ticket Booking System
  4. 114.Design a Payment System
  5. 115.Design a Digital Wallet
  6. 116.Design a Stock Exchange
  7. 117.Design Ad Click Event Aggregation
  8. 118.Design a Metrics Monitoring and Alerting System
  9. 119.Design a Distributed Cache
  10. 120.Design a Distributed Job Scheduler
  11. 121.Design a Search Engine
  12. 122.Design Google Docs
  13. 123.Design Twitter
  14. 124.Design WhatsApp
  15. 125.Design a Leaderboard

Cheat Sheets and Study Plan

Numbers to memorize, technology choices, and a study plan.

  1. 126.System Design Numbers and Cheat Sheet
  2. 127.Technology Choice Guide
  3. 128.System Design Study Plan
  4. 129.System Design Interview Checklist