awesome-system-design-resources README

The project's README from github.com/ashishps1/awesome-system-design-resources. As one markdown file: README.md.

Awesome System Design Resources

This repository contains free resources to learn System Design concepts and prepare for interviews.

👉 Subscribe to my AlgoMaster Newsletter and get a FREE System Design Interview Handbook in your inbox.

✅ If you are new to System Design, start here: System Design was HARD until I Learned these 30 Concepts

⚙️ Core Concepts

🌐 Networking Fundamentals

🔌 API Fundamentals

🗄️ Database Fundamentals

⚡ Caching Fundamentals

🔄 Asynchronous Communication

🧩 Distributed System and Microservices

🖇️ Architectural Patterns

⚖️ System Design Tradeoffs

✅ How to Answer a System Design Interview Problem

💻 System Design Interview Problems

Easy

Medium

Hard

📇 Courses

📩 Newsletters

📚 Books

📺 YouTube Channels

📜 Must-Read Engineering Articles

🗞️ Must-Read Distributed Systems Papers


If you find this resource helpful, please give it a star ⭐️ and share it with others!

awesome-system-design-resources (ashishps1/awesome-system-design-resources)

Searching Database…

Что это такое?Бесплатная подборка отобранных материалов по System Design: базовые понятия, основы сетей и API, основы баз данных и кэширования, паттерны распределённых систем, а также большой список задач для собеседований, книг, курсов и научных работ. Всё это нацелено на подготовку к собеседованиям по System Design.
Это учебник, инструмент или просто список ссылок?Это отобранный индекс в стиле awesome-list: один README, разбитый на тематические разделы, со списком маркированных ссылок на статьи, видео, курсы и научные работы, а не собственный авторский контент.
Как устроен список?Он разбит на разделы: Core Concepts, Networking Fundamentals, API Fundamentals, Database and Caching Fundamentals, Distributed Systems, Architectural Patterns, Tradeoffs, а затем System Design Interview Problems, разбитые на Easy, Medium и Hard. После них идут Courses, Books и Must-Read Papers.
С чего начинающему стоит начать?README направляет новичков к отдельной вводной статье перед переходом к спискам понятий и рекомендует решать задачи для собеседований по порядку: от Easy к Hard.
Для кого этот список?Для инженеров-программистов, которые готовятся к собеседованиям по System Design: от новичков, изучающих базовые понятия, до кандидатов, которые тренируются на полноценных задачах проектирования вроде Uber или Netflix.
Какие задачи для собеседований здесь есть?Десятки классических задач на проектирование, разбитых по сложности: сокращатель ссылок и ограничитель частоты запросов (Easy), WhatsApp, Netflix и Twitter (Medium), а также Uber, Google Docs и Google Maps (Hard).
Есть ли здесь что-то кроме статей?Да. Есть ссылки на полноценные курсы, рассылку, рекомендованную книгу (Designing Data-Intensive Applications), YouTube-каналы и классические научные работы о распределённых системах, например Google File System и Dynamo.
Есть ли разборы кейсов реальных компаний?Да, раздел Must-Read Engineering Articles ведёт к статьям вроде того, как Discord хранит триллионы сообщений, предотвращение двойных платежей в Airbnb и архитектура обмена сообщениями в реальном времени в Slack.
Почему основным языком указан Java?Содержимое репозитория — это просто markdown-ссылки без кода. Метка Java, скорее всего, появилась из-за несвязанного или минимального файла в репозитории, а не из-за реального кода реализации.
Creator
ashishps1
Size
2.3 MB
Stars
42.6K
Updated
CommitFeb 16
Age
2y
Commits · 90 Days