Подготовка к собеседованию

Подготовка к собеседованию frontend: план на 30 дней по дням

Обновлено 7 мин чтения
Содержание
  1. Коротко
  2. Как устроен план
  3. Неделя 1: JavaScript
  4. Неделя 2: браузер, сеть и вёрстка
  5. Неделя 3: React и TypeScript
  6. Неделя 4: задачи, о себе и пробные собеседования
  7. Если собеседование раньше, чем через месяц
  8. Частые ошибки
  9. Чек-лист
  10. Вопросы из базы
  11. Как тренировать
  12. Частые вопросы
Коротко

Подготовка к собеседованию frontend за 30 дней реальна, если идти по темам в правильном порядке: сначала JavaScript, потом браузер и сеть, потом React, TypeScript и вёрстка. Каждый день состоит из трёх частей: короткая теория, проверка себя вопросами и одна задача с кодом. Последняя неделя уходит на повторение, рассказ о себе и пробные собеседования.

Как устроен план

План рассчитан на час-полтора в будни и два-три часа в выходные. Если времени меньше, растяните его на шесть недель, но порядок тем не меняйте. Порядок важен: React без уверенного JavaScript учится как набор заклинаний, а на собеседовании это видно с первого уточняющего вопроса.

Каждый учебный день устроен одинаково:

  1. Теория, 20-30 минут. Один короткий урок по теме дня. Не три статьи подряд, а один источник.
  2. Проверка себя, 20-30 минут. Вопросы по той же теме. Сначала ответ своими словами, потом сверка с разбором.
  3. Код, 20-30 минут. Одна задача по теме, решённая руками и вслух.

Раз в неделю день повторения: только то, на чём ошибались. Это самый полезный день недели, не пропускайте его. Почему так работает, разобрано в статье как запомнить ответы.

Перед стартом пройдите короткий тест по JavaScript и React. Он покажет, какие темы можно пройти быстрее, а где нужно больше времени.

Неделя 1: JavaScript

Первая неделя целиком про язык. Это фундамент всего frontend-собеседования: даже вопросы про React часто сводятся к замыканиям и асинхронности.

ДеньТемаЧто уметь в конце дня
1Типы и приведениеОбъяснить разницу == и ===, назвать ложные значения
2Область видимости и замыканияНаписать счётчик на замыкании и объяснить, где живёт переменная
3this и контекстСказать, чему равен this в методе, стрелке и обработчике
4Прототипы и классыОбъяснить цепочку прототипов на примере
5Event loopПредсказать порядок вывода с setTimeout и промисами
6Промисы и async/awaitНаписать Promise.all и обработать ошибку в async-функции
7ПовторениеПересдать вопросы с ошибками за неделю

Задачи недели: debounce, Promise.all, deepEqual. Все с решениями собраны в статье задачи на frontend-собеседовании. Для дня 5 полезна подборка «что выведет код».

Неделя 2: браузер, сеть и вёрстка

Вторая неделя про среду, в которой живёт код. Здесь любят вопрос «что происходит, когда вы вводите адрес в браузере». На него удобно нанизать всю неделю.

ДеньТемаЧто уметь в конце дня
8DOM и событияОбъяснить всплытие и делегирование событий
9Рендеринг в браузереРассказать про reflow и repaint и как их избегать
10HTTP и кешированиеНазвать коды ответов и заголовки кеша
11CORS и авторизацияОбъяснить, зачем нужен preflight и где хранить токен
12Блочная модель и flexboxОтцентрировать блок тремя способами
13Grid и семантикаСверстать сетку карточек и объяснить выбор тегов
14ПовторениеОтветить вслух на «что происходит при вводе адреса»

Задачи недели: делегирование кликов по списку, простая вёрстка карточки по описанию, запрос к API с обработкой ошибок и состояния загрузки.

Неделя 3: React и TypeScript

Третья неделя про основной инструмент. Вопросы по React на собеседовании почти всегда о том, как он работает внутри, а не о синтаксисе JSX.

ДеньТемаЧто уметь в конце дня
15РендерингОбъяснить, когда компонент перерисовывается и зачем нужен key
16СостояниеРассказать, почему setState не меняет значение сразу
17ЭффектыНаписать эффект с очисткой и правильными зависимостями
18ПроизводительностьСказать, когда нужны memo и useCallback, а когда нет
19Основы TypeScript и сужение типовОбъяснить разницу type и interface, unknown и any
20Дженерики и утилитарные типыТипизировать функцию с дженериком и описать Partial и Pick
21ПовторениеПересдать ошибки по React и TypeScript

Задачи недели: кастомный хук useDebounce, форма с валидацией, список с фильтром и поиском. Полный каталог вопросов: React и TypeScript.

Неделя 4: задачи, о себе и пробные собеседования

Последние девять дней новые темы не берём. Задача этой недели в том, чтобы знания стали ответами: быстрыми, спокойными и вслух.

ДеньЧто делать
22Рассказ о себе на 30 секунд и на 2 минуты, записать на телефон и переслушать. Структура в разделе рассказ о себе
23Три-пять историй по STAR: сложная задача, ошибка, конфликт, чему научились. Подробно в поведенческом интервью
24Две задачи с кодом вслух с таймером на 20 минут каждая
25Разбор своего учебного проекта: почему такой стек, что бы переделали
26Пробное собеседование с другом. Как провести, в статье пробное собеседование
27Работа над ошибками после пробного собеседования
28Вопросы к компании и ответы про деньги, сроки, формат работы
29Повторение всех ошибок за месяц
30Лёгкий день: пройтись по чек-листу перед собеседованием и выспаться

Если собеседование раньше, чем через месяц

Бывает, что собес назначили через неделю. Тогда план сжимается, но не по всем темам поровну.

  • Неделя. Замыкания, this, event loop, промисы, рендеринг React и эффекты. Плюс рассказ о себе и две задачи вслух.
  • Две недели. Добавьте браузер и сеть, основы TypeScript и одно пробное собеседование.
  • Три дня. Только повторение того, что уже знаете, и рассказ о себе. Новые темы за три дня не уложатся и добавят тревоги.

Если есть конкретная вакансия, вставьте её текст в разбор вакансии: он покажет темы, которые стоит поднять в первую очередь. Ориентир по темам для грейда есть на странице что должен знать junior frontend.

Частые ошибки

  • Начинать с React, пропустив JavaScript
  • Читать и смотреть видео вместо того, чтобы отвечать на вопросы самому
  • Пропускать дни повторения ради новых тем
  • Не решать задачи вслух до самого собеседования
  • Оставлять рассказ о себе на последний вечер
  • Ждать, пока будете готовы на все сто, и не откликаться

Чек-лист

  • Тест по JavaScript и React пройден в начале и в конце месяца
  • По каждой неделе пересданы вопросы с ошибками
  • Шесть-восемь задач с кодом решены вслух с таймером
  • Рассказ о себе записан и переслушан
  • Три-пять историй по STAR готовы
  • Хотя бы одно пробное собеседование с живым человеком

Вопросы из базы Техпрогона

Частые вопросы по теме с ответом и разбором. Откройте любой и попробуйте ответить сами.

Как тренировать в Техпрогоне

  • Треки JavaScript, Браузер и DOM, Сети и HTTP, React, TypeScript, HTML и CSS идут в том же порядке, что и план: урок, потом вопросы, потом билеты.
  • Билеты с зачётом по 20 вопросов: зачёт при двух ошибках и меньше. Бесплатно открыты первые 3 билета каждого трека.
  • Задачи с кодом с автопроверкой в браузере: бесплатно 3 в день, без лимита в «Рывке».
  • В «Рывке» есть план по дням до даты собеса: укажите дату в профиле, и темы разложатся по оставшимся дням с днями повторения в конце.

Частые вопросы

Сколько времени нужно на подготовку к собеседованию frontend?
Если база уже есть, месяца по часу в день обычно хватает, чтобы освежить темы и натренировать ответы вслух. Если вы только закончили обучение, закладывайте полтора-два месяца. Темп у всех разный, поэтому ориентируйтесь на результаты билетов, а не на календарь.
С чего начать подготовку?
С JavaScript: замыкания, this, event loop и промисы. На них держатся и вопросы по React, и задачи с кодом. Перед стартом пройдите короткий тест, чтобы понять, какие темы можно пропустить быстрее.
Нужны ли алгоритмы для frontend?
Для junior и middle чаще дают прикладные задачи: debounce, Promise.all, работа с массивами и объектами. Алгоритмическая секция бывает не везде. Базовые вещи вроде хеш-таблицы и двух указателей стоит знать в любом случае.
Что делать, если не успеваю по плану?
Не сокращайте дни повторения. Лучше растянуть план на шесть недель или убрать вторичные темы, чем пройти всё один раз и забыть. Ядро для собеседования: JavaScript, React, браузер и рассказ о себе.
Нужно ли откликаться во время подготовки?
Да. Первые собеседования сами по себе лучшая подготовка, а ответ на отклик часто приходит через одну-две недели. Начинайте откликаться со второй-третьей недели плана.

Билеты с зачётом вместо чтения статей

20 вопросов в билете, зачёт при двух ошибках и меньше, разбор каждой ошибки. Бесплатный тариф без ограничения по времени.

Читайте также

Задачи на frontend-собеседовании

debounce, throttle, Promise.all, deepEqual, EventEmitter, flatten и useDebounce: условие, решение на JavaScript, что проверяют и какие будут уточнения.

Как запомнить ответы

Почему прочитанное забывается к собесу и что работает лучше: проверка себя, интервальное повторение, ответ вслух своими словами и билеты с зачётом.

Готов ли я к собеседованию

Как понять, что вы готовы к frontend-собеседованию: знания, код, устные ответы, рассказ о себе и реальные собесы. Признаки готовности и что делать, если рано.

Чек-лист перед собеседованием

Что проверить перед техническим собеседованием: компания и вакансия, рассказ о себе, вопросы работодателю, камера, звук, редактор и демонстрация экрана.

Что должен знать junior frontend

Темы и частые вопросы собеседования

Этапы собеседования

Как проходит найм от HR до оффера

Все статьи

Первая работа, подготовка к собесу и задачи с кодом