System Design
Practical prep for system design interviews — frameworks, estimation, and real design walkthroughs.
System Design Interview Complete Guide
Build the fundamentals: estimation, scaling, storage, caching, messaging, reliability, and interview structure.
Explore the guide Question bankSystem Design Interview Questions
High-frequency HLD and LLD questions with a 60-second answer and a link to the full walkthrough.
Browse the questions Design walkthroughDesign Twitter
Design a production-scale home timeline and reason through fan-out, celebrity accounts, caching, Kafka, and failures.
Read the walkthrough Design walkthroughDesign Google Drive
Design resumable file upload and offline device sync with immutable versions, conflict copies, sharing, and durable change cursors.
Read the walkthrough Design walkthroughDesign a URL Shortener
Design a high-read short-link service and reason through unique codes, redirects, caching, analytics, and viral hot keys.
Read the walkthrough Design walkthroughDesign a Food Delivery Tracking System
Design Zomato-style live tracking: order states, rider GPS, WebSockets, geo matching, and what to do when updates drop.
Read the walkthrough Design walkthroughDesign a Tiered Messaging Platform
Design a billion-message SMS, email, and push platform where bulk campaigns cannot starve critical traffic.
Read the walkthrough Design walkthroughDesign a Customer-Facing Search System
Design hotel search from query understanding to retrieval, ranking, live price enrichment, and resilient indexing.
Read the walkthrough Design walkthroughDesign a Distributed Cache
Design an in-memory cache with partitioning, replicas, eviction, hot-key protection, and safe failure recovery.
Read the walkthrough Design walkthroughDesign a Booking System
Design count-based reservations with atomic holds, payment recovery, idempotency, and no double booking.
Read the walkthrough Design walkthroughDesign an Employee Management System
Design an employee directory with hierarchy, optimistic locking, cache, search, audit, and RBAC.
Read the walkthrough Design walkthroughDesign a Ticket Management System
Design a Jira-like tracker with issue keys, configurable workflows, optimistic locking, search, and notifications.
Read the walkthrough Design walkthroughDesign an Invoice Generation System
Design immutable invoices with async PDFs, object storage, outbox events, and idempotent workers.
Read the walkthrough Design walkthroughDesign WhatsApp
Design 1:1 and group chat with sequences, multi-device WebSockets, offline catch-up, and hybrid fan-out.
Read the walkthrough Design walkthroughDesign YouTube
Design video upload, transcoding, CDN playback, sharded view counts, search, and a ranked home feed.
Read the walkthrough Design walkthroughDesign Uber
Design ride matching with Redis GEO, atomic driver reservation, offer timeouts, and idempotent payment.
Read the walkthrough Design walkthroughDesign a Rate Limiter
Design a distributed rate limiter with token buckets, Redis counters, hot keys, and fail-open policy.
Read the walkthrough Design walkthroughDesign Instagram
Design photo posts, CDN images, hybrid home-feed fan-out, and 24-hour Stories.
Read the walkthrough Design walkthroughDesign Netflix
Design catalog streaming, CDN playback, watch resume, and Home rows — not a YouTube clone.
Read the walkthrough LLD walkthroughDesign a Parking Lot
Assign one stall to one car: spots, tickets, fees, and a concurrent park() race.
Read the walkthrough LLD walkthroughDesign Splitwise
Record a dinner, keep group balances honest, and simplify who should pay whom.
Read the walkthrough LLD walkthroughDesign an Elevator System
Assign each hall call to one car, keep a direction, and step the cabin — no yo-yo.
Read the walkthrough LLD walkthroughDesign Snake and Ladder
Model a 100-square board as jumps, take turns, and win on exact 100 — not a game backend.
Read the walkthrough LLD walkthroughDesign Chess
Generate legal chess moves: piece strategies, specials, and a filter that keeps your own king safe.
Read the walkthrough LLD walkthroughDesign an ATM
Run a card session and dispense cash only after an idempotent bank debit.
Read the walkthrough LLD walkthroughDesign a Vending Machine
Accept cash, reserve the last bag, dispense, and refund on jam or missing change.
Read the walkthrough Building blockDesign a Unique ID Generator
Mint unique, time-sortable IDs across pods: why MAX+1 fails, Snowflake bits, clock rollback, and worker ids.
Read the walkthrough Building blockConsistent Hashing
Why hash modulo N reshuffles the cache, and how a ring plus virtual nodes moves only a slice of keys.
Read the walkthrough Building blockTransactional Outbox
Commit the business row and the publish intent together, then let a worker talk to Kafka.
Read the walkthrough