Питання на співбесіді з керування станом (Junior) з відповідями
75 запитань для співбесіди з теми Керування станом (Junior) - з правильними відповідями, поясненнями й посиланнями на документацію.
Пройти цей тест- 1.Що таке «стан» (state) у React-компоненті?
- 2.Чому лічильник на екрані не змінюється?
- 3.Коли потрібна функціональна форма
setCount(c => c + 1)замістьsetCount(count + 1)? - 4.Як правильно оновити одне поле об'єкта в стані?
- 5.Як видалити елемент з
idз масиву в стані? - 6.Навіщо передавати функцію в
useState(() => createInitialTodos())? - 7.Чи потрібно зберігати
fullNameу стані, якщо вже єfirstNameіlastName? - 8.Що таке «локальний» стан компонента і коли його достатньо?
- 9.Що повертає
useReducer? - 10.Якою має бути функція-редʼюсер?
- 11.Коли
useReducerзазвичай зручніший за кількаuseState? - 12.Що зазвичай робить редʼюсер для невідомого
typeдії? - 13.Чому дії називають за тим, що сталося (
'task_added'), а не що зробити ('set_tasks')? - 14.Що таке prop drilling?
- 15.Що таке «підняття стану» (lifting state up)?
- 16.Який прийом часто розв'язує prop drilling без Context?
- 17.Чи є передавання пропсів на 2–3 рівні проблемою саме собою?
- 18.Яке завдання розв'язує Context API?
- 19.Які кроки потрібні, щоб використати Context?
- 20.Що поверне
useContext(ThemeContext), якщо вище немає провайдера? - 21.Які компоненти перемалюються при зміні
valueпровайдера? - 22.Які дані добре підходять для Context?
- 23.Навіщо обгортати
useContextу власний хук на кшталтuseAuth()? - 24.Чи може компонент використовувати кілька контекстів одночасно?
- 25.Що таке Redux Toolkit (RTK)?
- 26.Що генерує
createSlice? - 27.Чому всередині редʼюсерів
createSliceможна «мутувати»state? - 28.Що робить
configureStore? - 29.Як під'єднати Redux-стор до React-застосунку?
- 30.Для чого потрібні
useSelectorіuseDispatch? - 31.Що таке action (дія) в Redux?
- 32.Де в Redux Toolkit має бути запит до сервера?
- 33.Що таке Zustand?
- 34.Як прочитати лише одне поле зі стору Zustand?
- 35.Як оновити стан у Zustand?
- 36.Чи потрібен стору Zustand компонент-провайдер?
- 37.Як зберігати стор Zustand у
localStorage? - 38.Чим серверний стан відрізняється від клієнтського (UI)?
- 39.Для чого потрібен TanStack Query (React Query)?
- 40.Які дві обов'язкові частини в
useQuery? - 41.Що потрібно зробити перед викликом
useQueryу застосунку? - 42.Як надіслати POST-запит (створити елемент) з TanStack Query?
- 43.Чому TanStack Query перезапитує дані під час повернення у вкладку браузера?
- 44.Що таке RTK Query?
- 45.Що генерує
createApiдля ендпоінтаgetPosts: builder.query(...)? - 46.Як мутація RTK Query змушує списки перезапитатися після додавання елемента?
- 47.Що означає назва SWR?
- 48.Які аргументи в
useSWR(key, fetcher)? - 49.Що таке
loaderу React Router? - 50.Що таке
actionу React Router? - 51.Чи оновлює стан зміна аргументу
useState(initial)на наступних рендерах? - 52.Коли два шматки стану варто об'єднати в один об'єкт?
- 53.Де розміщувати провайдер Context?
- 54.Які три принципи описують класичний Redux?
- 55.Що дають змогу робити Redux DevTools?
- 56.Навіщо визначати функції-селектори на кшталт
selectCartTotal(state)замість інлайн-звернень усюди? - 57.Куди потрапляє аргумент, коли ви надсилаєте
todoAdded("Buy milk"), створенийcreateSlice? - 58.Що надає об'єкт Redux-стору?
- 59.Для чого потрібен
createAsyncThunk? - 60.Як дія Zustand читає поточний стан?
- 61.Чому Zustand може давати менше перерендерів, ніж один Context із тим самим станом?
- 62.З яких полів результату
useQueryзазвичай рендерять UI? - 63.Як вручну перезапитати дані, наприклад за кнопкою «Оновити»?
- 64.Що показують TanStack Query Devtools?
- 65.Які хуки RTK Query генерує для ендпоінтів
getPosts(query) іaddPost(mutation)? - 66.Чим
isLoadingвідрізняється відisValidatingу SWR? - 67.Чому fetcher у SWR має кидати помилку за неуспішних HTTP-відповідей?
- 68.Як прочитати частину
:idз URL/users/:idу компоненті React Router? - 69.Як loader у React Router дізнається, який елемент завантажити?
- 70.Де зберігати запит у полі пошуку, щоб сторінкою можна було поділитися й вона переживала перезавантаження?
- 71.У невеликому застосунку є перемикач теми й користувач, що увійшов. Яких інструментів стану зазвичай досить?
- 72.Що таке «стор» у бібліотеках керування станом?
- 73.Як компоненту запам'ятати налаштування в
localStorageміж візитами? - 74.Як зазвичай виглядає об'єкт дії для
useReducer? - 75.Що таке «атомарний» підхід до стану в бібліотеках на кшталт Jotai?