Собеседование в 2GIS на Senior Frontend-разработчика: React и бронирование
Во второй части frontend-собеседования кандидат разбирает React-компонент и проектирует интерфейс бронирования номера. Интервьюер уточняет контракты с backend, конкурентное бронирование и обработку оплаты.
- Опубликовано на YouTube:
- Просмотры на YouTube: 1,6 тыс.
- Лайки на YouTube: 25
Таймлайн
Коротко о видео
Это вторая часть собеседования на Senior Frontend-разработчика в 2GIS. В первом задании кандидат проводит ревью React-компонента: обсуждает передачу функции в useEffect, зависимости эффекта, ссылочную природу onClick и необходимость функциональной формы обновления состояния. Интервьюер просит не ограничиваться общими словами, а объяснять, что сломается в конкретном случае. Во втором кейсе кандидат проектирует виджет бронирования для travel-продукта. Он уточняет поля формы, даты, данные об отеле и контракт с backend, а затем разбирает конкурентный доступ к последнему номеру: выбор номера ещё не равен бронированию, а блокировку можно привязать к переходу к оплате. В дополнительном вопросе кандидат связывает оплату с заявкой и событием в Kafka, которое подтверждает поступление платежа.
Затронутые темы
Что взять на заметку
- В useEffect нужно передавать функцию, а не результат её немедленного вызова, и осознанно задавать зависимости.
- Callback-пропсы имеют ссылочную идентичность, поэтому их влияние на зависимости эффекта нужно проверять отдельно.
- Для счётчика или состояния, зависящего от прошлого значения, полезна функциональная форма обновления.
- При проектировании бронирования важно различать выбор номера, временную блокировку и подтверждённое бронирование после оплаты.
- Подтверждение платежа можно связать с обработкой сообщения в Kafka для конкретной заявки.