System Design

System Design

System Design Track

Interview-style design questions with deep follow-ups

20 canonical system design problems. Each one starts from what you are building, walks through the engineering decisions, then closes with 10 to 15 follow-up scenarios you should be able to answer at the senior level.

20Problems
17Categories
3Levels
Source repo
🧭
Start here

System Design Roadmap — Beginner to Expert

A staged learning path covering every concept you need, in the order you need it. Foundations, storage, caching, messaging, scaling, distributed systems, and the interview craft.

7 stages60+ topicsNo prerequisites
📚
Reference library

System Design Concepts — Quick answers, in plain English

70 of the most common system design questions with short, scenario-driven explanations. Caching, queueing, consistency, load balancers, cloud trade-offs, and more.

70 topics12 sectionsIncluding AWS / GCP / Azure
20 of 20 problems
#1 Medium

Design a URL Shortener

Basics
encodingkv storecachingsharding +1
#2 Hard

Design a News Feed (Twitter / Instagram)

Social & Feeds
fan-outtimelinehot usersranking +1
#3 Hard

Design a Chat System (WhatsApp / Slack)

Real-Time Communication
websocketsmessage deliverypresenceordering +1
#4 Medium

Design a Rate Limiter

Reliability
token bucketsliding windowdistributed countersredis +1
#5 Medium

Design Typeahead / Autocomplete Search

Search
trieprefix treerankingcaching +1
#6 Hard

Design YouTube / Netflix (Video Streaming)

Streaming
cdnadaptive bitratetranscodingstorage tiers +1
#7 Hard

Design Uber / Lyft (Ride Sharing)

Geospatial
geohashh3matchingdispatch +1
#8 Hard

Design a Web Crawler (Googlebot)

Distributed Systems
bfsfrontierdeduplicationpoliteness +1
#9 Medium

Design a Distributed Cache (like Redis or Memcached)

Distributed Systems
consistent hashingreplicationevictionttl +1
#10 Medium

Design a Notification System

Messaging
fan-outretrydeduplicationmulti-channel +1
#11 Easy

Design an Approval Management Service

Workflow
state machinerole routingdelegationescalation +1
#12 Easy

Design a Shopping Cart Service

Session State
sessionpersistenceidempotencyinventory check +1
#13 Easy

Design a Todo List with Sharing and Collaboration

Collaboration
real-timewebsocketssharingpermissions +1
#14 Easy

Design a Coupon Code Redemption System

Concurrency
uniquenesssingle-useabuse preventionexpiration +1
#15 Easy

Design a Comment System (Threaded + Voted + Moderated)

User Content
nested datavotingmoderationsoft delete +1
#16 Easy

Design a Load Balancer

Networking
l4l7health checkssticky sessions +2
#17 Easy

Read-Heavy System Patterns

Patterns
cachingCDNread replicasmaterialized views +2
#18 Easy

Write-Heavy System Patterns

Patterns
batchingasyncpartitioningappend-only +3
#19 Easy

Design a Help Desk Ticketing System (like a basic Zendesk)

Workflow
state machineslaassignmentmulti-channel intake +1
#20 Easy

Design a File Upload & Share Service (Dropbox-lite)

Storage
chunked uploadshare linkspermissionsstorage tiers +1