P
prepair.app
Пройти интервью →
EnglishУкраїнськаРусскийDeutsch
💚

Middle Vue FrontendВопросы на собеседовании Vue

Middle · 2–4 года опыта

Собеседование Vue фокусируется на системе реактивности, Composition API и связи между компонентами. Ниже — самые частые вопросы с эталонными ответами. Middle: более глубокое понимание, оптимизацию и реальные рабочие ситуации.

Попробовать — без регистрации
Готовим вопрос…

Темы для подготовки

Реактивность: ref и reactive
Composition API vs Options API
Жизненный цикл компонента
Pinia / Vuex
Слоты и пропсы
Vue Router

6 вопросов уровня Middle с ответами

1

Что такое composable и когда он лучше миксина?

Ответ

Функция, использующая реактивность Vue и возвращающая состояние с поведением: useUser, usePagination. Лучше миксина тем, что источник каждого значения виден в месте вызова: два миксина могут объявить одно имя, и ни один файл об этом не скажет. Composable ещё и композируются, ради чего название и выбрано.

2

Почему деструктуризация `reactive`-объекта его ломает?

Ответ

Потому что реактивность живёт в прокси, а вынимание примитива копирует значение прочь от прокси. Шаблон затем рисует число, которое никогда не обновляется. toRefs это лечит, превращая каждое свойство в ref, сохраняющий связь, — поэтому возврат toRefs(state) из composable и стал обычной формой.

3

Как управлять общим состоянием, не берясь за стор?

Ответ

Composable с состоянием на уровне модуля — это стор во всех смыслах, и большинству приложений его хватает. Pinia оправдана, когда нужны devtools, состояние, безопасное для SSR, или плагины, — и когда несколько фич пишут одно состояние и вы хотите видеть этот трафик в одном месте. Provide и inject решают другую задачу: передачу вниз по дереву без прокидывания пропсов.

4

Отчего случается лишняя перерисовка и как её увидеть?

Ответ

От зависимости, которая меняется чаще, чем результат: объект, пересоздаваемый в отрисовке родителя, или computed, читающий больше состояния, чем использует. Devtools подсвечивают компоненты в момент обновления, и догадки превращаются в наблюдение. v-memo существует для редкого случая, когда сама отрисовка действительно дорога.

5

Чем SSR отличается от SSG в терминах Nuxt?

Ответ

SSR рендерит на каждый запрос, поэтому содержимое актуально, а сервер работает на каждого посетителя. SSG рендерит во время сборки и отдаёт статику — быстрее и дешевле, но устаревает до следующей сборки. Выбор делается на маршрут, а не на приложение, и маркетинговая страница с дашбордом редко хотят одного и того же.

6

Как разумно тестировать компонент Vue?

Ответ

Отрисовать его и проверять то, что увидел бы пользователь, через Testing Library или Vue Test Utils. Проверять поведение — нажатие показывает вот это, — а не внутреннее состояние, потому что внутреннее состояние и меняет рефакторинг. Сеть мокать на уровне запроса, а не методов компонента, иначе тест зелёный, а интеграция сломана.

🦎

Прочитать ответы недостаточно

На собеседовании ты говоришь вслух под давлением. Кем задаст эти же вопросы, оценит каждый ответ и покажет, что именно подтянуть.

Пройти интервью Middle Vue Frontend →
Бесплатно · 3 интервью в месяц

Другие уровни — Vue Frontend

Junior Vue FrontendSenior Vue FrontendВсе вопросы Vue Frontend

Другие специализации

🔍Middle QA Manual🤖Middle QA AutomationMiddle Java Backend🐍Middle Python Backend🐘Middle PHP Backend🦫Middle Go Backend🟢Middle Node.js Backend💎Middle Ruby on Rails🟣Middle .NET Backend Developer🔷Middle C++