Вернуться в видеотекуFrontend Собеседование на Junior разработчика. Фрилансер, студент, 20 лет
Публичное пробное Front-end-собеседование уровня Junior с разбором опыта кандидата, JavaScript-вопросов, практических задач и подробной обратной связью. Существенная часть посвящена браузерному поведению, производительности и кэшированию.
- Направление
- Frontend
- Формат
- Техническое собеседование
- Грейд
- Junior
- Длительность
- 1 ч 31 мин
Коротко о видео
Публичное тестовое собеседование на позицию 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.