System Design

# Topic Completed (%)
1 Introduction to System Design (Importance, Goals, Types of Systems)
2 Requirements Gathering (Functional Requirements, Non-Functional Requirements, SLAs)
3 High-Level Design Concepts (Components, Modules, Layered Architecture, Monolith vs Microservices)
4 Low-Level Design Concepts (Classes, Interfaces, Data Models, ER Diagrams, Sequence Diagrams)
5 Load Balancing (Types, Algorithms, Sticky Sessions, Reverse Proxy)
6 Caching (Client-Side, Server-Side, CDN, Redis, Memcached, Invalidation Strategies)
7 Database Design (SQL vs NoSQL, Data Modeling, Schema Design, Normalization, Denormalization)
8 Indexing & Query Optimization (Primary, Composite, Full-Text, Query Plans, EXPLAIN)
9 Replication (Master-Slave, Master-Master, Synchronous vs Asynchronous, Consistency)
10 Sharding (Horizontal, Vertical, Key-Based, Range-Based, Hash-Based)
11 Consistency & Availability (CAP Theorem, Eventual Consistency, Strong Consistency)
12 Messaging & Queues (RabbitMQ, Kafka, SQS, Pub/Sub, Use Cases)
13 Asynchronous Processing (Worker Queues, Background Jobs, Retry Mechanisms)
14 Rate Limiting & Throttling (Token Bucket, Leaky Bucket, Sliding Log, Fixed Window)
15 Search & Indexing (Elasticsearch, Lucene, Full-Text Search, Ranking Algorithms)
16 Content Delivery Networks (CDNs, Edge Caching, Cache Invalidation)
17 File & Object Storage (S3, GCS, MinIO, Storage Patterns)
18 Monitoring & Logging (Prometheus, Grafana, ELK Stack, Alerts, Metrics Collection, Tracing)
19 Caching Strategies (Write-Through, Write-Back, Cache-Aside, Lazy Loading)
20 Websockets & Real-Time Communication (WebSocket Protocol, Server-Sent Events, Pub/Sub)
21 Security (Authentication, Authorization, OAuth2, JWT, SSL/TLS, API Security)
22 Scalability Patterns (Vertical vs Horizontal Scaling, Auto-Scaling, Partitioning)
23 Design Patterns in System Design (Singleton, Observer, CQRS, Event Sourcing, Circuit Breaker)
24 API Design (REST, GraphQL, gRPC, Versioning, Idempotency, Rate Limiting)
25 Microservices Architecture (Service Discovery, API Gateway, Circuit Breaker, Sagas, Event-Driven)
26 Serverless Architecture (AWS Lambda, Google Cloud Functions, Azure Functions, Use Cases & Limitations)
27 Consistency Models & Distributed Systems (CAP, PACELC, Eventual Consistency, Strong Consistency)
28 Queue vs Stream Processing (Kafka Streams, RabbitMQ, Kinesis, Use Cases)
29 High Availability & Disaster Recovery (Failover, Replication, Backup Strategies, Multi-Region Deployment)
30 Best Practices & Documentation (Code Readability, Design Reviews, Trade-offs Documentation)