# Interview preparation

This plan is build on top of <https://github.com/abstractart/learn-system-design>.

## Technical aspects:

* **(priority 1)** Minimal theory for necessary aspects of system design (<https://github.com/karanpratapsingh/system-design>)
* **(priority 1)** short summary of theoretical necessary knowledge (<https://www.educative.io/blog/complete-guide-to-system-design>)
* **(priority 1)** video explanations on examples
  * Gaurav [Youtube list](https://www.youtube.com/watch?v=xpDnVSmNFX0\&list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX)&#x20;
  * Белорус [Youtube list](https://www.youtube.com/c/SystemDesignInterview) (детально)
* **(priority 2)** More detailed reading (book chapters). Preparing for the Google System Design Interview (<https://github.com/jguamie/system-design>)&#x20;
* **(priority 2)** bytebytego visualisations on different topics (<https://blog.bytebytego.com/archive>)
* **(priority 3)** Study guide and lots of exercices with solutions (<https://github.com/donnemartin/system-design-primer>)
* **(priority 4)** Just a big mindmap of things to know/answer. So like a check list. Use it when you are already experienced (<https://github.com/mohsenshafiei/system-design-master-plan>)

## Interview flow:

* Plan of the interview, structure of speech (<https://tellmeabout.tech/how-to-prepare-for-and-pass-the-system-design-interview-78b820589e8>)
* Interview in Yandex (<https://habr.com/ru/companies/yandex/articles/564132/>)
* [Проходим L6 интервью на System Design в FAANG](https://habr.com/ru/articles/655663/) (short)

## Cheatsheets

Шпаргалки здорово помогают во время интервью придерживать плана, защищают от забывчивости, поэтому рекомендую распечатать и держать перед собой на интервью, это важно!

1. 🔗 [My System Design Template (LeetCode)](https://leetcode.com/discuss/career/229177/My-System-Design-Template)
2. [System Design Cheatsheet (Github gist)](https://gist.github.com/vasanthk/485d1c25737e8e72759f)
3. [System Design Ultimate Guide (Image)](https://github.com/abstractart/learn-system-design/blob/main/system-design-guide.jpeg)
4. 🔗 [Latency Numbers Every Programmer Should Know](https://colin-scott.github.io/personal_website/research/interactive_latency.html)

## Mock Interview

* 📺 [Видео пробных собеседований от karpov.courses](https://www.youtube.com/watch?v=Ow88hoEnsq8\&list=PLBRXq5LaddfzDBjg6soIwJJA2klXXs6ni)
* 📺 [Интервью по System Design. Александр Поломодов (Тинькофф)](https://www.youtube.com/watch?v=Wh5Ya6UFG1k)
* 🔗[pramp.com - для самостоятельной практики](https://www.pramp.com/#/)

## Advanced System Design

System Design довольно обширная тема, изучать её можно бесконечно, поэтому если вы прочитали ресурсы выше и вам этого мало то ныряйте глубже :)

* [**The Patterns of Scalable, Reliable, and Performant Large-Scale Systems**](https://github.com/binhnguyennus/awesome-scalability)
* [**A curated list to learn about distributed systems**](https://github.com/theanalyst/awesome-distributed-systems)
* [Advanced data structure and algorithm for system design](https://github.com/resumejob/system-design-algorithms)
* 📺 [Distributed Systems lecture series by Martin Kleppmann](https://www.youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB)
* 🔗 [**High Scalability Blog**](http://highscalability.com/)
* 🔗 [jepsen.io - Distributed Systems Safety Research](https://jepsen.io/)
