Перейти к основному содержимому

Вопросы на собеседовании

Вопросы на собеседовании Frontend-разработчика

25 вопросов на собеседовании Frontend-разработчика: JavaScript и TypeScript, React, CSS и вёрстка, Core Web Vitals, доступность и поведенческие вопросы.

Поделиться:TGVKWA
JavaScriptTypeScriptReactCSS и вёрсткаCore Web VitalsБраузерные APIДоступность (a11y)

📈 Готовитесь к собеседованию? Получайте свежие вакансии Frontend-разработчик на почту или в Telegram — и откликайтесь, пока подготовка свежая.

бесплатно
Бесплатно, без регистрации

Мини-собеседование: Frontend-разработчик

Прочитать вопросы мало — на интервью придётся говорить. Ответьте на один вопрос своими словами, 2–3 предложений хватит, и ИИ разберёт ответ по четырём критериям: структура, конкретика, релевантность, убедительность.

123
HR-вопросДля всех уровней

Почему вы выбрали frontend-разработку?

2–3 предложения достаточно · ещё 20 симв.

Типовые вопросы и подсказки к ответам

Используйте подсказки как каркас ответа: добавьте свои проекты, метрики, ограничения и выводы. Любой вопрос можно тут же проговорить — кнопка «Ответить и получить разбор ИИ» отправит его в мини-собеседование выше.

HR-вопрос

Вопрос 1Для всех уровней

Почему вы выбрали frontend-разработку?

Показать подсказку ▾

Как отвечать: Свяжите мотивацию с видимым результатом работы, интересом к UX или инженерным задачам клиентской стороны; подкрепите примером проекта, который подтверждает выбор.

Вопрос 2Для всех уровней

Почему вы хотите работать Frontend-разработчиком именно в нашей компании?

Показать подсказку ▾

Как отвечать: Соедините продукт и стек компании с вашим опытом, покажите, что изучили вакансию и сайт, и назовите конкретный вклад, который сможете дать команде.

Резюме открывают раньше, чем зовут на собеседование. Соберите версию под «Frontend-разработчик» с ИИ — около 10 минут, начать можно бесплатно.

Резюме под эту роль

Технический вопрос

Вопрос 1Junior

Чем var, let и const отличаются друг от друга и как работает hoisting?

Показать подсказку ▾

Как отвечать: Разведите область видимости (функция против блока), временную мёртвую зону и возможность переприсваивания; приведите пример, где var приводит к багу в цикле.

Вопрос 2Middle

Что такое замыкание и где вы использовали его на практике?

Показать подсказку ▾

Как отвечать: Объясните доступ внутренней функции к переменным внешней области; назовите примеры: каррирование, приватное состояние, обработчики событий с контекстом.

Вопрос 3Middle

Как работает event loop: чем микрозадачи отличаются от макрозадач?

Показать подсказку ▾

Как отвечать: Расскажите про стек вызовов, очереди микрозадач (Promise) и макрозадач (setTimeout), порядок выполнения и приведите пример вывода console.log.

Вопрос 4Middle

Чем Promise.all отличается от Promise.allSettled и Promise.race?

Показать подсказку ▾

Как отвечать: Сравните поведение при отклонении одного промиса: отказ всего all, ожидание всех результатов в allSettled и гонка первого завершившегося в race; назовите сценарии применения.

Вопрос 5Middle

Чем type отличается от interface в TypeScript и когда что использовать?

Показать подсказку ▾

Как отвечать: Разведите объединения, пересечения и примитивные алиасы у type против declaration merging и расширения классами у interface; покажите, что у вас есть осознанная конвенция.

Вопрос 6Middle

Что такое дженерики в TypeScript? Приведите пример из своего кода.

Показать подсказку ▾

Как отвечать: Покажите обобщённую функцию или тип на примере API-клиента, компонента таблицы или утилиты; объясните, как дженерики сохраняют типобезопасность без дублирования.

Вопрос 7Для всех уровней

Чем useMemo отличается от useCallback и когда мемоизация вредит?

Показать подсказку ▾

Как отвечать: Объясните мемоизацию значения против мемоизации функции; честно назовите цену мемоизации — сравнение зависимостей и сложность кода — и что сначала нужно измерить производительность.

Вопрос 8Middle

Как React решает, когда перерисовать компонент, и зачем нужны ключи в списках?

Показать подсказку ▾

Как отвечать: Расскажите про сравнение виртуального DOM, роль key в сопоставлении элементов списка и баги с состоянием при использовании индекса массива как ключа.

Вопрос 9Middle

Какие типичные ошибки совершают с useEffect и массивом зависимостей?

Показать подсказку ▾

Как отвечать: Назовите устаревшие замыкания, бесконечные циклы от объектов в зависимостях, отсутствие очистки подписок; расскажите, как вы их диагностируете и исправляете.

Вопрос 10Senior

Как вы выбираете способ управления состоянием: локальный state, Context, Redux или Zustand?

Показать подсказку ▾

Как отвечать: Покажите критерии: область видимости данных, частота обновлений, размер команды; предупредите о преждевременном внедрении глобального стора и избыточных ре-рендерах через Context.

Вопрос 11Middle

Чем SSR, SSG и CSR отличаются в Next.js и как выбрать подход под страницу?

Показать подсказку ▾

Как отвечать: Свяжите выбор с требованиями: SEO и персонализация против статики и скорости; приведите примеры — маркетинговая страница, личный кабинет, каталог.

Вопрос 12Middle

Что такое controlled и uncontrolled компоненты и когда уместен каждый подход?

Показать подсказку ▾

Как отвечать: Разведите управление значением через state против доступа через ref; назовите сценарии: сложные формы с валидацией против простых полей или интеграции с не-React-кодом.

Вопрос 13Junior

Чем flexbox отличается от grid и когда вы применяете каждый?

Показать подсказку ▾

Как отвечать: Разведите одномерную раскладку против двумерной сетки; приведите примеры: набор карточек и выравнивание по строке против каркаса страницы.

Вопрос 14Для всех уровней

Как работает специфичность CSS и почему !important — тревожный сигнал?

Показать подсказку ▾

Как отвечать: Объясните веса селекторов (inline, id, класс, тег), порядок при равной специфичности; покажите, что !important ломает предсказуемость и усложняет поддержку.

Вопрос 15Для всех уровней

Как вы подходите к адаптивной вёрстке: mobile-first или desktop-first?

Показать подсказку ▾

Как отвечать: Расскажите про медиазапросы, относительные единицы, контрольные точки от контента, а не от устройств; упомяните проверку на реальных экранах и touch-интерфейсы.

Вопрос 16Middle

Что такое Core Web Vitals и как вы улучшаете LCP, CLS и INP?

Показать подсказку ▾

Как отвечать: Назовите метрики и их пороги; для каждой приведите 1–2 приёма: оптимизация изображений и серверного ответа для LCP, резервирование места под контент для CLS, разбиение длинных задач для INP.

Вопрос 17Middle

Как вы ускоряете загрузку страницы: code splitting, lazy loading, оптимизация изображений?

Показать подсказку ▾

Как отвечать: Перечислите динамические импорты, маршрутное разбиение бандла, отложенную загрузку ниже экрана, современные форматы изображений; подчеркните, что оптимизация начинается с измерений.

Вопрос 18Для всех уровней

Что вы делаете, чтобы интерфейс был доступным (a11y)?

Показать подсказку ▾

Как отвечать: Назовите семантические теги, alt-тексты, навигацию с клавиатуры, контраст, ARIA-атрибуты там, где не хватает семантики; упомяните проверку скринридером или Lighthouse.

Кейс

Вопрос 1Middle

Кейс: страница каталога грузится 8 секунд, пользователи уходят. Как вы будете искать причину?

Показать подсказку ▾

Как отвечать: Покажите системный подход: измерение в DevTools и WebPageTest, разделение проблем сети, рендеринга и JavaScript, гипотезы по приоритету и измерение эффекта после каждого шага.

Вопрос 2Senior

Кейс: нужно внедрить TypeScript в большой легаси-проект на чистом JavaScript. Ваш план?

Показать подсказку ▾

Как отвечать: Предложите постепенную миграцию: настройка tsconfig в мягком режиме, новые файлы сразу на TS, типизация критичных модулей в первую очередь, метрики прогресса для команды.

Поведенческий вопрос

Вопрос 1Для всех уровней

Расскажите о самом сложном баге во фронтенде, который вы нашли и исправили.

Показать подсказку ▾

Как отвечать: Ответьте по STAR: симптомы, как локализовали проблему (воспроизведение, бинарный поиск по коммитам, логирование), решение и что изменили, чтобы баг не повторился.

Вопрос 2Middle

Опишите ситуацию, когда вы не согласились с дизайнером по реализации макета. Как решили?

Показать подсказку ▾

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

Вопрос 3Для всех уровней

Как вы следите за изменениями во frontend-экосистеме и решаете, что внедрять?

Показать подсказку ▾

Как отвечать: Назовите конкретные источники и ритуалы; важнее показать критерии внедрения: зрелость технологии, поддержка сообщества, реальная польза проекту против хайпа.

Готовы отвечать — а резюме уже под эту роль?

До собеседования резюме ещё нужно открыть. Соберите адаптированное резюме для «Frontend-разработчик» за ~10 минут: ИИ сформулирует опыт, навыки и достижения под требования работодателей.

Собрать резюме под эту роль
PRO

Проверьте себя: первый разбор — бесплатно

Прочитать вопросы — это старт. Настоящая подготовка — проговорить ответ и услышать, что с ним не так. Первый разбор ИИ бесплатный и без регистрации, прямо на этой странице. Полная симуляция — в PRO или разово, без подписки.

  • Реальные вопросы по вашей роли
  • Разбор ответов с ИИ
  • Оценка и советы

План подготовки

  1. 1Повторите основы JavaScript: замыкания, event loop, промисы, прототипы — без них техническая часть не складывается.
  2. 2Разберите свои проекты на React: будьте готовы объяснить, почему выбрали такой стейт-менеджмент, роутинг и структуру компонентов.
  3. 3Выучите Core Web Vitals с порогами и по два способа улучшения каждой метрики — тема звучит почти на каждом интервью.
  4. 4Подготовьте 2–3 истории по STAR: сложный баг, конфликт требований, оптимизация, которой вы гордитесь.
  5. 5Изучите стек из вакансии (Next.js, TypeScript, конкретный стейт-менеджер) и привяжите к нему свои примеры.
  6. 6Пройдите пробное интервью в тренажёре и проверьте, насколько ответы конкретны и не сводятся к пересказу документации.

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

  • Пересказывать документацию React и MDN, не приводя примеров из собственных проектов.
  • Мемоизировать всё подряд и не понимать, что useMemo и useCallback имеют свою цену.
  • Игнорировать темы производительности и доступности — для middle и выше это обязательный минимум.
  • Не уметь объяснить event loop на примере с console.log — классический фильтр уже на первом этапе.
  • Критиковать текущего работодателя или дизайнеров вместо рассказа о поиске решения.
  • Не знать стек компании из вакансии и отвечать абстрактно, без привязки к её задачам.
Практика интервью

От вопросов — к тренировке интервью

Прочитайте вопросы, выберите 5–7 самых сложных и пройдите пробное интервью. ИИ-интервьюер поможет структурировать ответы, проверить аргументацию и подготовиться к реальному разговору.

Открыть тренажёр для роли Frontend-разработчик
Зарплата

Зарплата Frontend-разработчик в России

По данным 66 вакансий

Полная статистика →

P25 (ниже среднего)

138 000 ₽

Медиана

187 000 ₽

50% вакансий

P75 (выше среднего)

252 000 ₽

Медиана по уровню опыта

1–3 года

126 000 ₽

3–6 лет

233 000 ₽

6+ лет

268 000 ₽

Навыки

Востребованные навыки Frontend-разработчика

Частота упоминания в вакансиях работодателей

Все навыки →
1
TypeScript21%
2
React18%
3
API14%
4
JavaScript11%
5
Next.js9%
6
REST9%
7
Figma8%
8
Git8%

Вы готовитесь к собеседованию. А работодатели уже ищут Frontend-разработчика.

Создайте анонимный публичный профиль — его найдут в Яндексе и Google, и предложения придут сами. Контакты скрыты, пока вы не решите иначе.

Работодатели уже ищут: Frontend-разработчик · от 187 000 ₽

Создать анонимный профиль — бесплатно

Пройдите мини-собеседование, добавьте резюме на экране результата — профиль создадим за минуту, с вашего согласия.

Вы нанимаете Frontend-разработчика? Профили кандидатов и подбор для работодателей →

Вакансии

Свежие вакансии Frontend-разработчика: 565

Откройте подходящие предложения и откликнитесь после подготовки к собеседованию.

Смотреть вакансии →