Микрофронтенды
Вопрос
К вам приходят с идеей распилить монолит на микрофронтенды. Что скажешь и как спроектируешь?
Веди разговор вслух, как на секции. Начинать с решения - главная ошибка: первые полторы минуты только вопросы.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
первым делом спросил, какую проблему решаем - обычно организационную, а не техническую
назвал цену: общий рантайм, дубли зависимостей, сложность отладки и релизов
варианты интеграции: сборка, рантайм через module federation, iframe
общая оболочка отвечает за маршрутизацию, авторизацию и оформление
версии общих зависимостей и что делать при расхождении
изоляция стилей и глобального состояния
сквозная отладка и мониторинг: как понять, чей модуль упал
честный вывод: чаще всего задачу решает модульный монолит
Что могут спросить следом
- Как избежать двух версий React на странице?
- Чем module federation отличается от npm-пакетов?
- Когда микрофронтенды действительно оправданы?
Разбор
Правильный первый ход - отказаться сразу решать. Микрофронтенды решают организационную проблему: независимые релизы нескольких команд. Если команда одна, они дают только цену.
Цену надо назвать вслух: дублирование зависимостей (две версии React на странице), общий рантайм, сложная отладка, каскадные падения, тяжёлый локальный запуск.
Варианты: интеграция на сборке (просто, но релизы связаны), module federation (независимые релизы, платим согласованием версий), iframe (полная изоляция, но боль с общим состоянием и оформлением).
Оболочка владеет маршрутизацией, авторизацией, оформлением и токенами; модули не знают друг о друге и общаются событиями или через контракт оболочки.
Обязательно - сквозной мониторинг: без идентификатора модуля в ошибках разбирательство «чей упал» превращается в переписку.
Финал честный: в большинстве случаев модульный монолит с чёткими границами даёт то же самое дешевле. Такой ответ на секции ценится выше, чем энтузиазм.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.