System Design Course Index
Learn how to design scalable, reliable, and high-performance systems used in real-world software engineering interviews and production environments.
I. Beginner Level
1.Introduction to System Design
2.Design Thinking
3.Requirements Gathering
4.Functional vs Non-Functional Requirements
5.CAP Theorem
6.Scalability Basics
7.Latency and Throughput
8.Availability and Reliability
9.Load Balancing
10.Caching Basics
11.Databases Overview
12.SQL vs NoSQL
13.Data Replication
14.Data Partitioning
15.Beginner Design Exercise
II. Intermediate Level
16.Message Queues
17.Event-Driven Architecture
18.Microservices Basics
19.Service Discovery
20.API Design
21.Rate Limiting
22.Authentication and Authorization
23.Consistency Patterns
24.Distributed Transactions
25.Observability
26.Logging and Monitoring
27.Fault Tolerance
28.Circuit Breaker Pattern
29.Intermediate Design Exercise
30.System Review