С какими стейт-менеджерами кроме Redux вы работали?
Что проверяют
Не список библиотек, а понимание, чем они отличаются по модели: где живёт состояние, как компонент подписывается на изменения и сколько лишних перерисовок это стоит. Следом почти всегда спрашивают, что бы вы взяли в новый проект и почему не Redux Toolkit.
Как отвечать
Начните с разделения, которое снимает половину вопросов: серверное состояние (данные с бэкенда, их кэш и инвалидация) и клиентское (открытая модалка, черновик формы, выбранный фильтр). Первое сегодня обычно отдают TanStack Query или RTK Query, и клиентского состояния после этого остаётся немного.
Дальше назовите то, с чем работали, и модель каждого:
- Zustand: стор-хук без провайдера, подписка через селектор
useStore(s => s.count), компонент перерисовывается только при изменении выбранного куска. Шаблонного кода почти нет; - MobX: реактивная модель,
makeAutoObservableв классе стора и обёрткаobserverнад компонентом. Зависимости отслеживаются автоматически, состояние можно мутировать напрямую; - Jotai: атомарный подход, состояние дробится на атомы, производные атомы вычисляются из других;
- Effector: популярен в русскоязычных командах, строится на событиях, сторах и эффектах, логика живёт вне компонентов;
- Context API: не стейт-менеджер, а способ доставить значение вниз по дереву. Хорош для темы, локали, текущего пользователя.
Если пишете на Vue, вместо этого списка ждут Pinia, которая заменила Vuex в роли рекомендованного решения.
Каждый пункт подкрепите своим опытом: какой проект, почему выбрали, что получилось и что бы сделали иначе.
Где спотыкаются
Называют Context полноценной заменой Redux. При смене value перерисовываются все потребители контекста, селекторов у него нет, поэтому часто меняющееся состояние в одном контексте тормозит интерфейс.
Хвалят Recoil как перспективный. Meta перевела его репозиторий в архив в начале 2025 года, в новый проект его не берут, и упоминание без этой оговорки выдаёт устаревшие знания.
Кладут ответы API в глобальный стор и вручную пишут флаги isLoading, повторные запросы и инвалидацию. Это ровно та работа, которую уже делают библиотеки серверного кэша.