Загрузка…
Загрузка…
frontend / senior / tech_deep
Формат
online
Стадия
tech_deep
Когда
within_quarter
Длительность
—
01
Поведенческий
Расскажите про ваш опыт: где работали, что делали, как работали. Общие вопросы про команду.
Озон, HR-скрининг и скрининг с тимлидом
02
Код
Решить четыре алгоритмические задачи уровня Medium с LeetCode.
Озон, техсобес. Конкретные задачи не названы. По фидбэку именно алгоритмы стали причиной отказа.
03
Код
Лайв-кодинг: создать пустой проект и сделать окно с видео с веб-камеры, добавить кнопку, по клику на которую делается скриншот и сохраняется. Технология — любая на выбор кандидата.
Озон, техсобес. Реальная продуктовая задача с расшариванием экрана.
04
Поведенческий
Расскажите про ваш опыт работы.
Заметки
Ретро-статья фронтенд-разработчика Владислава Фомина (экс-Алиэкспресс, джун → сеньор за 5 лет) о поиске работы за ~2 месяца (июль — начало сентября): 113 откликов на HH плюс отклики на Хабр Карьере, в Telegram-каналах и напрямую HR; 15 собеседований, 5 офферов. Описаны собеседования в несколько компаний: Озон (отличный лайв-кодинг с продуктовой задачей, но отказ из-за алгоритмов), Ламода (не дошёл до финального лайв-кодинга — принял другой оффер), Одноклассники (платформенная команда, глубокие вопросы), Сбер/Сбертех (2 захода; в первом выбрали внутреннего сотрудника), Тильда (отказ: не хватило глубины по сравнению объектов, defer/async и дубликатам без Set; позитив — нормализация, мапы, софт-скиллы), X5 (3 этапа: HR-скрининг, техсобес, софтовый/культурный фит с руководителем — оффер принят). Принял оффер X5 (Пятёрочка), зарплата в вилке 250–350 тыс. + ~50 тыс. бонусы. Также описана переделка резюме под ATS (ключевые слова, чистка навыков, достижения через ChatGPT, серьёзное фото), после чего охваты резко выросли.
Подготовка
Ставить собеседования плотно одно за другим — навык собеседований тренируется. Смотреть открытые собеседования на YouTube (Сбер, X5, Озон, Яндекс) по запросам вроде «открытое собеседование фронтенд» — вопросы оттуда реально встречаются; можно слушать фоном. Готовиться по ~1,5 часа вечером перед собеседованием. Решать LeetCode Easy, топ-75 задач; использовать NeetCode с готовыми разборами; если не решается — смотреть решение и разбираться. Учить Event Loop (синхронные таски, микротаски, макротаски) — спрашивают почти везде. На собеседовании проговаривать решение вслух, объяснять почему; честно признаваться, если не знаешь, и предполагать с обоснованием — иначе «закопают» глубокими вопросами. Резюме писать под ATS: базовые названия технологий без дублей. Эффективнее всего — писать HR напрямую в обход фильтров сайтов.
Стиль интервьюера
Озон: алгоритмическая секция (4 задачи Medium) + полуторачасовой лайв-кодинг с реальной продуктовой задачей на любой технологии; финальный фидбэк, однако, был только по алгоритмам. Одноклассники: знающий интервьюер, цепляется за каждое упомянутое слово и раскручивает тему вглубь; платформенная команда — копают в устройство браузера. Сбер: задачи на типы TypeScript и React, просят проговаривать действия. Тильда: чистый JS без фреймворков, приятная атмосфера, фирменная задачка на UI/UX-насмотренность, активная раскрутка вопросов follow-up'ами. X5: стандартные этапы + отдельный софтовый/культурный фит с руководителем. Везде, кроме Озона, спрашивали Event Loop. На многих собеседованиях в фидбэке отмечали хорошие софт-скиллы кандидата.
Ламода, HR-скрининг
05
Теория
Какие примитивы есть в JavaScript?
Ламода, технический скрининг
06
Теория
Есть flexbox — как расставить блоки по обе стороны?
Ламода, технический скрининг
07
Теория
Чем блочные элементы отличаются от строчных?
Ламода, технический скрининг
08
Теория
Что такое генераторы и как они используются? Как сделать функцию-генератор?
Ламода, технический скрининг
09
Теория
Расскажите про Event Loop: синхронные таски, микротаски, макротаски.
Ламода, технический скрининг. По словам автора, Event Loop спрашивали на каждом собеседовании, кроме Озона.
10
Код
Решить несколько задач с LeetCode уровня Easy.
Одноклассники, техсобес. Конкретные задачи не названы.
11
Теория
Расскажите про Event Loop и микротаски (с углублённой раскруткой темы).
Одноклассники: за любое упомянутое слово цеплялись и просили объяснить глубже — «ловят за микротаску и давай раскручивать».
12
Теория
Расскажите про Beacon API.
Одноклассники, техсобес
13
Теория
Нужно отправить события аналитики. Когда закрываем окно, все запросы падают и никуда не уходят. Что сделать, чтобы аналитика точно ушла?
Одноклассники. Прикладной широкий вопрос, обсуждали с разных сторон.
14
Теория
Как работает браузер: как работает рендер, какие стадии отрисовки, что происходит, когда человек открывает браузер/страницу, как ускорить?
Одноклассники, платформенная команда — копали вглубь устройства браузера.
15
Код
Задача на TypeScript: Generic Length — передать массив, generic должен иметь тип длины этого массива.
Сбер (Сбертех, платформенная команда), задача уровня LeetCode Easy
16
Код
Задача на TypeScript: FlatMap — массив массивов превратить в плоский массив, всё через типы TypeScript.
Сбер (Сбертех, платформенная команда), задача уровня LeetCode Easy
17
Код
Troubleshooting React-компонента: дан код — найти ошибки, исправить их и предложить улучшения, проговаривая, что делаешь и почему.
Сбер (Сбертех)
18
Теория
Есть React-компонент с useLayoutEffect, useEffect, useRef и console.log — в каком порядке выведутся логи и почему?
Сбер (Сбертех). Кандидат сначала ошибся, потом дошёл до правильного решения.
19
Теория
Расскажите про Event Loop.
Тильда, техсобес
20
Код
Решить пару задач с LeetCode уровня Easy.
Тильда, техсобес. Конкретные задачи не названы.
21
Кейс
Показывают скриншоты двух компонентов/кусочков страницы: какой вариант больше нравится и почему, что более выгодно с точки зрения UI/UX?
Тильда — задача на понимание UI/UX, отличительная особенность их собеседования.
22
Теория
Есть два объекта — как их сравнить между собой?
Тильда. Раскрутка вопроса ниже (без lodash, объект с функцией).
23
Теория
А если lodash нет — как сравнить два объекта?
Тильда, follow-up к вопросу о сравнении объектов. Кандидат предложил JSON.stringify.
24
Теория
Что будет, если передать в JSON.stringify объект с функцией? И как сделать, чтобы сравнение объектов работало и с функциями?
Тильда, follow-up второго уровня. Кандидат не смог полностью ответить — один из пунктов негативного фидбэка.
25
Теория
Как подключать JavaScript-скрипты к страницам? Какие есть современные способы — отложенный (defer) и асинхронный (async) скрипт?
Тильда. Кандидат вспомнил async, но не вспомнил defer — пункт негативного фидбэка.
26
Код
Как удалить дубликаты из массива без использования Set?
Тильда. Сначала спросили как удалить дубликаты, затем follow-up — сделать без Set. Кандидат не ответил — пункт негативного фидбэка.
27
Код
Решить несколько задач с LeetCode уровня Easy.
X5, техсобес. Конкретные задачи не названы.
28
Теория
Расскажите про Event Loop.
X5, техсобес — «немного поговорили про Event Loop»
29
Код
Troubleshooting React-компонента: посмотреть код, найти, что можно починить, и предложить решения/улучшения.
X5, техсобес. Кандидат добавил типизацию. По мнению автора — проверка на насмотренность и реальный опыт.