P
prepair.app
Пройти інтерв'ю →
EnglishУкраїнськаРусскийDeutsch
⚛️

Junior React FrontendПитання на співбесіді React розробника

Junior · без досвіду / до 1 року

Співбесіда React змішує специфіку фреймворку — хуки, рендеринг, стан — з основами JavaScript, за якими видно, чи розумієте ви, що React робить під капотом. Нижче — найчастіші питання з еталонними відповідями. Junior: базова теорія, визначення та прості практичні кейси.

Спробувати — без реєстрації
Готуємо питання…

Теми для підготовки

Хуки: useState, useEffect, useMemo
Virtual DOM і reconciliation
Керування станом
Оптимізація рендерів
JavaScript: замикання, event loop
TypeScript у React

7 питань рівня Junior з відповідями

1

Що насправді задає масив залежностей useEffect?

Відповідь

Він каже React, які значення читає ефект, щоб ефект перезапускався лише за їхньої зміни. Порожній масив означає один запуск після монтування; відсутність масиву взагалі — запуск після кожного рендера, і саме так починаються нескінченні цикли. Пропустити використовуване значення — друга помилка: ефект замикається на застарілому значенні й користується ним вічно.

2

Навіщо React потрібен key в елементів списку і чим поганий індекс?

Відповідь

Key каже React, який елемент нового списку відповідає якому в старому, щоб можна було перемістити вузол, а не перезібрати його. Індекс це ламає, щойно список змінює порядок або елемент видаляють: React зіставляє за позицією, і потрібний стан лишається в непотрібного компонента — позначений чекбокс перестрибує на інший рядок.

3

У чому різниця між props і state?

Відповідь

Props приходять від батька і в компоненті, що їх отримує, доступні лише для читання. State належить компоненту, і його зміна викликає перемальовування. Якщо одне значення потрібне двом компонентам, його місце — у найближчому спільному батьку, звідки воно спускається пропсами; це й називають підняттям стану.

4

Чому не можна мутувати стан напряму?

Відповідь

React вирішує, чи перемальовувати, порівнюючи старе значення з новим за посиланням. Push у масив посилання не змінює, тому React робить висновок, що нічого не сталося, і пропускає рендер — дані оновилися, екран ні. Замість мутації значення замінюють: новий масив, новий обʼєкт.

5

Що таке контрольований компонент?

Відповідь

У контрольованого поля значення задається станом React, а onChange пише назад, тому стан — єдине джерело істини. У неконтрольованого значення живе в DOM і читається через ref. Контрольований беруть за замовчуванням, бо валідація, форматування та умовне блокування потребують значення під час рендера; неконтрольований потрібен там, де перемальовування на кожне натискання марнотратне.

6

Чому хуки не можна викликати всередині умови?

Відповідь

React розрізняє хуки за порядком виклику, а не за іменем — перший useState у компоненті це завжди та сама комірка стану. Хук усередині if змінює цей порядок між рендерами, і React віддає не той стан не тому хуку. Звідси правило: викликати безумовно на верхньому рівні, а умову переносити всередину хука.

7

Що робить React, якщо встановити те саме значення стану?

Відповідь

Він виходить достроково: якщо нове значення ідентичне поточному за Object.is, перемальовування не буде. Тому встановлення примітива в те саме число безкоштовне, а встановлення обʼєкта в структурно такий самий, але створений заново — ні: посилання інше, і React перемалює, хоча візуально нічого не змінилося.

🦎

Прочитати відповіді недостатньо

На співбесіді ти говориш вголос під тиском. Кем поставить ті самі питання, оцінить кожну відповідь і покаже, що саме підтягнути.

Пройти інтерв'ю Junior React Frontend →
Безкоштовно · 3 інтерв'ю на місяць

Інші рівні — React Frontend

Middle React FrontendSenior React FrontendУсі питання React Frontend

Інші спеціалізації

🔍Junior QA Manual🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend💎Junior Ruby on Rails🟣Junior .NET Backend Developer🔷Junior C++