Яких питань з React очікувати на співбесіді
Автор: Aaron Cao · Оновлено

Спершу очікуйте питання про hooks: useState, залежності useEffect і stale closure. Потім рендеринг: reconciliation, чому key у списках мають значення, і контроль re-render за допомогою memo, useMemo та useCallback. У більшості раундів додають практичне завдання наживо, зазвичай список із fetch і фільтрацією або поле пошуку з debounce.
Які концепції React запитують найчастіше?
Площа React величезна, і списки питань трактують кожен закуток як однаково ймовірний. Це не так. Цей розділ охоплює концепції, які справді вирішують результат більшості раундів, тож ви можете практикуватися відповідно до реального розподілу. Домінують чотири групи:
- Механіка hooks: правила hooks, що входить у масив залежностей useEffect, функції cleanup, і баг stale closure, коли effect або callback бачить старе значення state.
- Рендеринг: що запускає re-render, як reconciliation порівнює дерева, і чому стабільні key мають значення у списках.
- Проєктування state: підняття state, controlled проти uncontrolled input, і коли context підходить краще за зовнішній store.
- Продуктивність: React.memo, useMemo, useCallback, і коли кожен із них — це шум, а не допомога.
Інтерв'юери досліджують причину за кожним пунктом. Продекламувати, що key мають бути унікальними, не дає жодних балів; пояснити, що React робить із key під час зміни порядку списку, дає.
Які завдання з live coding варто очікувати?
Більшість раундів з React включають створення невеликого компонента наживо. Повторювані завдання стабільні незалежно від компанії:
- Отримайте список через API, відрендеріть його і додайте текстовий фільтр.
- Додайте debounce до поля пошуку і скасовуйте застарілі запити.
- Створіть форму з валідацією і controlled input.
- Напишіть лічильник або таймер, який коректно прибирає за своїм effect.
- Виокремте власний hook із логіки, що повторюється.
Наприклад, front-end інженер, який проходить співбесіду на продуктову роль рівня middle, може створити список із fetch і фільтрацією, а потім отримати додаткові запитання про стани завантаження, стани помилок і те, що відбувається, коли компонент демонтується посеред запиту. Саме на цих розширеннях вигравають раунди; базове завдання — лише мінімальна планка.
Відпрацювання цього під тиском часу з уточнювальними питаннями і робить це автоматичним; сторінка mock interview описує проведення таймованих сесій, де інтерв'юер продовжує тиснути.
Як виглядають питання з React рівня senior?
Співбесіди рівня senior зміщуються від механіки до оцінних суджень. Очікуйте питання про архітектуру state: що живе у state компонента, що належить store, чим server state відрізняється від UI state, і де міститься caching. Питання про продуктивність рендерингу стають конкретними: пошук джерела повільної взаємодії, вибір між memoization і реструктуризацією, і читання flame graph із профайлера.
Server-side rendering і hydration з'являються там, де команда запускає фреймворк поверх React: що таке hydration, чому виникають розбіжності (mismatch), і що дає перенесення роботи на сервер. Питання про тестування зосереджені на стратегії, що ви тестуєте на рівні компонента проти end to end, більше, ніж на API конкретної бібліотеки.
Формати співбесід і те, як front-end раунд зазвичай складає ці етапи, описані в interview types hub.
Як практикуватися, щоб це спрацювало на справжній співбесіді?
Перегляд туторіалів формує впізнавання, а не пригадування, а співбесіда перевіряє саме пригадування під наглядом. Рішення — повторення в реальній формі раунду: створюйте стандартні завдання з порожнього файлу, промовляйте вголос під час набору тексту і відповідайте на переривання, не втрачаючи нитку думки. Набори питань для суміжних стеків, зокрема основи звичайного JavaScript, з яких раунди з React досі часто починаються, зібрані в question banks hub.
Одне чесне зауваження: співбесіди з React майже завжди проходять у спільному редакторі або з видимим екраном, і все на цьому екрані видно інтерв'юеру. Асистенту місце під час підготовки й практики, а не в самому раунді зі спільним екраном. Для законного використання наживо оверлей SubcueAI залишається локальним на вашому пристрої, і жоден бот не приєднується до дзвінка; налаштування для практичних сесій описані на сторінці tutorial.