Back to roadmaps

System Design

From scalability basics to senior level distributed systems and a problem catalog, with low level design added. Duration twelve to sixteen weeks. Target outcome: design any common system in forty five minutes with confident trade off reasoning.

00 of 39 topics

Overview

This track restructures your system design roadmap into stages and adds low level design and a reusable interview framework. It assumes basic networking, SQL, one backend language, and REST. Each stage builds intuition for why systems are designed the way they are, then moves to distributed components and real architectures. Use the drawing canvas in the app to diagram every design you study.

Prerequisites

0 of 5

Stage 1: Beginner foundations (weeks 1 to 4)

Week 1: Scale and performance

0 of 3

Week 2: Traffic distribution and caching

0 of 3

Week 3: API design

0 of 3

Week 4: Beginner designs

Build
  • Design a URL shortener, a pastebin, a rate limiter, and a tiny URL service

Stage 2: Intermediate distributed components (weeks 5 to 10)

Week 5: Databases and storage

0 of 2

Week 6: Sharding and replication

0 of 2

Week 7: Consistency and the CAP theorem

0 of 2

Week 8: Messaging and microservices

0 of 3

Week 9: Resilience

0 of 2

Week 10: Intermediate designs

Build
  • Design Instagram, WhatsApp, a Twitter feed, and Dropbox

Stage 3: Advanced architecture (weeks 11 to 16)

Week 11: Distributed systems

0 of 2

Week 12: Event driven architecture

0 of 1

Week 13: Observability and search

0 of 2

Week 14: Security and capacity

0 of 2

Week 15: Reliability and trade offs

0 of 3

Week 16: Advanced designs

Build
  • Design Google Maps, Uber, YouTube, and a notification service

Low level design supplement

Object oriented design

0 of 4
Build
  • Design and implement two low level design problems with clean class structure

The interview framework

Use this for every design question. The phases are requirements, estimates, system interface, high level design, architecture deep dive, data model, and edge cases and failures.

Time split for a forty five minute interview:

Requirements and estimates: five minutes

High level diagram: ten minutes

Deep dive on two components: twenty minutes

Trade offs and failure modes: ten minutes

What interviewers look for: structured thinking, trade off awareness, failure thinking, estimation confidence, and clear communication.

Mistakes to avoid: jumping to a solution before clarifying requirements, over engineering for day one, ignoring failure modes, using buzzwords without justification, staying high level without one deep dive, and not asking clarifying questions.

Hands on projects

Build
  • A URL shortener, a rate limiter middleware, a job queue system, a key value store, a paste sharing app, a real time chat app, a notification service, a search autocomplete, a distributed task scheduler, an event driven order system, a multi tenant platform, and an AI agent orchestrator

Resource master reference

Books in reading order

Understanding Distributed Systems by Roberto Vitillo

System Design Interview Volume 1 by Alex Xu

Designing Data Intensive Applications by Martin Kleppmann

System Design Interview Volume 2 by Alex Xu

Software Architecture The Hard Parts by Neal Ford and others

Video resources

ByteByteGo by Alex Xu

Gaurav Sen

the freeCodeCamp system design course

Hello Interview

Repositories

the System Design Primer by donnemartin

System Design 101 by ByteByteGo

Interview focus

Common questions

Design a URL shortener

Design WhatsApp or Messenger

Design a news feed like Twitter

Design YouTube

Design a notification system

Design a distributed cache

Design a rate limiter

Design a payment system

Design Google Drive or Dropbox

Design a search engine