Собрали 3-ю часть вопросов с собеседований, на этот раз по Vue 2/3, в тех формулировках, в которых они попадались на собеседованиях.
1. Vue Core (база)
1. Чем отличаются Vue 2 и Vue 3 на практике (Composition API, новая реактивность, поддержка)?
2. Чем отличаются v-if и v-show и когда что выбирать?
3. Хуки жизненного цикла во Vue 2 и Vue 3: какие есть и чем отличаются?
4. Зачем нужен key в v-for и какие ошибки он предотвращает?
5. Почему нельзя мутировать props (однонаправленный поток данных) и как правильно менять данные “снизу вверх”?
6. Слоты: default, named, scoped - как передавать разметку и данные через слоты?
7. Встроенные компоненты Vue и основные кейсы: Teleport, KeepAlive, Transition (что решают и где применять)?
8. Асинхронные компоненты: зачем нужны и как подключаются?
2. Реактивность Vue (практический уровень)
1. Как работает реактивность во Vue 3 на уровне “что отслеживается и когда обновляется UI”?
2. Что такое ref и reactive и когда выбирать каждый?
3. Чем computed отличается от watch и в каких задачах что использовать?
4. Когда использовать watch, а когда watchEffect (разница в контроле зависимостей)?
5. Что такое toRefs и зачем он нужен (типовой кейс - деструктуризация реактивного объекта)?
6. Типовые причины “лишних обновлений” и как их избегать (разбиение на компоненты, корректные зависимости в watch, правильный key)?
3. Компоненты и взаимодействие
1. v-model: что делает директива и как это выглядит в компоненте (prop + event)?
2. Как реализовать двустороннюю связь в кастомном компоненте: modelValue + update:modelValue?
3. Чем отличается “двусторонняя связь через v-model” от явной схемы prop + emit (когда лучше явно)?
4. Что такое emit и как типизировать события во Vue 3 (defineEmits)?
5. provide / inject: когда уместно использовать (избежать props drilling, проброс зависимостей вниз по дереву)?
6. Как сделать глобальный компонент и когда это оправдано?
7. Как получить доступ к дочернему компоненту из родителя (template ref) и какие риски у такого подхода (когда избегать)?
4. State Management (Vuex / Pinia)
1. Что такое store и когда он нужен (а когда достаточно локального состояния компонента)?
2. Базовые сущности Pinia: state, getters, actions - за что отвечает каждая?
3. Можно ли мутировать state напрямую: как принято в Pinia и какие есть риски при хаотичных изменениях?
4. Vuex: чем отличаются mutations и actions (если проект на Vuex)?
5. Общая разница Pinia и Vuex: почему в новых проектах чаще выбирают Pinia?
6. Как хранить auth-состояние: где держать access/refresh, где профиль пользователя, что синхронизировать с cookie/хранилищем?
5. Nuxt, SSR/CSR/SSG
1. CSR vs SSR: в чем разница по рендеру и пользовательскому эффекту?
2. Почему чистый CSR чаще хуже для SEO (поисковики и “пустой HTML” без контента)?
3. Что такое SSG (prerender) и когда его выбирать?
4. Что такое гидратация и почему возникают hydration mismatch (типовые причины)?
5. Где выполняется код в Nuxt: server и client (и почему нельзя использовать window/localStorage на сервере)?
6. Data fetching в Nuxt: useFetch vs useAsyncData vs $fetch (какая задача у каждого)?
7. Middleware в Nuxt: что это такое, какие виды бывают и для каких задач подходит?
8. Что такое Nitro и server routes в Nuxt (базовая идея full-stack внутри Nuxt)?
9. Авторизация в SSR: почему localStorage не подходит как единственный источник и зачем часто используют cookie?
Если список был полезным, ставь 🤓, и мы сделаем подборку HR вопросов, и как корректно на них отвечать.
Кто я | Кейсы | Менторство
Post #638
4.02K
- 🤓 32
- 🔥 18
- 🤝 10
- ❤ 5
- 🌚 1
- 😎 1