Работали ли вы с React?
Что проверяют
Java-бэкендера спрашивают про фронт не для того, чтобы услышать «я фронтендер». Смотрят, насколько вы автономны на стыке: сможете ли поправить экран, понять, почему интерфейс не обновился после вашего ответа, и договориться о контракте API, не перекладывая всё на соседнюю команду.
Как отвечать
Назовите свой реальный уровень без преувеличения и подкрепите фактами: правки в существующем приложении, форма с валидацией, подключение вашего REST, сборка фронта в общем пайплайне, отдача статики из Spring Boot.
Минимум, который стоит держать в голове:
- компонент это функция, возвращающая разметку, данные приходят через параметры;
- состояние через
useState, загрузка данных в эффекте или через библиотеку запросов; - иммутабельность: менять объект в состоянии на месте нельзя, сравнение поверхностное, нужен новый объект.
Дальше уводите разговор в свою зону, там вы сильнее:
- CORS и предварительный запрос браузера, куки с атрибутами
SameSiteиSecure; - единый формат ошибки, коды вместо текста, чтобы фронт показывал свою фразу;
- пагинация, сортировка, даты в ISO с таймзоной;
- отдача
index.htmlна любой путь, иначе обновление страницы на клиентском роуте даёт 404.
Где спотыкаются
Пишут React в резюме после одного пет-проекта, а получают вопрос про ключи в списках и лишние рендеры. Честное «читаю и правлю, с нуля экран не собирал» звучит лучше, чем плавание на первом же уточнении.
Второе: переносят серверные привычки. Складывают в состояние изменяемый объект, правят поле и удивляются, что перерисовки нет. Фронт сравнивает ссылки, а не содержимое.
Третье: обсуждают контракт со своей колокольни. Отдают сущности как в базе, и экрану приходится делать пять вызовов подряд. От бэкендера ждут, что он сам предложит агрегирующий эндпоинт или уточнит, какие поля нужны экрану.