Pytania rekrutacyjne React (Middle) z odpowiedziami
75 pytań na rozmowę rekrutacyjną z tematu React (Middle) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.
Rozwiąż ten test- 1.Kiedy React zachowuje stan komponentu między renderami?
- 2.Jak zresetować stan
<EditForm />przy przejściu do innego użytkownika? - 3.Co robi
React.memo(Component)? - 4.Dlaczego
memonie pomaga<List items={data} onSelect={() => select(id)} style={{ gap: 8 }} />? - 5.Do czego służy
useMemo? - 6.Dlaczego nie należy deklarować komponentu wewnątrz innego komponentu?
- 7.Jak
useCallback(fn, deps)ma się douseMemo? - 8.Kiedy
useCallbackjest naprawdę przydatny? - 9.Kiedy
useReducerjest lepszy niżuseState? - 10.Czym
useLayoutEffectróżni się oduseEffect? - 11.Dlaczego licznik zatrzymuje się na 1?
- 12.Dlaczego ten efekt wykonuje się po każdym renderze?
- 13.Jak uniknąć wyścigu przy ładowaniu danych w
useEffect, jeśliuserIdszybko się zmienia? - 14.Jak poprawnie uzyskać
fullNamezfirstNameilastNameprzechowywanych w stanie? - 15.Jakich błędów NIE łapie error boundary?
- 16.Co zmieniło się w React 19 w przekazywaniu
refdo komponentów funkcyjnych? - 17.Jak zachowują się zdarzenia wewnątrz portalu
createPortal(child, document.body)? - 18.Czym jest komponent wyższego rzędu (HOC)?
- 19.Na czym polega wzorzec render props?
- 20.Czym jest wzorzec compound components?
- 21.Dlaczego wszyscy konsumenci kontekstu przerenderowują się przy każdym renderze providera?
- 22.Po co dzielić kontekst na
StateContextiDispatchContext? - 23.Co robi
useTransition? - 24.Kiedy używać
useDeferredValue? - 25.Czym jest automatyczny batching w React 18+?
- 26.Do czego służy
useId? - 27.Do czego służy
useSyncExternalStore? - 28.Czym
use(promise)z React 19 różni się od zwykłych hooków? - 29.Co daje
useActionStatew React 19? - 30.Do czego służy
useOptimistic? - 31.Co robi React Compiler?
- 32.Dlaczego React Hook Form jest zwykle szybszy niż formularze z kontrolowanymi polami?
- 33.Jak zachowują się zagnieżdżone granice
<Suspense>? - 34.Gdzie podział kodu przez
lazyzwykle przynosi najwięcej korzyści? - 35.Co jest nie tak z tym case reducerem w
createSlice? - 36.Jakie akcje generuje
createAsyncThunk('users/fetch', ...)? - 37.Skąd RTK Query wie, które dane pobrać ponownie po mutacji?
- 38.Czym jest RTK Query?
- 39.Co daje
createEntityAdapter? - 40.Dlaczego ten selektor powoduje re-render przy każdej akcji w store?
- 41.Kiedy Redux (lub Zustand) jest bardziej odpowiedni niż React Context?
- 42.Czym
staleTimeróżni się odgcTimew TanStack Query? - 43.Dlaczego TanStack Query z domyślnymi ustawieniami pobiera dane ponownie po powrocie do karty?
- 44.Jak zaktualizować listę po udanym utworzeniu elementu przez
useMutation? - 45.Które zapytania unieważnia
invalidateQueries({ queryKey: ['todos'] })? - 46.Jak zaimplementować optymistyczną aktualizację przez cache w TanStack Query?
- 47.Jak uruchomić zapytanie dopiero po otrzymaniu
user.idz innego zapytania? - 48.Jak przy paginacji pokazywać starą stronę, dopóki ładuje się nowa, zamiast szkieletu?
- 49.Co domyślnie robi TanStack Query przy błędzie zapytania po stronie klienta?
- 50.Po co
useQueryma opcjęselect? - 51.Co jest nie tak z tym efektem?
- 52.Gdzie umieścić kod, który ma się wykonać, bo użytkownik kliknął „Kup”?
- 53.Dlaczego ten efekt czatu łączy się ponownie przy zmianie motywu?
- 54.Dlaczego ten efekt uruchamia się przy każdym renderze, choć
optionswygląda tak samo? - 55.Jak komponent powinien subskrybować zdarzenie przeglądarki, np.
resize? - 56.Jak wygląda dobry własny hook?
- 57.Jak
forwardRefma się do React 19? - 58.Co i kiedy pokazuje
<Suspense fallback={<Spinner />}>? - 59.Jakie zmienne stanu są tu potrzebne?
- 60.Jak uniknąć wielu flag logicznych, takich jak
isSending,isSent,isErrornaraz? - 61.Dlaczego ten komponent jest nieczysty?
- 62.Co się dzieje, gdy stan komponentu się zmienia, ale wynikowy JSX jest identyczny?
- 63.Co robi
setCount(5), jeślicountjuż wynosi 5? - 64.Jak zmierzyć rozmiar elementu tuż po renderze, zanim przeglądarka go narysuje?
- 65.Dlaczego lista pól kontrolowanych może tracić fokus przy każdym naciśnięciu klawisza?
- 66.Do czego służy komponent
<Profiler>? - 67.Dlaczego wywołanie
setStatewuseEffectzależnym oduserIdw celu pobrania danych jest w porządku? - 68.Jak
useFormStatuspomaga w formularzu React 19? - 69.Co robi
<form action={saveAction}>w React 19? - 70.Co zwykle sygnalizuje użycie
Children.maplubcloneElementwe współczesnym React? - 71.Co się dzieje, gdy rodzic przekazuje inline
onChange={() => {}}do zmemoizowanego dziecka? - 72.Kiedy zmiana wartości
useRefpowoduje ponowny render? - 73.Dlaczego nie należy czytać ani zapisywać
ref.currentpodczas renderu? - 74.Czym różni się komponent kontrolowany od niekontrolowanego w systemie projektowym?
- 75.Dlaczego
useEffectz callbackiemasyncmoże być problemem?