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++