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.
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
Stage 1: Beginner foundations (weeks 1 to 4)
Week 1: Scale and performance
0 of 3Week 2: Traffic distribution and caching
0 of 3Week 3: API design
0 of 3Week 4: Beginner designs
- 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 2Week 6: Sharding and replication
0 of 2Week 7: Consistency and the CAP theorem
0 of 2Week 8: Messaging and microservices
0 of 3Week 9: Resilience
0 of 2Week 10: Intermediate designs
- Design Instagram, WhatsApp, a Twitter feed, and Dropbox
Stage 3: Advanced architecture (weeks 11 to 16)
Week 11: Distributed systems
0 of 2Week 12: Event driven architecture
0 of 1Week 13: Observability and search
0 of 2Week 14: Security and capacity
0 of 2Week 15: Reliability and trade offs
0 of 3Week 16: Advanced designs
- Design Google Maps, Uber, YouTube, and a notification service
Low level design supplement
Object oriented design
0 of 4- 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
- 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