Подготовка к собеседованию
Подготовка к собеседованию frontend: план на 30 дней по дням
Содержание
Подготовка к собеседованию frontend за 30 дней реальна, если идти по темам в правильном порядке: сначала JavaScript, потом браузер и сеть, потом React, TypeScript и вёрстка. Каждый день состоит из трёх частей: короткая теория, проверка себя вопросами и одна задача с кодом. Последняя неделя уходит на повторение, рассказ о себе и пробные собеседования.
Как устроен план
План рассчитан на час-полтора в будни и два-три часа в выходные. Если времени меньше, растяните его на шесть недель, но порядок тем не меняйте. Порядок важен: React без уверенного JavaScript учится как набор заклинаний, а на собеседовании это видно с первого уточняющего вопроса.
Каждый учебный день устроен одинаково:
- Теория, 20-30 минут. Один короткий урок по теме дня. Не три статьи подряд, а один источник.
- Проверка себя, 20-30 минут. Вопросы по той же теме. Сначала ответ своими словами, потом сверка с разбором.
- Код, 20-30 минут. Одна задача по теме, решённая руками и вслух.
Раз в неделю день повторения: только то, на чём ошибались. Это самый полезный день недели, не пропускайте его. Почему так работает, разобрано в статье как запомнить ответы.
Неделя 1: JavaScript
Первая неделя целиком про язык. Это фундамент всего frontend-собеседования: даже вопросы про React часто сводятся к замыканиям и асинхронности.
| День | Тема | Что уметь в конце дня |
|---|---|---|
| 1 | Типы и приведение | Объяснить разницу == и ===, назвать ложные значения |
| 2 | Область видимости и замыкания | Написать счётчик на замыкании и объяснить, где живёт переменная |
| 3 | this и контекст | Сказать, чему равен this в методе, стрелке и обработчике |
| 4 | Прототипы и классы | Объяснить цепочку прототипов на примере |
| 5 | Event loop | Предсказать порядок вывода с setTimeout и промисами |
| 6 | Промисы и async/await | Написать Promise.all и обработать ошибку в async-функции |
| 7 | Повторение | Пересдать вопросы с ошибками за неделю |
Задачи недели: debounce, Promise.all, deepEqual. Все с решениями собраны в статье задачи на frontend-собеседовании. Для дня 5 полезна подборка «что выведет код».
Неделя 2: браузер, сеть и вёрстка
Вторая неделя про среду, в которой живёт код. Здесь любят вопрос «что происходит, когда вы вводите адрес в браузере». На него удобно нанизать всю неделю.
| День | Тема | Что уметь в конце дня |
|---|---|---|
| 8 | DOM и события | Объяснить всплытие и делегирование событий |
| 9 | Рендеринг в браузере | Рассказать про reflow и repaint и как их избегать |
| 10 | HTTP и кеширование | Назвать коды ответов и заголовки кеша |
| 11 | CORS и авторизация | Объяснить, зачем нужен preflight и где хранить токен |
| 12 | Блочная модель и flexbox | Отцентрировать блок тремя способами |
| 13 | Grid и семантика | Сверстать сетку карточек и объяснить выбор тегов |
| 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 готовы
- Хотя бы одно пробное собеседование с живым человеком
Вопросы из базы Техпрогона
Частые вопросы по теме с ответом и разбором. Откройте любой и попробуйте ответить сами.
- Чем отличаются var, let и constJavaScript
- Зачем нужны keyReact
- Как распространяются события в DOMБраузер и DOM
- Что такое замыканиеJavaScript
- Что вызывает перерисовкуReact
- Всплытие, погружение, делегированиеБраузер и DOM
- Всплытие и TDZJavaScript
- Правила хуковReact
- Как браузер превращает HTML в пикселиБраузер и DOM
- Объясните замыкание на примереJavaScript
Как тренировать в Техпрогоне
- Треки JavaScript, Браузер и DOM, Сети и HTTP, React, TypeScript, HTML и CSS идут в том же порядке, что и план: урок, потом вопросы, потом билеты.
- Билеты с зачётом по 20 вопросов: зачёт при двух ошибках и меньше. Бесплатно открыты первые 3 билета каждого трека.
- Задачи с кодом с автопроверкой в браузере: бесплатно 3 в день, без лимита в «Рывке».
- В «Рывке» есть план по дням до даты собеса: укажите дату в профиле, и темы разложатся по оставшимся дням с днями повторения в конце.
Частые вопросы
Сколько времени нужно на подготовку к собеседованию frontend?
С чего начать подготовку?
Нужны ли алгоритмы для frontend?
Что делать, если не успеваю по плану?
Нужно ли откликаться во время подготовки?
Билеты с зачётом вместо чтения статей
20 вопросов в билете, зачёт при двух ошибках и меньше, разбор каждой ошибки. Бесплатный тариф без ограничения по времени.
Читайте также
Задачи на frontend-собеседовании
debounce, throttle, Promise.all, deepEqual, EventEmitter, flatten и useDebounce: условие, решение на JavaScript, что проверяют и какие будут уточнения.
Как запомнить ответы
Почему прочитанное забывается к собесу и что работает лучше: проверка себя, интервальное повторение, ответ вслух своими словами и билеты с зачётом.
Готов ли я к собеседованию
Как понять, что вы готовы к frontend-собеседованию: знания, код, устные ответы, рассказ о себе и реальные собесы. Признаки готовности и что делать, если рано.
Чек-лист перед собеседованием
Что проверить перед техническим собеседованием: компания и вакансия, рассказ о себе, вопросы работодателю, камера, звук, редактор и демонстрация экрана.
Что должен знать junior frontend
Темы и частые вопросы собеседования
Этапы собеседования
Как проходит найм от HR до оффера
Все статьи
Первая работа, подготовка к собесу и задачи с кодом