Вернуться в видеотеку

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

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

Источник: Тихон Галактионов

Открыть на YouTube

Таймлайн

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

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

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

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

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

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

1:27:09
FrontendMiddle

Техническое собеседование frontend-разработчика: React и TypeScript

Запись двух фрагментов реального технического собеседования frontend-разработчика в крупный российский банк. Кандидат обсуждает загрузку и рендеринг страниц, API-контракты, REST и GraphQL, а в практических задачах разбирает React-эффекты и обработчики событий, повторные fetch-запросы, event loop JavaScript и conditional types TypeScript; во второй части проводит code review и проектирует useResize.

41:49
FrontendJunior

Техническое собеседование frontend-разработчика в Айтеко (СБОЛ)

Запись технического собеседования на frontend-позицию в Айтеко (СБОЛ). Кандидат рассказывает о проекте и процессах, затем отвечает на вопросы о декомпозиции, API-контрактах и HTTP, разбирает Event Loop, замыкания, Redux Toolkit, рекурсию и хуки React. Практическая часть посвящена обработчику поиска с query-параметром, состояниями загрузки и ошибки.

1:13:38
FrontendIntern

Техническое собеседование fullstack-разработчика на стажировку

Техническое собеседование fullstack-разработчика на стажировку в команду образовательной платформы IT Booster, преимущественно по frontend-навыкам. После разговора об опыте и проектах интервьюер спрашивает о React, Next.js и TypeScript. В практической части разбираются задачи с useState, useEffect и поиском уникального пересечения массивов; последняя требует подробных подсказок.