Pytania rekrutacyjne Vue (Senior) z odpowiedziami
75 pytań na rozmowę rekrutacyjną z tematu Vue (Senior) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.
Rozwiąż ten test- 1.Jak Vue 3 śledzi zależności reaktywne?
- 2.Dlaczego
reactive(obj) === objjest fałszem i dlaczego to ważne? - 3.Kiedy użyć
markRawdla wartości przechowywanej w stanie reaktywnym? - 4.Dlaczego 100 zmian stanu w jednym handlerze daje tylko jeden ponowny render?
- 5.Do czego służy
effectScope? - 6.Co się dzieje od Vue 3.4, gdy computed przelicza się do tej samej wartości?
- 7.Co idzie nie tak, gdy hook cyklu życia jest rejestrowany po
awaitw zwykłej funkcjisetup()? - 8.Jak współdzielić jedną instancję stanu composable między wszystkimi komponentami, które go używają?
- 9.Co sprawia, że wirtualny DOM Vue jest „poinformowany przez kompilator”?
- 10.Dlaczego w Vue szablony są zwykle lepsze niż ręcznie pisane funkcje renderujące?
- 11.Co się psuje, gdy
v-forużywa indeksu jakokey, a elementy są wstawiane na początek? - 12.Jak można celowo wykorzystać zmianę
keykomponentu? - 13.Co robi
v-memo? - 14.Dlaczego przekazywanie
activeIdkażdemu elementowi może spowolnić duże listy? - 15.Jak wydajnie wyrenderować listę 10 000 wierszy?
- 16.Dlaczego opakowanie dużych danych z API w
reactive/refmoże być kosztowne i jaka jest alternatywa? - 17.Jak zmniejszyć początkowy bundle dużego SPA w Vue?
- 18.Czego brakuje w buildzie runtime-only Vue i dlaczego jest domyślny z Vite?
- 19.Dlaczego
<KeepAlive>bezmaxgrozi wzrostem zużycia pamięci? - 20.Czym jest cross-request state pollution w Vue SSR?
- 21.Co często powoduje hydration mismatch w Vue SSR?
- 22.Co umożliwia leniwa hydratacja w Vue 3.5?
- 23.Po co używać
useId()(3.5+) dla atrybutówid/aria-*? - 24.Które hooki cyklu życia działają podczas SSR?
- 25.Dlaczego wiele zespołów używa Nuxt zamiast samodzielnie budowanego Vue SSR?
- 26.Jak stan Pinii jest przekazywany z serwera do klienta?
- 27.Dlaczego montowanie Vue na wyrenderowanym przez serwer HTML z treścią od użytkowników jest niebezpieczne?
- 28.Czy wiązanie URL-a od użytkownika z
:hrefjest w Vue bezpieczne? - 29.Dlaczego wiązanie wartości od użytkownika z
:stylejest ryzykowne? - 30.Kiedy singleton composable na poziomie modułu wystarcza zamiast Pinii?
- 31.Jak dobrze zorganizować dużą bazę kodu w Vue?
- 32.Które wzorce Vue 2 trzeba zastąpić przy migracji do Vue 3?
- 33.Jak przenieść dużą bazę kodu z Options API na Composition API?
- 34.Jak udostępnić komponent Vue jako natywny Custom Element?
- 35.Co daje globalny
app.config.errorHandler, czego nie dajeonErrorCaptured? - 36.Jak napisać komponent generyczny (np. otypowany select)?
- 37.Co dodaje
defineSlots? - 38.Jak otypować template ref do komponentu potomnego?
- 39.Jak zaimplementować dostęp oparty na rolach przez meta tras?
- 40.Jak przywracać pozycję przewinięcia, gdy użytkownik cofa się do poprzedniej strony?
- 41.Kiedy wywołuje się
router.addRoute()? - 42.Jak guardy radzą sobie z pracą asynchroniczną, np. pobieraniem uprawnień?
- 43.Co może zrobić plugin Pinii?
- 44.Czym różni się
$subscribeodwatchna stanie store'a? - 45.Dlaczego setup store'y muszą zwracać cały stan?
- 46.Jak przetestować composable używający hooków cyklu życia lub
inject? - 47.Jak przetestować komponent używający Vue Router?
- 48.Jaki jest główny kompromis między testami komponentów a testami end-to-end?
- 49.Kiedy warto napisać funkcję renderującą z
h()? - 50.Na co pozwala
createRendererz@vue/runtime-core? - 51.Na co pozwala argument
previousgettera computed (Vue 3.4+)? - 52.Co robi
deep: 2na watcherze (Vue 3.5+)? - 53.Jak otypować globalną właściwość, np.
$t, dodaną przezapp.config.globalProperties? - 54.Jak streamować HTML z SSR do klienta zamiast czekać na całą stronę?
- 55.Co robi
data-allow-mismatch(Vue 3.5+)? - 56.Do czego służy
onServerPrefetch? - 57.Dlaczego Nuxt ostrzega przed bezpośrednim wywoływaniem
$fetchw<script setup>dla danych strony? - 58.Dlaczego do współdzielonego stanu używać
useStatez Nuxt zamiastrefna poziomie modułu? - 59.Kiedy
router.beforeResolvejest właściwym miejscem na sprawdzenie? - 60.Jak nowocześnie przekierować lub anulować nawigację w guardzie Vue Router 4?
- 61.Jak połączyć przejścia tras i
<KeepAlive>z<RouterView>? - 62.Do czego służy
skipHydratew Pinia? - 63.Po co dodawać
acceptHMRUpdatedo plików store'ów Pinia? - 64.Jaki problem rozwiązuje
<Teleport defer>(Vue 3.5+)? - 65.Co robi zwrócenie
falsezonErrorCaptured? - 66.Jak mockować wywołania API w testach komponentów bez podmieniania
fetchw każdym teście? - 67.Jak zbudować bibliotekę komponentów Vue w Vite bez dołączania samego Vue do bundla?
- 68.Jak otypować złożony prop w Options API?
- 69.Dlaczego globalne
app.provide()jest często lepsze niżglobalPropertiesdla serwisów aplikacji? - 70.Jak obsługiwana jest zawartość
<Teleport>podczas SSR? - 71.Dlaczego
reactivetablica 50 000 obiektów może spowalniać filtrowanie i co pomaga? - 72.Jak użyć początkowej wartości propa jako lokalnego edytowalnego stanu bez ostrzeżeń?
- 73.Jak mikrofrontendy z Module Federation współdzielą jeden runtime Vue?
- 74.Kiedy komponent z
async setup()wymaga szczególnej uwagi w testach? - 75.Jaka jest bezpieczna strategia migracji z Vuex do Pinia w dużej aplikacji?