Skip to content

Readme

Generated on: 2025-07-13 02:58:29
Total Cheatsheets: 36/36
Coverage: Foundational to Advanced System Design Topics

This collection contains comprehensive System Design cheatsheets organized by difficulty level. Each cheatsheet includes core concepts, diagrams, trade-offs, and real-world examples.

  1. Start with Foundational if you’re new to system design.
  2. Progress to Intermediate for more complex concepts.
  3. Advance to Advanced for distributed systems and large-scale architecture.
system_design_cheatsheets/
β”œβ”€β”€ foundational/
β”œβ”€β”€ intermediate/
β”œβ”€β”€ advanced/
└── README.md
  • [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)
  • Concept: Distributing incoming network traffic across multiple servers.
  • Diagram:
    graph TD
    A[Client] --> B(Load Balancer);
    B --> C[Server 1];
    B --> D[Server 2];
    B --> E[Server 3];
  • Concept: Storing copies of files or data in a temporary storage location (cache) so that they can be accessed more quickly.
  • Diagram:
    graph TD
    A[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! 🎯