Review 28 chapters of system design interview preparation notes
This resource is for developers who want to quickly review system design problems required in interviews. It is a study note based on the content of Alex Xu's 'System Design Interview' volumes 1 and 2, organizing the core concepts and design cases of each chapter. Although it is not yet complete, it is useful for diving deep into specific areas as it is provided with additional reference materials by topic.
From basic infrastructure to large-scale services
The notes consist of 28 chapters, starting with how to scale from zero to millions of users. They cover basic infrastructure components such as rate limiters, consistent hashing, and key-value stores, as well as application-level designs like URL shorteners, web crawlers, and news feeds. Specific design cases for large-scale distributed systems, including YouTube, Google Drive, stock exchanges, and digital wallets, are also included. Each chapter is structured around scenarios that frequently appear in interviews, allowing you to naturally learn the flow of problem-solving.
Collection of in-depth materials by topic
In-depth materials related to each topic are provided together.
- Rate Limiting Covers the circuit breaker algorithm and Uber's rate limiter case.
- Consistent Hashing You can refer to scaling cases of real systems such as Cassandra, Discord, and Google Maglev.
- Key-Value Store Discusses the internal structure and design patterns of Amazon Dynamo, Cassandra, and Google BigTable.
- Unique ID Generator Explains unique ID generation methods in distributed systems like Ticket Server and Snowflake.
Work in progress and usage tips
This note is currently a work in progress, and the content may continue to be updated. Therefore, it is recommended to periodically check for changes to confirm the latest information. Since the content of each chapter highlights key points for interview preparation, focusing on specific topics for repeated study is more effective than reading the whole thing. In particular, chapters on calculation skills like 'Back-of-the-envelope Estimation' or approaches like 'A Framework For System Design Interviews' serve as a foundation for solving other design problems, so it is recommended to learn them first.