Readme
System Design Cheatsheets Collection
Section titled βSystem Design Cheatsheets CollectionβGenerated on: 2025-07-13 02:58:29
Total Cheatsheets: 36/36
Coverage: Foundational to Advanced System Design Topics
π Overview
Section titled βπ OverviewβThis collection contains comprehensive System Design cheatsheets organized by difficulty level. Each cheatsheet includes core concepts, diagrams, trade-offs, and real-world examples.
π― How to Use
Section titled βπ― How to Useβ- Start with Foundational if youβre new to system design.
- Progress to Intermediate for more complex concepts.
- Advance to Advanced for distributed systems and large-scale architecture.
π Directory Structure
Section titled βπ Directory Structureβsystem_design_cheatsheets/βββ foundational/βββ intermediate/βββ advanced/βββ README.mdπ Topic Index
Section titled βπ Topic Indexβπ Foundational Level (10 topics)
Section titled βπ Foundational Level (10 topics)β- Scalability Concepts (Vertical vs. Horizontal)
- High Availability and Fault Tolerance
- Load Balancing Strategies
- Caching Patterns and Techniques
- Database Types (SQL vs. NoSQL)
- Content Delivery Networks (CDN)
- Message Queues and Pub/Sub
- API Design (REST, GraphQL, gRPC)
- Security Fundamentals in System Design
- Latency and Throughput
π Intermediate Level (10 topics)
Section titled βπ Intermediate Level (10 topics)β- Database Sharding and Partitioning
- Consistent Hashing
- Distributed Caching
- Rate Limiting and Throttling
- Service Discovery
- Circuit Breaker Pattern
- Idempotency
- CAP Theorem
- Microservices Architecture
- Event-Driven Architecture
π Advanced Level (10 topics)
Section titled βπ Advanced Level (10 topics)β- Distributed Transactions and Sagas
- Leader Election
- Gossip Protocol
- Quorum and Consensus Algorithms (Paxos, Raft)
- Stream Processing (Kafka, Flink)
- Search and Indexing (Elasticsearch)
- Blob Storage (S3, GCS)
- Global Scale Architectures
- Designing for Cost Optimization
- Observability (Logging, Metrics, Tracing)
π Practical Design Problems Level (6 topics)
Section titled βπ Practical Design Problems Level (6 topics)β- [Design a Rate Limiter](./practical design problems/01_Design_a_Rate_Limiter.md)
- [Design a URL Shortener](./practical design problems/02_Design_a_URL_Shortener.md)
- [Design a News Feed System](./practical design problems/03_Design_a_News_Feed_System.md)
- [Design a Web Crawler](./practical design problems/04_Design_a_Web_Crawler.md)
- [Design a Typeahead Suggestion System](./practical design problems/05_Design_a_Typeahead_Suggestion_System.md)
- [Design a Distributed Key-Value Store](./practical design problems/06_Design_a_Distributed_Key-Value_Store.md)
π Quick Start Examples
Section titled βπ Quick Start ExamplesβLoad Balancing
Section titled βLoad Balancingβ- Concept: Distributing incoming network traffic across multiple servers.
- Diagram:
graph TDA[Client] --> B(Load Balancer);B --> C[Server 1];B --> D[Server 2];B --> E[Server 3];
Caching
Section titled βCachingβ- Concept: Storing copies of files or data in a temporary storage location (cache) so that they can be accessed more quickly.
- Diagram:
graph TDA[Client] -->|Request| B(Application);B -->|Cache Miss| C(Cache);C -->|Data not found| D(Database);D -->|Data| C;C -->|Data| B;B -->|Response| A;
Happy Designing! π―