Roadmap · Step 5 of 8
System Design roadmap
Plan systems that serve millions of users, with real case studies. Read the series from top to bottom, and each series from its first lesson to its last.
- Level
- Advanced
- Series
- 4
- Lessons
- 99
- Cost
- Free
Loading your progress…
Start here
- Step 5
System Design
Plan systems that serve millions of users, with real case studies.
System Design - 1What Happens When You Type a URL and Press Enter?
- 2TCP vs UDP: How Data Actually Travels
- 3HTTP & HTTPS Explained: Methods, Status Codes and TLS
- 4Processes, Threads & Concurrency for Backend Engineers
- 5SQL Basics Every System Designer Needs
- 6What Is System Design? Start With Requirements
- 7Vertical vs Horizontal Scaling (and Why Stateless Wins)
- 8Latency, Throughput & Why p99 Matters
- 9Availability and "The Nines" Explained
- 10Back-of-the-Envelope Estimation, Step by Step
- 11Anatomy of a Request: From Browser to Database
- 12Load Balancers: L4 vs L7 and Balancing Algorithms
- 13Reverse Proxy vs API Gateway
- 14How CDNs Make the Web Fast
- 15Caching Part 1: Where to Cache and Why
- 16Caching Part 2: Strategies, Eviction and Invalidation
- 17Object Storage: How S3-Style Storage Works
- 18Message Queues: A Gentle Introduction
- 19How Search Works: The Inverted Index
- 20SQL vs NoSQL: Picking the Right Data Model
- 21ACID Transactions & Isolation Levels
- 22Database Indexing: B-Trees and LSM-Trees
- 23Normalization vs Denormalization
- 24Database Replication: Leader, Follower and Beyond
- 25Sharding: Splitting Data Across Machines
- 26Consistent Hashing, Visually Explained
- 27CAP Theorem & PACELC Without the Confusion
- 28Consistency Models: Strong, Eventual and In Between
- 29How to Choose a Database for Your System
- 30REST API Design Best Practices
- 31gRPC & Protocol Buffers for Beginners
- 32GraphQL vs REST: When to Use Which
- 33Real-Time Apps: Polling, WebSockets and SSE
- 34Idempotency, Pagination & API Versioning
- 35Queues vs Pub/Sub
- 36Apache Kafka Fundamentals
- 37At-Most-Once, At-Least-Once, Exactly-Once
- 38Background Jobs, Retries & Dead-Letter Queues
- 39Event-Driven Architecture for Beginners
- 40Single Points of Failure, Redundancy & Failover
- 41Timeouts, Retries & Backoff with Jitter
- 42Circuit Breaker & Bulkhead Patterns
- 43Rate Limiting Algorithms Explained
- 44Graceful Degradation & Load Shedding
- 45Backups & Disaster Recovery: RPO vs RTO
- 46Logs, Metrics & Traces: The Three Pillars
- 47SLI, SLO, SLA & Error Budgets
- 48Monitoring, Alerting & Blameless Postmortems
- 49Authentication vs Authorization: Sessions, Cookies & JWT
- 50OAuth 2.0 & OpenID Connect Explained
- 51Encryption & Secrets Management
- 52OWASP Top 10 for Backend Developers
- 53Monolith vs Microservices: An Honest Comparison
- 54Service Discovery: How Services Find Each Other
- 55Docker & Containers for Beginners
- 56Kubernetes Core Concepts
- 57Cloud Fundamentals: Regions, AZs & Serverless
- 58CI/CD & Deployment Strategies: Blue-Green and Canary
- 59A 5-Step Framework for Any System Design Problem
- 60Design a URL Shortener
- 61Design a Rate Limiter
- 62Design a Notification System
- 63Design a Chat System
- 64Design a News Feed
- 65What I Learned From Big Tech Engineering Blogs
- 66System Design Series: The Conclusion
- 67System Design Glossary: Every Short Form Explained
- 68The Complete System Design Architecture
- 69System Design in 15 Minutes: Recap & Cheat Sheet
System Design Case Studies 2 - 0Design a Web Crawler
- 1Design a Key-Value Store (Like Redis or Dynamo)
- 2Design a File Sync Service Like Dropbox
- 3Design Collaborative Editing Like Google Docs
- 4Design a CDN
- 5Design Trending Topics and Top-K Requests
- 6Design a Unique ID Generator
- 7Design a System Across Multiple Data Centres
- 8Design a Stock Exchange Matching Engine
- 9Design Sales Ranking by Category
- 10Design a Personal-Finance Data Pipeline (Mint-Style)
- 11From One User to Millions: Scaling a Web App on AWS
Design Patterns & LLD - 0How to Run a Low-Level Design Interview, and SOLID in Plain Words
- 1Creational Patterns: Factory, Builder, Singleton and Friends
- 2Structural Patterns: Adapter, Decorator, Facade, Proxy and Composite
- 3Behavioural Patterns: Strategy, Observer, Command, State and Chain of Responsibility
- 4Patterns You Already Use: Middleware, Hooks, Dependency Injection, and Anti-Patterns
- 5Design a Parking Lot
- 6Design an LRU Cache and a Hash Map
- 7Design a Vending Machine and an Elevator (State Machines)
- 8Design a Deck of Cards, Blackjack and a Chat Server (Class Models)
- 9Design a Rate Limiter and a Notification Service (Class Models)
Practical Design Problems - 0How to Run a Practical Design Interview
- 1Design a URL Shortener (Long URL to Short URL)
- 2Design a Rate Limiter
- 3Design Pagination: Offset vs Cursor (Keyset)
- 4Design File Upload (Including Large Files)
- 5Design a Notification System (In-App, Push, Email)
- 6Design Autocomplete / Typeahead (Frontend System Design)
- 7Design an LRU Cache, Idempotent Payments and Other Classic Mini-Problems