«System Design. Подготовка к сложному интервью», Алекс Сюй

В продолжение темы книг по system design я решил сделать обзор на уже прочитанную (и недавно перечитанную) книгу Алекса Сюя «System Design. Подготовка к сложному интервью».

В своё время по этой книге я готовился к прохождению сисдиза на текущее место работы. Книга тогда мне изрядно помогла, поэтому мне стало вдвойне интересно перечитать её на фоне крайне неудачной книги Чжиюна Таня «System Design. Пережить интервью».

⭐️ О чём книга

Книга содержит алгоритм прохождения собеседования по архитектуре и примеры подобных собеседований. Также Сюй верхнеуровнево касается тем масштабирования систем для работы под высокой нагрузкой.

В книге раскрываются следующие темы: ➡️ Сценарий прохождения собеседования по дизайну ➡️ Какие вопросы нужно обязательно задать интервьюеру ➡️ Примеры проектирования систем «как бы на собеседовании»

⭐️ 3 идеи из книги 🟡Разберитесь в задаче до начала проектирования. Эту ошибку я много раз видел на опыте: кандидат бросается проектировать систему, толком не разобравшись даже с функциональными требованиями. Чаще всего такой подход приводит к тому, что систему приходится переделывать.

🟡Нет правильных или неправильных ответов. Конечно, у интервьюера в голове есть некоторое «эталонное решение», но оно не является единственно правильным. Важно не просто предложить какое-то решение, а ещё и обосновать его.

🟡Проектируйте от общего к частному. Иногда кандидаты закапываются в какие-то малозначимые детали и в итоге не завершают проектирование системы в целом. Сначала предложите верхнеуровневую архитектуру, а потом уже занимайтесь детализацией.

⭐️ Мои впечатления

На второе прочтение книга Сюя мне понравилась ещё больше, чем в первый раз. Она представляет собой пример хорошо спроектированного читательского опыта: сначала даётся теоретический минимум, а затем эта теория разбирается на задачках. При этом задачки тоже выстроены в логическую цепочку, в которой наработки из предыдущей задачи могут использоваться в последующих (например, проектирование Twitter Snowflake в дальнейшем применяется ещё в нескольких системах).

Но стоит отметить, что книга очень поверхностная. Это нормально — впихнуть все покрытые автором темы с высокой детализацией в одну книгу просто физически невозможно. Поэтому не рассчитывайте получить из неё глубокие технические знания или идеи — она скорее подойдёт как справочник и даст направление для дальнейшего изучения.

В целом книгу очень рекомендую, даже если вы не планируете в ближайшее время проходить сисдиз. Как минимум, вы посмотрите на проектирование разных систем и найдёте у себя слабые места, которые стоит подтянуть. Ну или поймёте, что вы капитальный красавчик и всё знаете :)

P.S. Со следующей недели автор канала в лице меня уходит в отпуск на две недели. Я решил провести небольшой эксперимент и писать от вдохновения. Поэтому будет парочка постов с циклами, которые у меня всё руки не доходили собрать, парочка обзоров книг по пятницам и что-то импровизированное :)

Все мои обзоры книг доступны по тегу #обзор_книги и в этом посте.

➖➖➖➖➖➖➖➖➖➖➖ 📝 @ulshinblog


В этом посте были ссылки, но мы их удалили по правилам Сетки

«System Design. Подготовка к сложному интервью», Алекс Сюй
В продолжение темы книг по system design я решил сделать обзор на уже прочитанную (и недавно перечитанную) книгу Алекса Сюя «System Design | Сетка — социальная сеть от hh.ru «System Design. Подготовка к сложному интервью», Алекс Сюй
В продолжение темы книг по system design я решил сделать обзор на уже прочитанную (и недавно перечитанную) книгу Алекса Сюя «System Design | Сетка — социальная сеть от hh.ru