Choose your character

It shows in the top bar and on your profile. Change it any time.

Courses / Programming

System Design

Draw systems, estimate capacity and test the trade-offs.

Start lesson 1Practice interviewTake the assessmentPractice the first unit of every course. No account needed.
57lessons
336checked exercises
18projects, cases and exams
Prepares you for System design interviews

Projects, case studies and mock exams

Project · BeginnerA URL shortener

Build a complete shortener from scope to failure handling.

6 steps · 35 min
Project · IntermediateA news feed

Build a feed that handles both ordinary members and a large broadcaster.

7 steps · 40 min
Project · IntermediateA chat app

Build a durable chat path that survives retries and reconnects.

7 steps · 40 min
Case study · IntermediateNearby drivers

Keep nearby-driver queries fresh across cell boundaries and delayed updates.

6 steps · 30 min
Case study · IntermediateReliable notifications

Keep a stable identity across scheduling, delivery and provider reconciliation.

6 steps · 30 min
Case study · AdvancedPayments

Reconcile ambiguous payment outcomes under one durable intent.

6 steps · 35 min
Case study · AdvancedTicket sales

Protect a hot seat while bounding launch traffic and late-payment effects.

6 steps · 35 min
Case study · AdvancedVideo streaming

Deliver complete video renditions while making retries and cold traffic safe.

6 steps · 35 min
Project · AdvancedA web crawler

Build a polite crawler with durable scheduling and duplicate-safe output.

7 steps · 45 min
Mock exam · AdvancedTimed mock: document exports

Complete a timed export-service design with checked stages and failure handling.

6 questions · 35 min
Project · ExpertA clickstream pipeline

Build a replayable event pipeline with deduplication and corrected session metrics.

7 steps · 28 min
Case study · ExpertRide app analytics

Recommend a city operating measure with corrected event time and a defensible denominator.

6 steps · 24 min
Case study · ExpertA live dashboard

Design a dashboard that distinguishes processing delay from absent business events.

6 steps · 24 min
Case study · ExpertAn experiment platform

Build stable assignments and distinguish a business result from a broken experiment.

6 steps · 24 min
Mock exam · ExpertTimed mock: telemetry platform

Complete seven timed design stages with a retained-input and recovery contract.

7 questions · 35 min

Build a design from requirements to failure handling. You work on an editable board with request paths, storage, caches, queues and data pipelines. Each task checks the result and explains the missing requirement. Start with estimates and interfaces, then practice replication, partitioning and asynchronous work. Guided projects turn the parts into a URL shortener, a news feed and a chat service. Case studies examine payments, hot inventory and analytics. The data systems sequence covers streaming, warehouse models, change data capture and backfills. Finish with interview questions and timed mock designs. Every scenario uses fictional organizations and workloads.

Interview practice

Explain what you've learned in a full-screen interview. Speak or type, then review your answers against the rubric for your level.

Interview loops by job

Beginner

FreeNo account or card needed. Every lesson in this unit is yours to practice.

Requirements and estimates

Agree on scope and quantify the workload before choosing components.

4 lessons

Request paths and storage

Connect clients, replicas, data stores and caches to a concrete access pattern.

4 lessons

Interfaces and a first design

Define APIs and identity, then build a complete URL shortener.

5 lessons

Intermediate

Distributed state

Choose replication, partitioning and cache policies around freshness and hot-key failures.

4 lessons

Asynchronous work

Build durable jobs, bounded admission and identifiers that survive retries and clock changes.

4 lessons

Application delivery

Design public content, search, feeds, chat, location matching and notifications.

7 lessons

Advanced

Distributed correctness

Define consistency contracts and recover sagas and replayed streams without losing intent.

4 lessons

Reliable operations

Measure user objectives, fence regional writers and reconcile uncertain payment outcomes.

4 lessons

Design under pressure

Design hot inventory, streaming video and a polite crawler, then practice interview and timed assessment work.

6 lessons

Expert

Data pipelines

Choose processing paths, model fact grain, and build a corrected clickstream pipeline.

4 lessons

Storage and recovery

Capture committed changes, publish table snapshots, and recover results without duplication.

4 lessons

Analytics decisions

Define comparable metrics, design decision systems, and complete timed data engineering interviews.

7 lessons

Your Work Gym account

Save your progress and pick up on another device. Your browser's progress comes with you.

We'll email you a link. It works once and expires in 15 minutes.

You can keep practicing without an account.