System Design - этап собеседования, на котором сыпятся даже сильные разработчики. Не потому что они плохо пишут код, а потому что никогда не проектировали системы целиком и не знают, как уложить это в 40 минут собеса.
В рекомендациях наткнулись на гайд, где собрана вся база, без которой невозможно пройти System Design интервью: от того, что вообще проверяют на таких интервью, до реального проектирования архитектуры, масштабирования и работы с данными. В нем почему плохой дизайн может уронить продукт, какие требования собирают перед проектированием и как мыслит инженер, когда строит систему уровня Amazon.
Сейчас вышла первая часть, в которой подробно рассказывается:
что такое системный дизайн и кому он нужен?
как проектируются системы в целом: монолиты, микросервисы, нагрузка, масштабирование, проектирование API;
что нужно знать, чтобы проектировать системы на продвинутом уровне: 2PC, 3PC, TCC и так далее.
Во второй части обещают рассказать про системный дизайн во фронтенде, но для прохождения собеса, на мой взгляд, достаточно и первой.
https://youtu.be/PgC7LzIG29k