gitmyhub

system_design

★ 9.2k updated 2y ago

Preparation links and resources for system design questions

A curated study guide for learning how large-scale distributed systems work and preparing for system design interviews, with links to video lectures, engineering blogs from major tech companies, and a step-by-step interview approach.

setup: easycomplexity 1/5

This repository is a curated study guide for understanding large-scale distributed systems and preparing for system design interview questions. It contains no code. Instead, it is a collection of links, notes, and structured advice for software engineers who want to learn how big technology companies build systems at scale, or who are preparing for technical interviews that include open-ended design questions.

The content is organized into sections. A starting-point section links to video lecture series covering topics like load balancing, message queues, and how real products such as messaging apps are built from the ground up. A basics section lists foundational topics worth knowing before going deeper, including operating system concepts, networking fundamentals, database types, and web architecture patterns like caching and content delivery.

There is also practical advice for interview situations: how to clarify the problem, how to define the scope of the system, and how to work through a design starting from a small example before scaling it up. The author shares a personal step-by-step approach that covers identifying use cases and constraints, thinking through storage and caching needs, handling concurrency, and checking for edge cases with the interviewer.

A section of common design questions lists the types of problems that come up in interviews at large companies, such as designing a URL shortener, a photo-sharing service, a messaging app, or a recommendation system, each linking to relevant reading material.

The README also includes links to engineering blogs from companies including Facebook, Twitter, Google, and Amazon, where these companies have published accounts of the real systems they built and the problems they encountered. This section makes the guide useful beyond interview prep, as a window into how production systems at scale actually work.

Where it fits