Архитектурный крест: как приручить System Design interview

Вначале, наверное, каждый попадал в эту ловушку на собеседовании: кандидат открывает экран, уверенно запускает draw.io и бодро начинает рисовать. Бац — микросервисы! Бац — брокеры сообщений между ними! Redis-кеш сверху, базы данных снизу. Даже стрелки вызовов нарисованы в правильном стиле. Интервьюер кивает, видя техническую беглость. Кандидат чувствует уверенность, ждёт похвалы. — Отлично, — говорит интервьюер, — а откуда берутся данные для этого отчёта? Кандидат на секунду замешкается. «Откуда?.. Ах да, из базы данных, наверное... или из очереди?..» Он смотрит на схему, где слева — пустое место перед микросервисами. — И кто потребитель этого события? — продолжает интервьюер. — Кто его забирает и что делает с результатом? Кандидат начинает водить курсором по доске draw.io, но схема рассыпается. Сквозного потока данных нет, потому что контекст не был зафиксирован с самого начала. Это не техническая ошибка, а фундаментальный пробел в системном мышлении. Проблема не в отсутствии знаний, а в отсутствии целостной картины. Большинство кандидатов (и не только на собеседованиях) сразу ныряет в глубину технологий, не очертив границы системы. Они рисуют внутреннюю механику бэкенда, не уточнив, откуда приходят входные данные и куда уходит результат. Это как строить фундамент, не зная размеров участка. Или как инженер, который начинает проектировать двигатель, не узнав, что это за транспорт и что он должен делать. На собеседовании такая ошибка критична. Интервьюер видит технический кругозор, но не видит системного мышления. А ведь это именно то, что отличает senior-архитектора от middle, который умеет только пилить отдельные сервисы. Читать далее
Комментарии
Загрузка…




