Вернуться в каталог собеседований

Собеседование в 2GIS на Senior Frontend-разработчика: React и бронирование

Во второй части frontend-собеседования кандидат разбирает React-компонент и проектирует интерфейс бронирования номера. Интервьюер уточняет контракты с backend, конкурентное бронирование и обработку оплаты.

Тихон Галактионов
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 1,6 тыс.
  • Лайки на YouTube: 25
Открыть на YouTube

Таймлайн

Коротко о видео

Это вторая часть собеседования на Senior Frontend-разработчика в 2GIS. В первом задании кандидат проводит ревью React-компонента: обсуждает передачу функции в useEffect, зависимости эффекта, ссылочную природу onClick и необходимость функциональной формы обновления состояния. Интервьюер просит не ограничиваться общими словами, а объяснять, что сломается в конкретном случае. Во втором кейсе кандидат проектирует виджет бронирования для travel-продукта. Он уточняет поля формы, даты, данные об отеле и контракт с backend, а затем разбирает конкурентный доступ к последнему номеру: выбор номера ещё не равен бронированию, а блокировку можно привязать к переходу к оплате. В дополнительном вопросе кандидат связывает оплату с заявкой и событием в Kafka, которое подтверждает поступление платежа.

Затронутые темы

Что взять на заметку

  • В useEffect нужно передавать функцию, а не результат её немедленного вызова, и осознанно задавать зависимости.
  • Callback-пропсы имеют ссылочную идентичность, поэтому их влияние на зависимости эффекта нужно проверять отдельно.
  • Для счётчика или состояния, зависящего от прошлого значения, полезна функциональная форма обновления.
  • При проектировании бронирования важно различать выбор номера, временную блокировку и подтверждённое бронирование после оплаты.
  • Подтверждение платежа можно связать с обработкой сообщения в Kafka для конкретной заявки.

Рекомендуем посмотреть