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

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

Senior · 5+ років досвіду

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

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

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

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

6 питань рівня Senior з відповідями

1

Що реально змінюється, коли компонент стає серверним?

Відповідь

Він виконується лише на сервері, тому не надсилає JavaScript у браузер і може звертатися до бази напряму, але не може зберігати стан, використовувати ефекти й вішати обробники. Справжня робота — провести межу: інтерактивні листки лишаються клієнтськими, усе вище може бути серверним. Позначка «use client» робить клієнтським і все, що компонент імпортує, і саме так бандл непомітно перестає зменшуватися.

2

У застосунку поганий INP. Як підступитися?

Відповідь

INP вимірює затримку між дією та візуальним відгуком, тому шукають довгі задачі в головному потоці під час взаємодії. Звичайні причини: оновлення стану, що перемальовує велике дерево, дорогий синхронний обробник і гідратація, яка ще триває. Інструменти — Profiler і записи про довгі задачі; лікування — звузити перемальовування, useTransition для нетермінових оновлень і менше JavaScript загалом.

3

Як вирішити, що належить компоненту дизайн-системи, а що фічі?

Відповідь

Компонент дизайн-системи володіє зовнішнім виглядом і взаємодією, які мають бути однаковими всюди, і нічим із конкретної фічі. Щойно в нього зʼявляється проп, названий за екраном, межу порушено. Перевірка проста: чи зможе друга команда використати його, не читаючи код першої, і чи є його зміна узгодженим релізом, а не локальною правкою.

4

Помилка гідратації виникає лише в проді. Як налагоджувати?

Відповідь

Це означає, що серверний HTML і перший клієнтський рендер розійшлися, і причин небагато: Date.now чи Math.random у рендері, читання localStorage або window на шляху рендера, форматування за локаллю і часовим поясом, розширення браузера, що переписують DOM. Відтворіть продовий рендер локально і діліть дерево навпіл. Придушити попередження — хибне рішення: два дерева лишаться справді різними.

5

Коли монорепозиторій у фронтенді виправданий, а коли це накладні витрати?

Відповідь

Виправданий, коли кілька застосунків ділять компоненти і ви хочете ревʼювити й випускати зміну одразу для всіх, маючи інструменти — Turborepo або Nx — для інкрементальних збірок. Накладними витратами стає для одного застосунку з парою бібліотек, де ви платите налаштуванням кешу і складністю CI без потреби. Вирішальне питання — міжпакетні зміни трапляються щотижня чи двічі на рік.

6

Як мігрувати велику кодову базу з класових компонентів на хуки?

Відповідь

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

🦎

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

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

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

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

Junior React FrontendMiddle React FrontendУсі питання React Frontend

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

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