System Design Interview guide_1
Стартую 2 обещанных дня материалов по SystemDesignInterview!
Вот вроде бы вообще не новая практика. Укоренившаяся на рынке последние лет 5. Но до сих пор на менторинг приходят ребята даже с базовыми вопросами: что почитать/посмотреть, чтобы разобраться в этой методике. И сегодня я попробую собрать базовые материалы, которые смогут вам помочь в подготовке и ещt несколько советов от себя.
Прежде чем начать, давайте усвоим, что весь мой опыт зачастую базируется на финтех-компаниях или около финтех-индустрии, поэтому и примеры, и люди, на которых я буду ссылаться, тоже, зачастую, из этой индустрии.
1️⃣ Если бы нужно было порекомендовать кого-то одного на почитать/посмотреть, то, конечно же, это Саша Поломодов!
У Саши потрясающий спейс на медиуме и я прям настоятельно его рекомендую изучить.
У Саши офигенные доклады и разборы System Design interview, и он заведует практикой в T-банке. Смотреть и читать стоит ВСЕ. Главный плюс — Саша демонстрирует всегда очень системный и последовательный подход с углублением в технические детали и объяснениями, зачем и почему именно это важно показать.
2️⃣Книга "System Design Interview — An insider’s guide" by Alex Xu
На русском издает издательство Питер
Ее достаточно подробный обзор делал Саша, а еще есть, опять же на медиуме, краткий обзор, чтобы понять, читать ли книгу, от Никиты Ульшина
3️⃣ Легендарный кабанчик...
Ну тут без вариантов. Бог с ним, с дельным чтением, но хотя бы в общих чертах и пересказ глав — хорошо бы держать в голове (совсем в идеале — понимать).
Автор сего толмуда Мартин Клепман "коротенько" изложил основные концепции проектирования и работоспособности высоконагруженных систем. Поэтому для всех систем с высоким SLA и конеч-то HighLoad-отраслей — это must. Тут с ознакомлением с книгой прекрасно справилось на Хабре само издательство Питер
4️⃣ Как только вы заберетесь в "тяжёлые" домены, то у вас не то чтобы останется много вариантов не блеснуть знаниями по DDD (и, умоляю, не отвечайте на собеседованиях, что вы ничего не читали, но всю жизнь как-то работаете, а описанное в книгах — зло и оторвано от мира, и чтобы нормально писать код — надо просто писать, а не время на книги тратить...)
И в этом разделе аж 2 рекомендации. Если хотя бы по верхам хотите отличать аббревиатуры с буквами DD — то вот замечательная статья с Хабра — автор Дима Переверза. Просто в ножки кланяться Диме готова за то, что коротко, понятно и в одном месте собрал описание DD-практик. Выдаю почти всем, кто приходит с запросами о погружении в технику для продакта, начале подготовки к System Design Interview и т.п. как базовую шпаргалку. Это не то, чего достаточно для обучения, но это прекрасная стартовая точка, чтобы копать вглубь — там, где необходимо!
5️⃣ Ну, куда ж без DDD головного мозга...
Тут как всегда: 2 Вернона, 1 Эванс и теперь с ними вместе Хононов.
Если раньше я советовала читать в последовательности:
1) тонкий Вернон
2) Эванс
3) толстый Вернон
То сейчас, я бы рекомендовала начать знакомство с Хононова, перейти к толстому Вернону и закрепить все Эвансом.
И тут вы можете вспомнить про то, что еще есть Миллет, но я к своему греху не читала — пока стоит на полке...
Ну и конечно же есть Domain-Driven Design Quickly и вот она есть на английском, но в очень интересном виде на LinguaLeo — не очень поняла ее, если есть Хононов, Эванс и Вернон, но если вам надо именно quickly — не осуждаю, но и ХЗ с какими выводами вы от нее уйдете.
Как вы догадываетесь, это не конец… Продолжение в следующей части (или села Катя написать «коротенький» пост 🤣)
Post #621
577