Код
#Мнения

Зачем сеньорам на собеседованиях задают вопросы по дизайну систем

Веб-разработчик из Amazon рассказывает, как сеньору отвечать на вопросы про дизайн систем.

Geber86 / Getty Images

Виктор Карпов

эксперт

об авторе

Живёт в Эдинбурге, Великобритания. Занимается веб-разработкой с 2011 года. Сейчас программирует ЭВМ в Amazon, до этого работал в «Яндексе». Ведёт канал в Telegram и публикует в Twitter разборы алгоритмических задач для собеседований, а ещё стримит эти разборы на YouTube.


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

В основе статьи — пост из Telegram-канала Виктора Карпова.

На собеседовании хотят оценить «сеньорность» кандидата, узнать, насколько прагматично человек подходит к дизайну систем. Чтобы ему не казалось, что сеть всегда надёжна на 100%, пакеты доставляются мгновенно, а все зависимости работают как часы. Этому учатся, когда запускают проекты и набивают шишки.

В дизайне всегда есть ограничения и компромиссы. Если мы строим систему бронирования отелей, то как получать данные? Будем парсить сайт Hilton, пока нас навсегда не заблокируют? Нет, нужны API. А они всегда возвращают актуальные данные? Из-за ограничений на число запросов мы не будем запрашивать их каждую секунду, и поэтому нужен кэш. А что будем делать, когда случится рассинхрон — человек комнату забронировал, а на самом деле она уже занята?

Другая классическая ошибка — думать, что отелей слишком много и MySQL не подойдёт в качестве базы данных. На самом деле в мире всего 700 тысяч гостиниц. И список такого объёма будет несложно шардировать — то есть разделить на несколько БД и просто направлять запросы к нужной базе.

Дальше вы с интервьюером продолжаете раскапывать такую задачу до конца. Факт остаётся фактом: компания оценивает сеньоров только через разговоры на свободную тему, а правильных ответов в них нет.


Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Архитектор ПО Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована