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

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

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

Front-end Science with Sergey Puzankov
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 92,8 тыс.
  • Лайки на YouTube: 2,7 тыс.
Открыть на 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.

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