$ show donnemartin/system-design-primer
This repository is an educational reference and study guide for system design interviews. It is not a deployable application or data pipeline. It provides a structured index of system design topics, solution sketches for common design problems (e.g., pastebin, Twitter, web crawler), and Python code snippets illustrating key patterns like LRU caching, hash tables, BFS on social graphs, and MapReduce. The material is oriented toward preparing engineers for technical interviews, with back-of-the-envelope calculations, REST API designs, and scalability discussions. The code examples are minimal, self-contained, and demonstrate fundamental computer science patterns, but are not production-grade software. The repository also includes Anki flashcard decks for spaced repetition.
The LLM identified 2 files worth highlighting for reuse:
Implements an LRU cache using a doubly linked list and a hash map for O(1) get and put operations. The code is self-contained, cleanly structured, and demonstrates a classic computer science data structure that can be extracted and reused in any project requiring cache eviction.
Provides a Graph class with a shortest_path method using breadth-first search for unweighted graphs. The implementation is isolated, uses a LookupService abstraction, and can be reused as a template for graph traversal in social networks or any BFS-based pathfinding.