Найти в Дзене
КОДОВАЯ БАЗА_

Экспресс-метод подготовки к System Design Interview

Мой первый опыт прохождения собеседования по проектированию систем в виде отдельной секции был неожиданным. Я к нему заранее не готовился, потому что претендовал на позицию middle/middle+ разработчика. Но по результатам пройденных секций мне сказали, что хотят посмотреть мои способности проектирования. А так как на позицию архитектора я не претендовал, решил особо не готовиться и взял только два выходных дня на подготовку. Собеседование я прошел успешно. Ниже полный план подготовки «с нуля» за 2 дня до уровня, достаточного senior-разработчику. День первый Читаем книгу Alex Xu “System Design Interview – An insider's guide” Читаем на любом языке, который вы понимаете. Но читаем только первые три главы, в которых описаны основные принципы построения систем, базовые компоненты современных систем, способы оценки объемов и скорости передачи данных, а также описана сама структура собеседования. Конспектируем кратко в виде терминов и плана все что там написано. Теперь мы знаем все обязател

Экспресс-метод подготовки к System Design Interview

Мой первый опыт прохождения собеседования по проектированию систем в виде отдельной секции был неожиданным. Я к нему заранее не готовился, потому что претендовал на позицию middle/middle+ разработчика. Но по результатам пройденных секций мне сказали, что хотят посмотреть мои способности проектирования. А так как на позицию архитектора я не претендовал, решил особо не готовиться и взял только два выходных дня на подготовку.

Собеседование я прошел успешно. Ниже полный план подготовки «с нуля» за 2 дня до уровня, достаточного senior-разработчику.

День первый

Читаем книгу Alex Xu “System Design Interview – An insider's guide”

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

Теперь мы знаем все обязательные части высоко-нагруженных систем — все эти гейтвеи, балансировщики, обратные прокси, DNS-серверы, CDN, кэши, БД и очереди. Мы будем встраивать их в любую задачу, которую нам дадут. Также мы теперь в общих чертах знаем что от нас требуется на собеседовании и не будем углубляться в лишние детали, иначе можем не успеть решить задачу. А еще мы умеем считать объемы данных и пропускную способность.

Все знания, которых не хватает мы гуглим и также конспектируем. Например, полезным будет вспомнить основные типы данных в Postgres и сколько места они занимают, длину UUID, даже степени двойки и сколько байт в килобайте, если вдруг есть сомнения.

День второй

Мы НЕ продолжаем читать Алекса Сюй, ту основную часть книги с примерами решения задач оставим себе на будущее. И Мартина Клеппмана не читаем. Идем на Youtube и смотрим публичные собеседования и доклады о прохождении System Design Interview. Рекомендую смотреть записи докладов с конференций, потому что доклады на конференциях проходят ревью техкомитета, в отличие от видеозаписей блогеров.

Вот примеры того что нужно смотреть:

Александр Поломодов. Как подготовиться и пройти System Design Interview

Александр Поломодов. Публичное интервью по System Design

Владимир Маслов. Искусство System Design

Александр Поломодов. Публичное интервью по System Design

Если осталось время и силы — читаем еще одну главу из книги Алекса Сюй, любую. Рекомендую выбрать что то из знакомой предметной области или с чем сталкивались в работе или что то очень популярное. Я читал главу про проектирование сервиса коротких ссылок.

Все, мы готовы показать свои лучшие навыки.😎

По теме System Design Interview будет еще один пост, в котором я постараюсь собрать ссылки на все крутые материалы по теме, с избытком.

Выложу его здесь и в MAX

@kodbaza ⚫️ #system_design #interview