← Усі теми

Питання на співбесіді з Vue (Senior) з відповідями

75 запитань для співбесіди з теми Vue (Senior) - з правильними відповідями, поясненнями й посиланнями на документацію.

Пройти цей тест
  1. 1.Як Vue 3 відстежує реактивні залежності?
  2. 2.Чому reactive(obj) === obj хибне і чим це важливо?
  3. 3.Коли варто використовувати markRaw для значення в реактивному стані?
  4. 4.Чому 100 змін стану в одному обробнику дають лише один перерендер?
  5. 5.Для чого потрібен effectScope?
  6. 6.Що відбувається з Vue 3.4, коли computed перераховується в те саме значення?
  7. 7.Що не так, якщо хук життєвого циклу реєструється після await у звичайній функції setup()?
  8. 8.Як зробити один спільний стан composable для всіх компонентів, що його використовують?
  9. 9.Що робить віртуальний DOM Vue «поінформованим компілятором»?
  10. 10.Чому у Vue шаблони зазвичай кращі за рукописні render-функції?
  11. 11.Що ламається, коли v-for використовує індекс як key, а елементи вставляються на початок?
  12. 12.Як можна навмисно використати зміну key у компонента?
  13. 13.Що робить v-memo?
  14. 14.Чому передавання activeId кожному елементу може сповільнити великі списки?
  15. 15.Як ефективно відрендерити список із 10 000 рядків?
  16. 16.Чому обгортати великі дані API в reactive/ref може бути дорого й яка альтернатива?
  17. 17.Як зменшити початковий бандл великого Vue SPA?
  18. 18.Чого немає в runtime-only збірці Vue і чому вона за замовчуванням із Vite?
  19. 19.Чому <KeepAlive> без max загрожує зростанням пам'яті?
  20. 20.Що таке cross-request state pollution у Vue SSR?
  21. 21.Що часто спричиняє hydration mismatch у Vue SSR?
  22. 22.Що дає лінива гідратація у Vue 3.5?
  23. 23.Навіщо використовувати useId() (3.5+) для атрибутів id/aria-*?
  24. 24.Які хуки життєвого циклу виконуються під час SSR?
  25. 25.Чому багато команд використовують Nuxt замість саморобного Vue SSR?
  26. 26.Як стан Pinia передається із сервера на клієнт?
  27. 27.Чому небезпечно монтувати Vue на відрендерений сервером HTML, що містить контент користувачів?
  28. 28.Чи безпечно прив'язувати URL від користувача до :href у Vue?
  29. 29.Чим ризикована прив'язка значень від користувача до :style?
  30. 30.Коли синглтон-composable на рівні модуля достатній замість Pinia?
  31. 31.Як добре організувати велику кодову базу на Vue?
  32. 32.Які патерни Vue 2 треба замінити під час міграції на Vue 3?
  33. 33.Як перевести велику кодову базу з Options API на Composition API?
  34. 34.Як надати компонент Vue як нативний Custom Element?
  35. 35.Що дає глобальний app.config.errorHandler, чого немає в onErrorCaptured?
  36. 36.Як написати узагальнений компонент (наприклад, типізований select)?
  37. 37.Що додає defineSlots?
  38. 38.Як типізувати template ref на дочірній компонент?
  39. 39.Як реалізувати доступ за ролями через meta маршрутів?
  40. 40.Як відновлювати позицію прокручування, коли користувач повертається назад?
  41. 41.Коли викликають router.addRoute()?
  42. 42.Як guards справляються з асинхронною роботою на кшталт завантаження прав?
  43. 43.Що може плагін Pinia?
  44. 44.Чим $subscribe відрізняється від watch на стані стора?
  45. 45.Чому setup-стори мають повертати весь стан?
  46. 46.Як протестувати composable, що використовує хуки життєвого циклу чи inject?
  47. 47.Як протестувати компонент, що використовує Vue Router?
  48. 48.Який головний компроміс між компонентними й end-to-end тестами?
  49. 49.Коли варто писати render-функцію через h()?
  50. 50.Що дає змогу зробити createRenderer з @vue/runtime-core?
  51. 51.Що дає аргумент previous у геттері computed (Vue 3.4+)?
  52. 52.Що робить deep: 2 у watcher'а (Vue 3.5+)?
  53. 53.Як типізувати глобальну властивість на кшталт $t, додану через app.config.globalProperties?
  54. 54.Як стримити SSR-HTML клієнту, не чекаючи на всю сторінку?
  55. 55.Що робить data-allow-mismatch (Vue 3.5+)?
  56. 56.Для чого потрібен onServerPrefetch?
  57. 57.Чому Nuxt застерігає від прямого виклику $fetch у <script setup> для даних сторінки?
  58. 58.Чому для спільного стану варто використовувати useState з Nuxt, а не ref рівня модуля?
  59. 59.Коли router.beforeResolve - правильне місце для перевірки?
  60. 60.Як сучасно перенаправити чи скасувати навігацію в гарді Vue Router 4?
  61. 61.Як поєднати переходи маршрутів і <KeepAlive> з <RouterView>?
  62. 62.Для чого в Pinia потрібен skipHydrate?
  63. 63.Навіщо додавати acceptHMRUpdate у файли Pinia-сторів?
  64. 64.Яку проблему розв'язує <Teleport defer> (Vue 3.5+)?
  65. 65.Що робить повернення false з onErrorCaptured?
  66. 66.Як мокати виклики API в тестах компонентів, не підміняючи fetch у кожному тесті?
  67. 67.Як зібрати бібліотеку Vue-компонентів на Vite, не включаючи в бандл сам Vue?
  68. 68.Як типізувати складний проп в Options API?
  69. 69.Чому глобальний app.provide() часто кращий за globalProperties для сервісів рівня застосунку?
  70. 70.Як обробляється вміст <Teleport> під час SSR?
  71. 71.Чому reactive-масив із 50 000 об'єктів може сповільнювати фільтрацію і що допомагає?
  72. 72.Як використати початкове значення пропа як локальний редагований стан без попереджень?
  73. 73.Як мікрофронтенди на Module Federation ділять один рантайм Vue?
  74. 74.Коли компонент з async setup() потребує особливої уваги в тестах?
  75. 75.Яка безпечна стратегія міграції з Vuex на Pinia у великому застосунку?