Какая архитектура используется на текущем месте работы
Что проверяют
Понимаете ли вы архитектуру своего проекта настолько, чтобы объяснить причины решений, а не только их названия. Следом почти всегда звучит «что бы вы поменяли» и «какие проблемы эта архитектура создаёт».
Как отвечать
Рассказывайте о своём проекте, со своими цифрами и решениями. Удобный каркас:
- уровень приложения: монолитный SPA, Next.js с SSR, монорепозиторий на Nx или Turborepo с общими пакетами, микрофронтенды на Module Federation. Назовите масштаб: сколько команд и приложений;
- структура кода: по фичам или по слоям, Feature-Sliced Design, где слой импортирует только нижележащие слои, публичный API модуля через
index.ts. Чем контролируете границы: правила ESLint, проверка зависимостей в CI; - состояние: серверные данные отдельно в TanStack Query или RTK Query, клиентское в Redux Toolkit, Zustand или контексте. Почему поделили именно так;
- UI: своя дизайн-система или готовая библиотека, где живут компоненты, как их версионируют;
- сборка и поставка: Vite или webpack, тесты на Vitest или Jest и Playwright, как устроены релизы.
Потом переходите к компромиссам. Что архитектура дала (независимые релизы команд, быстрый онбординг) и чего стоит (дублирование зависимостей в микрофронтендах, медленная сборка монорепозитория, высокий порог входа). Хороший финал: одно решение, которое вы бы пересмотрели, и почему.
Если архитектуры как таковой нет и проект вырос стихийно, говорите честно. Покажите, что видите проблему и что предлагали или сделали, например вынесли API-слой или ввели правила импортов. Это ценится выше выдуманной схемы, которая разваливается на втором уточнении. Под NDA описывайте устройство без названий заказчиков.
Где спотыкаются
Называют термин без содержания: «у нас FSD», а на вопросе о слоях и правилах импорта путаются.
Выдают архитектуру за идеальную. Отсутствие минусов звучит как незнание проекта или нежелание о нём думать.
Рассказывают о решениях, принятых до них, как о своих. Уточнение «почему выбрали Module Federation» быстро покажет, кто принимал решение, поэтому лучше сразу разделить «так было» и «это сделал я».