Learning pathsA
REFERENCE LIBRARY

System Design Library

Build systems. Explain the trade-offs.

78 learning activities·0% complete

Browse by topic

01In a Hurry

Introduction

A system design interview asks you to make useful decisions while the problem is still incomplete.

6 min
How to Prepare

Preparation works best as a loop: learn one mechanism, retrieve it from memory, apply it to a new prompt, and review where your explanation failed.

6 min
Delivery Framework

A complete interview framework with a worked notification design.

21 min
Core Concepts Overview

Use core concepts as tools for explaining a workload, not as vocabulary to recite.

6 min
Key Technologies Overview

Choose a technology from required behavior and operating constraints.

6 min
Common Patterns Overview

Patterns are reusable responses to recurring constraints.

6 min
Question Breakdowns Overview

A question breakdown is a worked example of the delivery framework, not a diagram to memorize.

7 min

02Core Concepts

Networking Essentials

Before a request reaches your application, several separate conversations may occur.

11 min
API Design

An API is a promise between independently failing programs.

8 min
Data Modeling

Begin with questions the product must answer, not a choice between SQL and NoSQL.

7 min
Caching

A cache stores a reusable answer closer to the caller or cheaper than the source.

10 min
Sharding

Sharding divides data across independent storage owners so one machine does not need to hold or process everything.

7 min
Consistent Hashing

A placement rule should not move nearly every key whenever membership changes.

8 min
CAP Theorem

CAP concerns what a distributed system can guarantee while communication is partitioned.

8 min
Database Indexing

An index is an extra access path that trades storage and write work for less read work.

8 min
Numbers to Know

Estimation is a way to expose constraints, not a memory contest about hardware constants.

8 min

03Question Breakdowns

Bitly

Design a short-link service with creation, redirection, editing, and expiration.

REVIEW10 min
Dropbox

Design file upload and synchronization with separate metadata and bytes.

REVIEW26 min
Local Delivery Service

Design a service that matches customers placing local orders with couriers, tracks pickup and delivery, and communicates changes.

11 min
Ticketmaster

The hard part of a ticket sale is scarce inventory under a burst, not drawing a payment box.

REVIEW11 min
FB News Feed

Design a feed from posts and a follow graph, with ranking, pagination, deletion, and privacy.

REVIEW11 min
Tinder

Design a location-aware discovery and matching service with profile cards, likes, mutual matches, and messaging handoff.

11 min
LeetCode

Design an online code judge that executes untrusted submissions.

REVIEW11 min
WhatsApp

Design a messaging service around three separate facts: the server accepted a message, a device received it, and a person read it.

11 min
Rate Limiter

Design an admission control service that limits requests by a documented identity and time policy.

12 min
YouTube

Design video upload, processing, and playback as distinct lifecycles.

11 min
FB Live Comments

Design comments for a live video room.

REVIEW10 min
YouTube Top K

Find the most viewed videos over a time range, such as the top 100 during the last hour.

12 min
Uber

Design ride matching by separating approximate discovery from exclusive assignment.

10 min
Web Crawler

A crawler is a scheduler with a fetch-and-discover loop.

11 min
Ad Click Aggregator

Count ad clicks per campaign and time window while accepting retries, late arrivals, and reprocessing.

REVIEW11 min
FB Post Search

Design search across posts while respecting audience visibility, deletion, and recent edits.

11 min
Yelp

Design nearby business search with text, category, and geographic filters.

REVIEW11 min
Instagram

Design photo publishing, processing, and a personalized home feed.

10 min
Strava

Design activity recording and fitness discovery: mobile uploads, route samples, summaries, segment matching, and social feeds.

10 min
Distributed Cache

Design a cache cluster that serves key/value reads through node failures and membership changes.

11 min
Online Auction

An auction needs an authoritative rule for bid acceptance and closing.

11 min
Job Scheduler

Design a service that runs delayed and recurring jobs with retries, cancellation, and multiple worker regions.

11 min
News Aggregator

Design a personalized list of articles collected from publishers.

10 min
Price Tracking Service

Design price history and threshold alerts for products collected from merchant pages or feeds.

11 min
Notification System

Design a multi-tenant notification service for transactional alerts and bulk campaigns across email and push. Show the lifecycle from accepted intent to a reconciled outcome.

PRACTICE30 min
Robinhood

Design a brokerage-style order and portfolio service for an interview.

11 min
Google Docs

Design collaborative editing for a shared document with low-latency updates, offline clients, reconnect, and durable snapshots.

13 min
Payment System

A payment service must represent uncertainty without creating another charge.

11 min
Metrics Monitoring

A monitoring platform ingests time series, stores recent and historical samples, serves queries, and evaluates alerts.

11 min
Online Chess

Design turn-based online chess with authoritative legal moves, clocks, reconnects, and game history.

11 min
ChatGPT

Design a conversational AI product at the platform level: accepting turns, streaming generated output, managing conversation context, routing inference, and enforcing usage budgets.

12 min
Flash Sale

Design a high-demand sale for a limited inventory item.

11 min

04Patterns

Real-time Updates

Real-time is a freshness requirement, not a transport name.

7 min
Dealing with Contention

Contention occurs when concurrent operations compete over the same mutable fact.

7 min
Multi-step Processes

A business process that crosses databases or external services cannot usually be rolled back like one local transaction.

7 min
Scaling Reads

Read scaling is a sequence of decisions about cost and freshness.

7 min
Scaling Writes

A write path is limited by the slowest sustained stage, not by the length of its queue.

7 min
Handling Large Blobs

Large files should not usually pass through application workers that only need to authorize and track them.

7 min
Managing Long Running Tasks

Long tasks outlive ordinary HTTP requests and often outlive the process that started them.

7 min

05Key Technologies

Redis

Redis offers in-memory data structures that can make shared counters, caches, rankings, and short-lived coordination convenient.

10 min
Elasticsearch

Search engines organize text and other fields for retrieval rather than ordinary transactional ownership.

7 min
Kafka

Kafka is a partitioned durable log.

7 min
Temporal

Temporal is a workflow platform for durable application processes that must wait, retry, and resume across worker failure.

7 min
API Gateway

An API gateway is an edge entry point for routing and selected cross-cutting policies.

7 min
Cassandra

Cassandra encourages query-first modeling: design tables around known access patterns and bounded partitions.

7 min
DynamoDB

DynamoDB is a managed key-value/document database whose efficient access depends on known partition and sort key patterns.

7 min
PostgreSQL

PostgreSQL is useful when relationships, constraints, and transactional state transitions matter.

7 min
Flink

Flink processes unbounded and bounded event streams with stateful operators, event-time windows, and checkpoint recovery.

7 min
ZooKeeper

ZooKeeper coordinates small amounts of critical shared state using an ordered replicated service and client sessions.

7 min

06Advanced Topics

Advanced Topics Overview

Advanced topics help when a baseline design hits a specialized data or scale constraint.

6 min
Proximity Search

Proximity search asks for objects near a point, but the best index depends on whether objects are static businesses or rapidly moving drivers.

7 min
Time Series Databases

A time-series system stores measurements keyed by time and one or more dimensions.

8 min
Data Structures for Big Data

Approximate data structures trade a stated error for lower memory or communication.

8 min
Vector Databases

Vector retrieval finds items whose embeddings are close under a chosen distance function.

8 min
Change Data Capture

Change data capture (CDC) publishes database changes for downstream projections and event consumers.

8 min

07In the Wild

All Posts

Read production engineering posts as evidence with a scope and date.

6 min
Shopify Inventory Reservations

Shopify’s account describes replacing Redis reservations with MySQL.

6 min
Discord Message Storage

Discord’s account describes moving its message store from Cassandra to ScyllaDB and adding Rust data services.

6 min
Slack Job Queue

Slack describes a Redis queue outage caused by backlog and memory pressure.

6 min
Figma Multiplayer

Figma describes a centralized collaboration design inspired by CRDTs, not operational transformation.

6 min
Spotify Data Lake

Spotify’s RAP account describes an external index that maps lookup keys to files and row locations in existing Parquet data.

6 min
Meta ZGateway

Meta describes ZGateway as a managed proxy tier before ZippyDB.

6 min