Вернуться в видеотекуКоротко о видео
Учебное публичное собеседование: бэкенд-разработчик Дмитрий Дёмин с опытом Python готовится перейти во frontend, а Ирина Чигринова задаёт вопросы и по ходу объясняет ожидания интервьюера. Они разбирают мотивацию смены направления, браузерный рендеринг, производительность, event loop, React и хуки, затем решают три лайвкодинг-задачи: ограничение повторов символов, порядок промисов и треугольник Паскаля. В финале интервьюер высказывает мнение, что кандидату стоит пробоваться на junior-позиции, но это учебная обратная связь, а не результат реального найма.
Затронутые темы
Что взять на заметку
- Для вопросов о браузере подготовьте связное объяснение пути HTML → DOM, CSS → CSSOM/render tree → layout → paint, а также различий между обычными script, defer и async.
- При разборе лагов связывайте 60 FPS с короткими задачами в главном потоке: тяжёлые вычисления дробят на части или выносят в Web Worker, чтобы не блокировать интерфейс.
- Для анимаций избегайте свойств, вызывающих layout/reflow, включая width, height и margin; изменения DOM и измерения размеров могут быть дорогими.
- В React нужно уверенно различать state как внутреннее состояние компонента и props как внешние входные данные, а также помнить, что изменение ref само по себе не вызывает ререндер.
- Хуки должны вызываться в одинаковом порядке на каждом рендере, поэтому useEffect нельзя помещать в условные ветки; зависимости эффекта определяют его повторный запуск.
- На лайвкодинге сначала уточняйте условие, проговаривайте ход мысли и спрашивайте о забытом API; в задаче на ограничение повторов достаточно счётчика в объекте и результирующего массива/строки.
- Для асинхронных задач повторите Promise.all и очереди задач, а для треугольника Паскаля — построение каждой строки из соседних элементов предыдущей строки с единицами по краям.