Learning pathsA
GUIDED COURSE

System Design Course

Build systems. Explain the trade-offs.

69 learning activities·0% complete

The curriculum

Part 1 · Fundamentals

01Orientation

Introduction

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

6 min
Delivery Framework

A complete interview framework with a worked notification design.

21 min

02Foundations

Networking Essentials

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

11 min
Quiz: Networking Essentials

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
API Design

An API is a promise between independently failing programs.

8 min
Quiz: API Design

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
Data Modeling

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

7 min
Quiz: Data Modeling

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
Database Indexing

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

8 min
Quiz: Database Indexing

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min

03Thinking in Scale

Caching

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

10 min
Quiz: Caching

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
Sharding

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

7 min
Quiz: Sharding

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
Consistent Hashing

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

8 min
Quiz: Consistent Hashing

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
CAP Theorem

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

8 min
Quiz: CAP Theorem

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
Numbers to Know

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

8 min
Quiz: Numbers to Know

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
Part 2 · The Patterns

04Scaling Reads

Practice: Bitly

Design editable, expiring short links for a public URL service. An owner creates and disables links; visitors resolve them without signing in.

PRACTICE30 min
Review: Bitly

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

REVIEW10 min
Scaling Reads

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

7 min
Quiz: Scaling Reads

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
PostgreSQL

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

7 min
Redis

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

10 min
News Aggregator

Design a personalized list of articles collected from publishers.

10 min
Easy Timed Practice

Run a 30-minute self-guided design session for a news aggregator. Build ingestion, deduplication, and a paginated topic feed, then respond to changing conditions.

TIMED PRACTICE30 min

05Scaling Writes

Scaling Writes

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

7 min
Quiz: Scaling Writes

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
Kafka

Kafka is a partitioned durable log.

7 min
Cassandra

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

7 min
Practice: Ad Click Aggregator

Design a near-real-time campaign click dashboard with replay and late-arrival correction. Explicitly separate dashboard estimates from billing finalization.

PRACTICE30 min
Review: Ad Click Aggregator

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

REVIEW11 min

06Real-time Updates

Practice: FB Live Comments

Design a comment stream for live videos, including durable posting, fast fanout, reconnect, and moderation.

PRACTICE30 min
Review: FB Live Comments

Design comments for a live video room.

REVIEW10 min
Real-time Updates

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

7 min
Quiz: Real-time Updates

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 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

07Dealing with Contention

Practice: Ticketmaster

Design a reserved-seat ticket sale with temporary holds and payment confirmation. One seat may have at most one confirmed owner.

PRACTICE30 min
Review: Ticketmaster

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

REVIEW11 min
Dealing with Contention

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

7 min
Quiz: Dealing with Contention

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
Online Auction

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

11 min
Medium Timed Practice

Run a 40-minute self-guided auction design session. Define bid acceptance, deadline rules, winner selection, and payment recovery.

TIMED PRACTICE40 min

08Multi-step Processes

Practice: 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
Multi-step Processes

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

7 min
Quiz: Multi-step Processes

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
Payment System

A payment service must represent uncertainty without creating another charge.

11 min

09Handling Large Blobs

Practice: Dropbox

Design a file synchronization service with resumable uploads, immutable versions, multiple devices, and explicit conflict handling.

PRACTICE30 min
Review: Dropbox

Design file upload and synchronization with separate metadata and bytes.

REVIEW26 min
Handling Large Blobs

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

7 min
Quiz: Handling Large Blobs

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
YouTube

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

11 min

10Managing Long Running Tasks

Practice: LeetCode

Design an online judge that executes submitted programs against versioned hidden tests. Treat submitted code as hostile.

PRACTICE30 min
Review: LeetCode

Design an online code judge that executes untrusted submissions.

REVIEW11 min
Managing Long Running Tasks

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

7 min
Quiz: Managing Long Running Tasks

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
Web Crawler

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

11 min

11Proximity-Based Services

Practice: Yelp

Design nearby business search with category, text, radius, opening-hours filters, and paginated results.

PRACTICE30 min
Review: Yelp

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

REVIEW11 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
Elasticsearch

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

7 min
Uber

Design ride matching by separating approximate discovery from exclusive assignment.

10 min
Part 3 · Put It All Together

12Final Designs

Practice: FB News Feed

Design a feed from posts and follow relationships with hybrid fanout, ranking, stable pagination, privacy changes, and deletion.

PRACTICE30 min
Review: FB News Feed

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

REVIEW11 min
Metrics Monitoring

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

11 min
Quiz: Metrics Monitoring

Five scenario questions with explanations and a visual checkpoint.

QUIZ8 min
Hard Timed Practice

Design a feed from posts and follow relationships with hybrid fanout, ranking, stable pagination, privacy changes, and deletion.

TIMED PRACTICE45 min