Данный репозиторий - лучшее из того что мне удалось найти на просторах сети в процессе изучения System Design и подготовки к одноименному интервью. Контент разбит на 3 категории чтобы человек любого уровня подготовки мог найти именно то что нужно. На первый взгляд может показаться что это слишком короткий гайд, и многих популярных книг и курсов в нем нет, но на самом деле каждая ссылка, особенно на Github репозитории раскрывается в огромное количество информации, в том числе с теми самыми книгами и курсами :)
В начале пути я использовал 3 репозитория, они здорово помогли мне освежить знания, систематизировать то что уже было и погрузиться в предметную область
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Learn how to design systems at scale and prepare for system design interviews
Learn System Design step by step
Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.
Помимо них меня здорово выручали красивые cтатьи и видео от ByteByteGo. Также отмечу ресурсы System Design Newsletter и Architecture Notes
Прохождение интервью - отдельная история, так как нужно не только знать теорию а уметь её применять, коммуницировать с собеседником и держать темп чтобы уложиться во временные рамки. Понять что требуется от человека на собесе и как максимизировать свои шансы помогут статьи:
- 🔗 Александр Поломодов: Как подготовиться и пройти System Design Interview. 📺 Видео и 📖 статья.
- 🔗 Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем
- 🔗 Проходим L6 интервью на System Design в FAANG
Шпаргалки здорово помогают во время интервью придерживать плана, защищают от забывчивости, поэтому рекомендую распечатать и держать перед собой на интервью, это важно!
- 🔗 My System Design Template (LeetCode)
System Design Cheatsheet (Github gist)
System Design Ultimate Guide (Image)- 🔗 Latency Numbers Every Programmer Should Know
- 📺 Видео пробных собеседований от karpov.courses
- 📺 Интервью по System Design. Александр Поломодов (Тинькофф)
- 🔗 pramp.com - для самостоятельной практики
- 🔗 Architectural Katas
- 🔗 Architectural Katas by Neal Ford
System Design довольно обширная тема, изучать её можно бесконечно, поэтому если вы прочитали ресурсы выше и вам этого мало то ныряйте глубже :)
The Patterns of Scalable, Reliable, and Performant Large-Scale Systems
These are the best resources for System Design on the Internet
A curated list to learn about distributed systems
This repository contains System Design resources which are useful while preparing for interviews and learning Distributed Systems
Roadmap to becoming a system design and architecture master
Advanced data structure and algorithm for system design- 📺 Distributed Systems lecture series by Martin Kleppmann
- 🔗 jepsen.io - Distributed Systems Safety Research