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

Реальное frontend-интервью с задачами на Middle/Senior

Основная запись — техническое frontend-собеседование в команде Сбера: кандидат решает задачи на агрегацию заказов и обход дерева, объясняет подход к useDebounce и отвечает на вопросы о React. После неё автор добавляет короткий фрагмент другого технического интервью с вопросами по JavaScript и frontend-архитектуре.

Миша - Frontend Dev
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 5,5 тыс.
  • Лайки на YouTube: 105
Открыть на YouTube

Таймлайн

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

В основной записи интервьюер из команды «Навигатор» Сбера сначала даёт live-coding-задачи: отобрать completed-заказы, суммировать amount по customer ID и отсортировать результат, затем рекурсивно обойти дерево. Далее кандидат концептуально разбирает useDebounce и отвечает на вопросы о разделении локального и глобального состояния, декомпозиции компонентов, React-рендеринге, виртуализации длинного списка и React.memo. После положительного фидбэка автор вставляет второе, короткое интервью: в нём обсуждают Event Loop, Virtual DOM, ключи списков, useEffect и подход к конструктору множества форм на основе схемы.

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

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

  • В задаче с заказами полезно сначала зафиксировать последовательность преобразований: оставить completed-заказы, агрегировать amount по customer ID и отсортировать результат.
  • Для обхода дерева нужно заранее определить обработку примитивов, массивов и вложенных объектов; рекурсивный подход подходит при неизвестной глубине структуры.
  • Debounce в React обычно реализуют таймером в useEffect и cleanup-функцией, отменяющей предыдущий таймер при смене зависимостей.
  • Виртуализация уменьшает число DOM-узлов в списке из тысяч элементов, а React.memo стоит применять при конкретной причине избегать повторных рендеров, а не повсеместно.

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