Реальное frontend-интервью с задачами на Middle/Senior
Основная запись — техническое frontend-собеседование в команде Сбера: кандидат решает задачи на агрегацию заказов и обход дерева, объясняет подход к useDebounce и отвечает на вопросы о React. После неё автор добавляет короткий фрагмент другого технического интервью с вопросами по JavaScript и frontend-архитектуре.
- Опубликовано на YouTube:
- Просмотры на YouTube: 5,5 тыс.
- Лайки на YouTube: 105
Таймлайн
Коротко о видео
В основной записи интервьюер из команды «Навигатор» Сбера сначала даёт 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 стоит применять при конкретной причине избегать повторных рендеров, а не повсеместно.