283 просмотра
От 19 июня 2023

Вопросы для собеседования Vue.js-разработчика

1. Что такое Vue.js?

Vue.js - это прогрессивный open-source фреймворк для разработки пользовательских интерфейсов, который стремится быть легко внедряемым в процесс разработки. Ядро библиотеки фокусируется только на "слое отображения", потому его можно легко интегрировать с множеством библиотек и внедрить в существующие проекты.

2. Основные фичи Vue.js

1. Виртуальный DOM: Vue использует виртульный DOM - такой же подход, как и у других существующих фреймворков (React, Ember и т.п.). VDOM - это хранимая в памяти репрезентация оригинального HTML DOM-дерева, которая обновляется и изменяется, не затрагивая при этом оригинальный DOM. 2. Компоненты: используются для создания переиспользуемых компонентов в любых приложениях на Vue. 3. Шаблоны: Vue предоставляет возможность шаблонизации, которая связывает HTML-разметку с данными компонента и экземпляра класса Vue. 4. Реактивность: Vue дает возможность создавать реактивные односторонние и двусторонние связи данных с их отображением. 5. Роутинг: перемещение между страницами реализовано при помощи библиотеки vue-router. 6. Легковесность: Vue - один из самых легковесных фреймворков в сравнении с другими.

3. В чем преимущества Vue 3?

Основные преимущества по сравнению с Vue 2: - улучшение производительности в среднем в 1.5-2 раза - Composition API - совместимость с TypeScript (в т.ч. типизация шаблонов) - новая концепция реактивности

4. Реактивность в Vue 2 и Vue 3

Во Vue 2 механизм реактивности строился на «геттерах» и «сеттерах». Во Vue 3 концепция реактивности полностью построена на Proxy. Это объект, который содержит в себе другой объект и позволяет «перехватывать» обращения к нему. Proxy во Vue 3 решает некоторые проблемы, присущие системе реактивности Vue 2. Например, добавление новых реактивных свойств в объект либо слежение за всем объектом, а не за единичным свойством.

5. Разница между v-show и v-if?

1. v-if рендерит элемент в DOM-дереве только если выражение истинно, в то время как v-show рендерит его при любом условии, но скрывает при помощи CSS. 2. v-if поддерживает директивы v-else и v-else-if, в то время как v-show не имеет альтернативной директивы. 3. v-if требует больше ресурсов при переключении состояния для рендера, а v-show позволяет делать это максимально быстро, но с соответствующими ограничениями. 4. v-if поддерживает <template>, а v-show нет.

6. Нужен ли атрибут key?

<div v-for="item in items" :key="item.id"> {{item.name}} </div> Для того, чтобы отслеживать каждый уникальный элемент, и в дальнейшем эффективно их переиспользовать, нам нужен атрибут key с уникальным значением для каждого элемента в цикле v-for.

7. Перечислите хуки жизненного цикла компонента Vue

- beforeCreate - created - beforeMount - mounted - beforeUpdate - updated - activated - deactivated - beforeUnmount - unmounted - errorCaptured - renderTracked - renderTriggered

8. Расскажите про beforeCreate и created

beforeCreate: Вызывается синхронно сразу после инициализации экземпляра, перед установкой наблюдения за данными и механизмов слежения и событий. created: Вызывается синхронно после создания экземпляра. На этом этапе экземпляр закончил обработку опций и настроил наблюдение за данными, вычисляемые свойства, методы, коллбэки методов-наблюдателей и событий. Однако, фаза монтирования ещё не начата и свойство $el на данный момент недоступно.

9. Расскажите про beforeMount и mounted

Поддержи проект и получи доступ ко всему контенту всего за 290

10. Расскажите про beforeUpdate и updated

Поддержи проект и получи доступ ко всему контенту всего за 290

11. Расскажите про activated и deactivated

Поддержи проект и получи доступ ко всему контенту всего за 290

12. Расскажите про beforeUnmount и unmounted

Поддержи проект и получи доступ ко всему контенту всего за 290

13. Расскажите про errorCaptured

Поддержи проект и получи доступ ко всему контенту всего за 290

14. Расскажите про renderTracked

Поддержи проект и получи доступ ко всему контенту всего за 290

15. Расскажите про renderTriggered

Поддержи проект и получи доступ ко всему контенту всего за 290
Хочешь стать частью сообщества Девстанции?
Вступай в наш чат в Telegram

Вам может быть интересно

Викторина
  33 вопроса

Подковыристые основы JavaScript

Типичные и не очень вопросы с собеседования по JavaScript

164 просмотра
От 7 февраля
Викторина
  15 вопросов

Самая типизированная викторина

Викторина по вопросам о TypeScript

82 просмотра
От 9 октября 2023
Викторина
  21 вопрос

Промисы, async/await и Event Loop

Вопросы про Promise API, async/await и цикл событий

187 просмотров
От 7 февраля
Викторина
  32 вопроса

Большой тест по CSS

Большая викторина по вопросам о CSS

40 просмотров
От 2 июня 2023
Задачник
  33 задачи

30 алгоритмических задач по JavaScript

Задачи с собеседований на JavaScript с решением

1966 просмотров
От 16 февраля
Викторина
  17 вопросов

Вопросы по основам HTML

Вопросы для собеседования на знание HTML

124 просмотра
От 9 октября 2023

Топ тредов

Gravatar for 9tokio
Tokio:
то что раньше было бесплатным теперь платное - вот это я понимаю

Последнее сообщение:
Логотип Девстанции
Девстанция:
Спасибо за поддержку проекта :) Повышение качества контента - один из важнейших приоритетов. Этому м...
3 сообщения
212 просмотров

Логотип Девстанции
Девстанция:
Поиск людей для совместной разработки IT-стартапов

Последнее сообщение:
В этом треде пока нет сообщений
0 сообщений
107 просмотров

Логотип Девстанции
Девстанция:
Какой язык программирования выбрать в качестве первого?

Последнее сообщение:
Gravatar for 2kokke
Kokke:
Python или JS - универсально. Но по уму надо бы с чего-то строгого начинать и достаточно низкоуровне...
1 сообщение
139 просмотров

Все категории