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

  1. Step 5

    System Design

    Plan systems that serve millions of users, with real case studies.

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