Вернуться в видеотекуКоротко о видео
Показательное собеседование с фронтенд-разработчиком Халилем, который работает более полугода и хочет понять текущий уровень и пробелы. Интервьюер последовательно проверяет JavaScript, асинхронность, совместимость со старыми браузерами, массивы, this, vanilla JavaScript и React, включая хуки, рендеринг и оптимизации. В финале он даёт кандидату подробный фидбэк: ключевые точки роста — глубокое понимание Event Loop, сборки, DOM и внутренней работы React, а также умение рассуждать вслух и проверять написанный код.
Затронутые темы
Что взять на заметку
- Для подготовки разберите Event Loop на исполнимых примерах: стек вызовов, очереди макрозадач и микрозадач, задержки setTimeout/setInterval, блокировку потока циклом while (true) и Web Workers.
- Для точного countdown-таймера не считайте интервалы: храните целевое время или время старта и на каждом обновлении вычисляйте разницу с текущей датой; задержка таймера задаёт минимальное, а не гарантированно точное время вызова.
- Отработайте Promise, async/await и Promise.all: различайте последовательный await и параллельно начатые операции, передавайте в Promise.all результаты вызовов функций, а не сами функции, и корректно обрабатывайте ошибки.
- Нужно чётко различать Babel и polyfill: Babel транспилирует поддерживаемый синтаксис, а polyfill добавляет реализацию отсутствующих API или структур данных, например Set, для старых браузеров.
- В React отдельно подготовьте useEffect, useLayoutEffect, useMemo и useCallback: зависимости, cleanup, мемоизацию значения против ссылки на callback и смысл useCallback вместе с React.memo.
- На собеседовании проговаривайте ход мысли, уточняйте неоднозначный вопрос, объясняйте алгоритм до написания кода и после решения проверяйте вызовы функций, типы данных, форматирование и логические ошибки.