System Design
High-level system design, one everyday scene at a time: 30 concepts and 15 interview rounds. 45 modules, 712 lessons.
01How to Approach a Design Question21 LESSONS02Back-of-Envelope Estimation19 LESSONS03Client and Server18 LESSONS04DNS15 LESSONS05Latency vs Throughput17 LESSONS06Vertical vs Horizontal Scaling16 LESSONS07Load Balancers, Reverse Proxies and API Gateways17 LESSONS08SQL vs NoSQL14 LESSONS09Indexes15 LESSONS10Unique ID Generation16 LESSONS11Object / Blob Storage16 LESSONS12Caching: The Basics16 LESSONS13Caching at Scale15 LESSONS14Replication17 LESSONS15Sharding15 LESSONS16Consistency and CAP17 LESSONS17Transactions and Locking19 LESSONS18Geospatial Indexing12 LESSONS19Search and Inverted Indexes15 LESSONS20Probabilistic Data Structures15 LESSONS21Polling vs WebSockets vs Push12 LESSONS22Message Queues18 LESSONS23Pub/Sub and Fan-Out14 LESSONS24APIs and Idempotency17 LESSONS25Rate Limiting14 LESSONS26CDNs16 LESSONS27Monolith vs Microservices17 LESSONS28Consistent Hashing15 LESSONS29Failures, Retries, Circuit Breakers18 LESSONS30Observability15 LESSONS31Design a URL Shortener15 LESSONS32Design a Rate Limiter as a Service15 LESSONS33Design a Notification System15 LESSONS34Design Search Autocomplete (Typeahead)15 LESSONS35Design a Leaderboard (Top-K)15 LESSONS36Design a Web Crawler15 LESSONS37Design a News Feed15 LESSONS38Design a Chat App (WhatsApp)17 LESSONS39Design File Storage and Sync (Google Drive / Dropbox)16 LESSONS40Design Video Upload and Streaming (YouTube)16 LESSONS41Design Live Streaming at Scale (Live Cricket)15 LESSONS42Design E-commerce Cart and Checkout (Amazon / Flipkart)16 LESSONS43Design Flash-Sale Ticket Booking (Ticketmaster / IRCTC Tatkal)15 LESSONS44Design Ride-Hailing with Surge Pricing (Uber / Rapido)15 LESSONS45Design a Payment System (Stripe / UPI)16 LESSONS