System Design

Practical prep for system design interviews — frameworks, estimation, and real design walkthroughs.

Foundation guide

System Design Interview Complete Guide

Build the fundamentals: estimation, scaling, storage, caching, messaging, reliability, and interview structure.

Complete reference · Start here Explore the guide
Question bank

System Design Interview Questions

High-frequency HLD and LLD questions with a 60-second answer and a link to the full walkthrough.

Drill list · Start here Browse the questions
Design walkthrough

Design Twitter

Design a production-scale home timeline and reason through fan-out, celebrity accounts, caching, Kafka, and failures.

Feeds · Hybrid fan-out · Senior-level Read the walkthrough
Design walkthrough

Design Google Drive

Design resumable file upload and offline device sync with immutable versions, conflict copies, sharing, and durable change cursors.

File storage · Sync · Senior-level Read the walkthrough
Design walkthrough

Design a URL Shortener

Design a high-read short-link service and reason through unique codes, redirects, caching, analytics, and viral hot keys.

Redirects · Base62 · Senior-level Read the walkthrough
Design walkthrough

Design a Food Delivery Tracking System

Design Zomato-style live tracking: order states, rider GPS, WebSockets, geo matching, and what to do when updates drop.

Real-time · Location · Senior-level Read the walkthrough
Design walkthrough

Design a Tiered Messaging Platform

Design a billion-message SMS, email, and push platform where bulk campaigns cannot starve critical traffic.

Priority tiers · Providers · Senior-level Read the walkthrough
Design walkthrough

Design a Customer-Facing Search System

Design hotel search from query understanding to retrieval, ranking, live price enrichment, and resilient indexing.

Search · Ranking · Senior-level Read the walkthrough
Design walkthrough

Design a Distributed Cache

Design an in-memory cache with partitioning, replicas, eviction, hot-key protection, and safe failure recovery.

Caching · Consistent hashing · Senior-level Read the walkthrough
Design walkthrough

Design a Booking System

Design count-based reservations with atomic holds, payment recovery, idempotency, and no double booking.

Inventory · Payments · Senior-level Read the walkthrough
Design walkthrough

Design an Employee Management System

Design an employee directory with hierarchy, optimistic locking, cache, search, audit, and RBAC.

Org graph · Outbox · Senior-level Read the walkthrough
Design walkthrough

Design a Ticket Management System

Design a Jira-like tracker with issue keys, configurable workflows, optimistic locking, search, and notifications.

Workflows · Outbox · Senior-level Read the walkthrough
Design walkthrough

Design an Invoice Generation System

Design immutable invoices with async PDFs, object storage, outbox events, and idempotent workers.

Snapshots · Outbox · Senior-level Read the walkthrough
Design walkthrough

Design WhatsApp

Design 1:1 and group chat with sequences, multi-device WebSockets, offline catch-up, and hybrid fan-out.

Chat · Ordering · Senior-level Read the walkthrough
Design walkthrough

Design YouTube

Design video upload, transcoding, CDN playback, sharded view counts, search, and a ranked home feed.

Streaming · CDN · Senior-level Read the walkthrough
Design walkthrough

Design Uber

Design ride matching with Redis GEO, atomic driver reservation, offer timeouts, and idempotent payment.

Dispatch · GEO · Senior-level Read the walkthrough
Design walkthrough

Design a Rate Limiter

Design a distributed rate limiter with token buckets, Redis counters, hot keys, and fail-open policy.

Token bucket · Redis · Senior-level Read the walkthrough
Design walkthrough

Design Instagram

Design photo posts, CDN images, hybrid home-feed fan-out, and 24-hour Stories.

Feed · Media · Senior-level Read the walkthrough
Design walkthrough

Design Netflix

Design catalog streaming, CDN playback, watch resume, and Home rows — not a YouTube clone.

Catalog · CDN · Senior-level Read the walkthrough
LLD walkthrough

Design a Parking Lot

Assign one stall to one car: spots, tickets, fees, and a concurrent park() race.

LLD · State machine · Interview Read the walkthrough
LLD walkthrough

Design Splitwise

Record a dinner, keep group balances honest, and simplify who should pay whom.

LLD · Ledger · Interview Read the walkthrough
LLD walkthrough

Design an Elevator System

Assign each hall call to one car, keep a direction, and step the cabin — no yo-yo.

LLD · SCAN · Interview Read the walkthrough
LLD walkthrough

Design Snake and Ladder

Model a 100-square board as jumps, take turns, and win on exact 100 — not a game backend.

LLD · Jump map · Interview Read the walkthrough
LLD walkthrough

Design Chess

Generate legal chess moves: piece strategies, specials, and a filter that keeps your own king safe.

LLD · Check filter · Interview Read the walkthrough
LLD walkthrough

Design an ATM

Run a card session and dispense cash only after an idempotent bank debit.

LLD · Journal · Interview Read the walkthrough
LLD walkthrough

Design a Vending Machine

Accept cash, reserve the last bag, dispense, and refund on jam or missing change.

LLD · Escrow · Interview Read the walkthrough
Building block

Design a Unique ID Generator

Mint unique, time-sortable IDs across pods: why MAX+1 fails, Snowflake bits, clock rollback, and worker ids.

Snowflake · ULID · Senior-level Read the walkthrough
Building block

Consistent Hashing

Why hash modulo N reshuffles the cache, and how a ring plus virtual nodes moves only a slice of keys.

Hash ring · Virtual nodes · Interview Read the walkthrough
Building block

Transactional Outbox

Commit the business row and the publish intent together, then let a worker talk to Kafka.

Dual-write · At-least-once · Senior-level Read the walkthrough