InterviewsVector
System Design · Interview Library

Design systems the waysenior engineers actually do

Not flashcards. Each problem is a full case study — requirements, back-of-the-envelope math, a reference architecture you can read, focused deep dives, and the trade-offs an interviewer will push on. Built to get you from “I've heard of caching” to leading the whiteboard.

12
case studies
8
building blocks
7h
of material
31+
companies covered

What does a system design interview actually test?

A system design interview tests how you reason under ambiguity, not what you memorize — there are no right answers, only well-justified ones. Work in a fixed order: clarify functional and non-functional requirements, size the load with back-of-the-envelope estimates, define the data model and API, sketch a high-level architecture, then interrogate the bottlenecks, failure modes, and trade-offs it creates. State the numbers out loud and let them drive the design. Seniority changes the bar, not the steps — a Senior candidate justifies each decision and adapts when a constraint changes; a Staff candidate drives the room: proposes the scope, raises cost, failure, and cross-team concerns unprompted, and explains why one design beats the obvious alternative. For AI-first roles, expect a retrieval, inference-cost, and GPU-capacity angle too.

Building blocks

The primitives every design leans on. Master these and the problems below become recombinations of the same ideas.

Scaling & Load Balancing

Vertical vs horizontal scaling, stateless services, and how a load balancer spreads traffic (round-robin, least-connections, consistent hashing).

Caching

Where to cache (client, CDN, app, DB), eviction (LRU/LFU/TTL), and the cache-aside, write-through, and write-back patterns.

Databases: SQL vs NoSQL

Relational integrity vs flexible-schema scale. Indexing, replication, and picking a store that matches your access pattern.

Sharding & Partitioning

Splitting data across nodes by range, hash, or geography — plus hot-key and rebalancing pain.

CAP, Consistency & Replication

Strong vs eventual consistency, the CAP/PACELC trade-offs, and quorum reads/writes.

Message Queues & Streaming

Decoupling with queues (SQS/RabbitMQ) and logs (Kafka), plus delivery semantics and back-pressure.

CDN & Edge Delivery

Pushing static and cacheable content close to users to cut latency and origin load.

Back-of-the-Envelope Math

Turning DAU into QPS, storage, and bandwidth — the numbers every senior candidate reaches for.

Problem library

Filter by topic and level, or search by company and pattern. Ordered easiest-first — but every problem stands alone.

Topic
Level
12 problems
Beginner25 min

Design a URL Shortener

TinyURL / Bit.ly — turn long URLs into short, unique, redirectable keys at read-heavy scale.

key generationcachingread-heavy
Core InfrastructureStudy →
Intermediate30 min

Design a Rate Limiter

Throttle requests per user/IP/key to protect services — token bucket, sliding window, and distributed counters.

token bucketsliding windowredis
Core InfrastructureStudy →
Intermediate30 min

Design a Notification System

Deliver push, SMS, and email at scale with fan-out, rate limits, retries, and dedup.

fan-outqueuesretries
Messaging & RealtimeStudy →
Intermediate30 min

Design Search Autocomplete (Typeahead)

Suggest top completions per keystroke in single-digit milliseconds using a trie.

trietop-kprecomputation
Search & RankingStudy →
Advanced35 min

Design a Web Crawler

Politely fetch billions of pages, avoid traps and duplicates, and keep a fresh index.

BFSurl frontierpoliteness
Search & RankingStudy →
Advanced40 min

Design a News Feed

Facebook / Instagram feed — aggregate posts from people you follow, ranked, at billions-of-reads scale.

fan-outtimelineranking
Feeds & SocialStudy →
Advanced40 min

Design a Chat System (WhatsApp)

Realtime 1:1 and group messaging with delivery/read receipts, presence, and offline delivery.

websocketspresencedelivery guarantees
Messaging & RealtimeStudy →
Advanced40 min

Design Cloud File Storage (Google Drive / Dropbox)

Upload, sync, share, and version files across devices with dedup and conflict resolution.

chunkingdedupsync
Storage & DataStudy →
Advanced40 min

Design an AI Code Assistant (Copilot)

Low-latency, context-aware code completions streamed into the editor with tight privacy.

LLM inferencelow latencycontext retrieval
AI & ML SystemsStudy →
Expert45 min

Design a Video Platform (YouTube)

Upload, transcode, store, and stream video to billions with adaptive bitrate and a global CDN.

transcodingCDNadaptive bitrate
Storage & DataStudy →
Expert45 min

Design a Ride-Sharing Service (Uber)

Match riders to nearby drivers in real time with geospatial indexing and live location updates.

geospatialquadtreegeohash
Geo & LocationStudy →
Expert45 min

Design ChatGPT (LLM Serving)

Serve a conversational LLM to millions with streaming tokens, context management, and GPU efficiency.

LLM inferencestreamingGPU
AI & ML SystemsStudy →
How to practice

A repeatable framework for every problem

  1. 01

    Scope the requirements

    Separate functional from non-functional. Nail down what's in and out before drawing a single box.

  2. 02

    Do the napkin math

    Turn DAU into QPS, storage, and bandwidth. The numbers justify every later decision.

  3. 03

    Draw the architecture

    Start with a simple, correct design. Add components only when a bottleneck forces it.

  4. 04

    Defend the trade-offs

    Name the alternative for each choice and say when you'd pick the other one. That's seniority.

Quick references