Был ли опыт работы с собственной библиотекой компонентов?
Что проверяют
Какую роль вы играли: пользовались готовой библиотекой, дописывали компоненты или отвечали за неё целиком. Следом обычно спрашивают, как вы выпускали версии и что делали с ломающими изменениями.
Как отвечать
Сначала одной фразой обозначьте масштаб: чья библиотека, сколько проектов на ней сидит, ваша роль. Дальше пройдитесь по тому, что отличает библиотеку от папки с компонентами:
- API компонентов: композиция вместо двадцати булевых пропсов, контролируемый и неконтролируемый режимы, проброс
refиclassName. Часто основой берут headless-решения вроде Radix или React Aria и накладывают свои стили; - дизайн-токены: цвета, отступы и типографика в CSS-переменных, синхронизация с Figma, темизация;
- сборка и публикация: Vite в library mode, tsup или Rollup, ESM-сборка, поле
sideEffectsдля tree-shaking, React вpeerDependencies, приватный реестр вроде GitHub Packages, Nexus или Verdaccio; - версии: semver, changesets, changelog и гайд по миграции при мажорном релизе;
- документация и тесты: Storybook как витрина, Testing Library с Vitest или Jest, визуальная регрессия через Chromatic или Loki, проверки доступности через axe.
Результат подавайте своими цифрами и честно: сколько экранов перевели на библиотеку, сколько компонентов удалили из продуктовых репозиториев, как изменилось время сборки типового экрана. Если не мерили, так и скажите, это лучше круглых процентов с потолка.
Если своей библиотеки не было, расскажите, как работали с MUI или Ant Design: кастомизация темы, обёртки над их компонентами, общая папка shared/ui. И объясните, в какой момент команде стоит заводить собственную.
Где спотыкаются
Говорят «делал кнопки и модалки» и не касаются процесса. Интервьюера интересует, как вы выпускали версии и мигрировали потребителей, а не сам факт кнопок.
Называют цифры вроде «производительность выросла на 30%» и не могут объяснить, как её мерили. Следующий вопрос обычно ровно про это.
Забывают про доступность: модалка без ловушки фокуса и закрытия по Escape, выпадающий список без клавиатуры. В общей библиотеке такая ошибка тиражируется на все продукты сразу.