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

Frontend Собеседование на Junior разработчика. Фрилансер, студент, 20 лет

Публичное пробное Front-end-собеседование уровня Junior с разбором опыта кандидата, JavaScript-вопросов, практических задач и подробной обратной связью. Существенная часть посвящена браузерному поведению, производительности и кэшированию.

Источник: Front-end Science with Sergey Puzankov

Открыть на YouTube

Таймлайн

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

Публичное тестовое собеседование на позицию Junior Front-end разработчика с Валерием: после англоязычного prescreen обсуждают его фриланс-проекты, затем проверяют JavaScript, DOM, браузерные события, производительность, кэширование и cookies. В практической части кандидат разбирает `script`/`async`/`defer`, методы массивов, поведение `delete`, вызов функции с `new`, копирование объекта, каррирование, расширение файла и рекурсивный обход DOM-дерева. В финальном фидбэке интервьюер отмечает уверенную базу по типам, массивам и решению задачи о глубине DOM, а для подготовки рекомендует освежить порядок загрузки скриптов, HTTP-кэширование и безопасность cookies.

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

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

  • Разберите поведение обычного внешнего `script`, `defer` и `async`: обычный скрипт блокирует парсинг, `defer` загружается параллельно и выполняется после разбора HTML, а `async` выполняется по готовности без гарантии порядка.
  • Не смешивайте `stopPropagation()` и `preventDefault()`: первый останавливает дальнейшее распространение события, второй отменяет действие браузера по умолчанию.
  • Для обхода массива выбирайте обычный `for`, когда нужны шаг, ранний выход через `break` или полный контроль индекса; колбэк `forEach` не прекращает обход массива обычным `return`. `map` создаёт новый массив, а `reduce` накапливает результат.
  • Помните, что `delete array[index]` создаёт пустую позицию, но не сокращает `array.length`; для удаления элемента обычно нужен другой подход.
  • На кодинговых задачах сначала зафиксируйте требуемые примеры вызова и ожидаемый результат: интервьюер отдельно указал, что кандидат сначала начал решать не ту задачу для функции сложения.
  • Для рекурсивного подсчёта глубины DOM нужны текущая глубина при спуске в дочерний узел и отдельное обновление максимума.
  • В теме производительности подготовьте SSR, CDN, кэширование, оптимизацию изображений, постепенную подгрузку интерфейса и HTTP-заголовки `Cache-Control`, `Expires`, `Pragma`; отдельно повторите `HttpOnly` и риски XSS для cookies.

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

50 мин
Frontend

НЕУДАЧНОЕ СОБЕСЕДОВАНИЕ на FRONTEND РАЗРАБОТЧИКА. Live coding

Разбор неудачного для автора фронтенд-собеседования с live coding и вопросами по JavaScript, React и TypeScript. Во второй части собеседники рассказывают о монорепозитории, Context/RxJS, собственном UI kit и миграции проектов на Next.js.

1 ч 31 мин
Frontend

Прохожу собеседование на FRONTEND Разработчика в Яндекс. Как решать задачи правильно?

Показательный разбор мок-интервью на frontend-разработчика: палиндром и асинхронный поиск маршрута в графе. Участники обсуждают алгоритмическую сложность, стиль коммуникации кандидата, подсказки и отладку.