See It Flow

System design

System Design Interview Guide

Prepare for system design interviews with a repeatable framework, estimation, requirements, architecture trade-offs, and SeeItFlow design problems.

A repeatable framework

Every system design interview question below can be worked through the same sequence. Treat it as a checklist, not a script — the interviewer cares more about the reasoning at each step than the order itself.

  1. 1
    Requirements

    Clarify functional scope and the non-functional constraints (consistency, availability, latency) before naming a single component.

  2. 2
    Estimation

    Translate expected users/traffic into rough numbers — requests per second, storage growth, bandwidth — so later decisions have a scale to justify them.

  3. 3
    Architecture

    Sketch the high-level components and data flow that satisfy the requirements at the estimated scale.

  4. 4
    Bottlenecks

    Identify which component saturates first as load grows, and why.

  5. 5
    Trade-offs

    Compare alternatives at each major decision point — there is rarely one correct answer, only a reasoned choice.

  6. 6
    Failure & scaling discussion

    Walk through what happens when a dependency fails or traffic spikes, and how the design degrades or recovers.

System design interview questions by problem

Learning

Foundations

Pick a system to design. Each one moves from requirements, to architecture, to what happens under real load.

URL Shortener

A deceptively simple system with a 100:1 read/write ratio — ID generation strategies, aggressive Redis caching, async analytics via Kafka, and viral traffic spike handling.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Notification System

Decouple intent from delivery — queues, priority lanes, multi-channel routing, rate limiting, retry storms, backoff with jitter, dead-letter queues, and delivery tracking.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Search & Autocomplete

A naive DB search hits its limit, an indexing pipeline emerges, a prefix trie powers autocomplete, and a sharded, cache-fronted architecture serves millions of queries per second.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
File Storage & Sync

Chunked resumable uploads, metadata separation, multi-device sync, conflict resolution, versioning, and access control — design a file storage platform from scratch.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Messaging Platform

Persistent connections, fan-out, ordering, presence, offline delivery — design a messaging system from scratch.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Distributed Task Scheduler

From a single cron job to a globally distributed scheduler — leader election, Redis sorted sets, worker heartbeats, exponential backoff, and the 9 AM thundering herd problem.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective

Learning

Intermediate

Pick a system to design. Each one moves from requirements, to architecture, to what happens under real load.

Payment System

Idempotency keys, timeout ambiguity, safe retry, provider failure, reconciliation — design a payment system where correctness is the first constraint.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
E-commerce Platform

Catalog caching, inventory reservation, checkout orchestration, the transactional outbox, and async fulfillment — design an e-commerce platform bottleneck by bottleneck.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Ticket Booking System

Seat inventory, the double-booking race condition, atomic reservation, temporary holds, hold expiration, high-demand events, caching, and admission control.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Hotel Reservation System

Room-night inventory, the last-room double-booking race, atomic multi-night allocation, bounded holds, payment crash recovery, and PMS/channel-manager sync.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Video Streaming Platform

Resumable uploads, async transcoding, segmented adaptive streaming, CDN delivery — design a video platform from scratch.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Design a Recommendation System

From one trending list everyone sees to a personalized, real-time recommendation platform — candidate generation, ranking, feature stores, and feedback loops.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Design Google Docs / Real-Time Collaborative Editor

From one person editing a file to thousands shaping the same document at once — WebSockets, operational transform, presence, offline sync, and sharded document servers.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Real-Time Gaming Leaderboard

Ranking infrastructure for online games — Redis sorted sets, deterministic tie-breaking, idempotent score ingestion, live rank-change delivery, sharded exact-rank trade-offs, and season rollover.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Splitwise (Shared Expense Manager)

Group expense sharing and balance tracking — split algorithms, an immutable ledger, debt simplification, idempotent writes, optimistic concurrency, transactional outboxes and payment-settlement semantics.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective

Learning

Advanced Distributed Systems

Pick a system to design. Each one moves from requirements, to architecture, to what happens under real load.

Design a Global CDN

From a single overloaded origin server to a globally distributed edge network — caching, invalidation, shielding, anycast, and DDoS protection, evolved bottleneck by bottleneck.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Social Media Platform

Media uploads, social graph, fanout-on-write, the hot-user problem, and hybrid fanout — design a social platform from scratch.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Twitter / X — Timeline

Fanout-on-write, the celebrity write-amplification problem, hybrid fanout, ranking, timeline caching, and hot-partition handling — design a large-scale social feed from scratch.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Ride-Hailing Platform

A guided engineering story — start simple, hit real bottlenecks, evaluate options, evolve the architecture.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Netflix

Control-plane vs data-plane separation, async transcoding, CDN delivery, adaptive bitrate streaming, and regional resilience — design a global streaming platform from scratch.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective
Stock Exchange

Price-time priority matching, deterministic sequencing, durable journaling, epoch-fenced failover, and market-data fan-out — design an electronic stock exchange bottleneck by bottleneck.

Complete DesignArchitecture Deep DiveTrade-offs & DecisionsFailure & Scale ScenariosInterview Perspective