Питання на співбесіді з React (Middle) з відповідями
75 запитань для співбесіди з теми React (Middle) - з правильними відповідями, поясненнями й посиланнями на документацію.
Пройти цей тест- 1.Коли React зберігає стан компонента між рендерами?
- 2.Як скинути стан форми
<EditForm />під час перемикання на іншого користувача? - 3.Що робить
React.memo(Component)? - 4.Чому
memoне допомагає компоненту<List items={data} onSelect={() => select(id)} style={{ gap: 8 }} />? - 5.Для чого потрібен
useMemo? - 6.Чому не можна оголошувати компонент усередині іншого компонента?
- 7.Як пов'язані
useCallback(fn, deps)іuseMemo? - 8.Коли
useCallbackсправді корисний? - 9.Коли
useReducerкращий заuseState? - 10.Чим
useLayoutEffectвідрізняється відuseEffect? - 11.Чому лічильник зупиниться на 1?
- 12.Чому цей ефект виконується після кожного рендеру?
- 13.Як уникнути гонки під час завантаження даних у
useEffect, якщоuserIdшвидко змінюється? - 14.Як правильно отримати
fullNameзfirstNameіlastName, що зберігаються в state? - 15.Які помилки НЕ ловить error boundary?
- 16.Що змінилося з передаванням
refу функціональні компоненти в React 19? - 17.Як поводяться події всередині порталу
createPortal(child, document.body)? - 18.Що таке компонент вищого порядку (HOC)?
- 19.У чому суть патерну render props?
- 20.Що таке патерн compound components?
- 21.Чому всі споживачі контексту перемальовуються за кожного рендеру провайдера?
- 22.Навіщо ділять контекст на
StateContextіDispatchContext? - 23.Що робить
useTransition? - 24.Коли варто використовувати
useDeferredValue? - 25.Що таке автоматичний батчинг у React 18+?
- 26.Для чого потрібен
useId? - 27.Для чого потрібен
useSyncExternalStore? - 28.Чим
use(promise)з React 19 відрізняється від звичайних хуків? - 29.Що дає
useActionStateу React 19? - 30.Для чого
useOptimistic? - 31.Що робить React Compiler?
- 32.Чому React Hook Form зазвичай швидший за форми на керованих полях?
- 33.Як поводяться вкладені
<Suspense>-межі? - 34.Де зазвичай найвигідніше застосовувати code splitting через
lazy? - 35.Що не так із цим case reducer у
createSlice? - 36.Які дії генерує
createAsyncThunk('users/fetch', ...)? - 37.Як RTK Query розуміє, які дані перезапитати після мутації?
- 38.Що таке RTK Query?
- 39.Що дає
createEntityAdapter? - 40.Чому цей селектор спричиняє перемальовування за будь-якої дії в store?
- 41.Коли Redux (або Zustand) доречніший за React Context?
- 42.Чим у TanStack Query
staleTimeвідрізняється відgcTime? - 43.Чому з налаштуваннями за замовчуванням TanStack Query перезапитує дані під час повернення на вкладку?
- 44.Як оновити список після успішного створення елемента через
useMutation? - 45.Які запити інвалідує
invalidateQueries({ queryKey: ['todos'] })? - 46.Як реалізувати оптимістичне оновлення через кеш у TanStack Query?
- 47.Як виконати запит лише після того, як отримано
user.idз іншого запиту? - 48.Як під час пагінації показувати стару сторінку, поки вантажиться нова, замість скелетона?
- 49.Що робить TanStack Query в разі помилки запиту за замовчуванням на клієнті?
- 50.Навіщо в
useQueryопціяselect? - 51.Що не так із цим ефектом?
- 52.Куди помістити код, що має виконатися, бо користувач натиснув «Купити»?
- 53.Чому цей ефект чату перепідключається під час зміни теми?
- 54.Чому цей ефект перезапускається на кожному рендері, хоч
optionsвиглядає однаково? - 55.Як компоненту підписатися на браузерну подію на кшталт
resize? - 56.Яким має бути добрий власний хук?
- 57.Як
forwardRefспіввідноситься з React 19? - 58.Що й коли показує
<Suspense fallback={<Spinner />}>? - 59.Які змінні стану тут потрібні?
- 60.Як уникнути безлічі логічних прапорців на кшталт
isSending,isSent,isErrorодночасно? - 61.Чому цей компонент нечистий?
- 62.Що відбувається, коли стан компонента змінюється, але результівний JSX ідентичний?
- 63.Що робить
setCount(5), якщоcountуже дорівнює 5? - 64.Як виміряти розмір елемента одразу після рендера, до малювання браузером?
- 65.Чому список контрольованих полів може втрачати фокус на кожне натискання клавіші?
- 66.Для чого потрібен компонент
<Profiler>? - 67.Чому нормально викликати
setStateусерединіuseEffect, що залежить відuserId, щоб завантажити дані? - 68.Чим допомагає
useFormStatusу формі React 19? - 69.Що робить
<form action={saveAction}>у React 19? - 70.Про що зазвичай свідчить використання
Children.mapабоcloneElementу сучасному React? - 71.Що відбувається, якщо батько передає
onChange={() => {}}інлайн мемоізованому нащадку? - 72.Коли зміна значення
useRefспричиняє перерендер? - 73.Чому не можна читати чи записувати
ref.currentпід час рендера? - 74.Чим відрізняються контрольований і неконтрольований компоненти в дизайн-системі?
- 75.Чому
useEffectзasync-колбеком може бути проблемою?