Вопросы на собеседовании full-stack разработчика: 10 разборов и ещё 8 после регистрации
Темы вопросов — те, что чаще всего встречаются в требованиях 1 030 вакансий full-stack разработчика с полным текстом. К каждому вопросу — что проверяет работодатель, как звучит сильный ответ и в скольких вакансиях встречается тема.
Сейчас в каталоге: 611 вакансий за 90 днейС полным текстом: 1 030Требования замерены 08.11.2026
Расскажите о фиче, которую вы довели от идеи до продакшена сами: что вы делали на каждом слое?про опыт
Что проверяют: Действительно ли вы ведёте задачу целиком или просто умеете открывать оба репозитория.
Сильный ответ«Делал подписку с пробным периодом. Договорился с продуктом о границах, спроектировал таблицы и API, написал серверную логику с вебхуками платёжного провайдера, интерфейс оформления и экран управления подпиской. Сам настроил feature flag и выкатил на 10 % пользователей, смотрел конверсию и ошибки платежей. Нашли расхождение в обработке повторных вебхуков и поправили до полного выката».
Слабый ответ«Я делаю и фронт, и бэк, всё что нужно».
ИИ разберёт ваш ответ по тем же критериям, что и работодатель. Тренажёр — в Basic.
Где ваш стек сильнее, а где слабее, и как вы это компенсируете?профессиональный
Что проверяют: Честная самооценка: у full-stack почти всегда есть перекос, и это нормально.
Сильный ответ«Сильнее на серверной стороне: проектирование базы, API, очереди. Интерфейсы пишу уверенно на React и TypeScript, но не вникаю в сложную анимацию и тонкую адаптивную вёрстку: для этого прошу ревью у фронтенд-коллеги или пользуюсь готовой библиотекой компонентов. Свой уровень оцениваю так: на фронте крепкий мидл, на бэке сеньор».
Слабый ответ«Одинаково хорошо знаю всё».
Тема «frontend и backend вместе» — в 911 из 1 030 вакансий с полным текстом
Как вы согласуете контракт между клиентом и сервером, когда пишете обе части?профессиональный
Что проверяют: Не превращается ли гибкость в хаос: общий контракт, типы, версии.
Сильный ответ«Описываю контракт в OpenAPI или общей схеме до реализации и генерирую типы для клиента. Тогда расхождение ловится при сборке, а не в браузере. Если пишу tRPC, типы разделяются автоматически. Изменения только добавляющие, ломающие делаю через новую версию, потому что мобильное приложение или старая вкладка в браузере живут дольше релиза».
Слабый ответ«Договариваюсь сам с собой, поэтому проблем нет».
Тема «REST, GraphQL и контракты API» — в 537 из 1 030 вакансий с полным текстом
Как вы проектируете схему базы и меняете её без остановки сервиса?профессиональный
Что проверяют: Умеете ли вы безопасно мигрировать данные при живом трафике.
Сильный ответ«Схему начинаю с сущностей и связей, ограничения и внешние ключи ставлю в базе, а не только в коде. Миграции делаю в два-три релиза: добавляю колонку допускающей NULL, пишу в обе, переношу данные пачками, переключаю чтение, потом удаляю старую. Миграцию заранее прогоняю на копии боевой базы, чтобы увидеть время и блокировки. Откатывать удаление колонки не надеюсь, поэтому сначала делаю резервную копию».
Тема «базы данных и SQL» — в 782 из 1 030 вакансий с полным текстом
Как вы организуете клиентскую часть, чтобы она не превратилась в кашу из состояния и запросов?профессиональный
Что проверяют: Дисциплина на клиенте у человека, который в основном думает о сервере.
Сильный ответ«Данные сервера беру через слой кэша запросов, локальное состояние держу в компонентах, в общем сторе остаётся только сессия и тема. Запросы живут в отдельном слое с типами, компоненты их не собирают. Формы валидирую одной схемой и на клиенте, и на сервере, чтобы правила не расходились».
Тема «React и клиентская часть» — в 715 из 1 030 вакансий с полным текстом
Как вы реализуете вход и права доступа в веб-приложении?профессиональный
Что проверяют: Знаете ли вы ответственность обеих сторон: сервер решает, клиент лишь показывает.
Сильный ответ«Не пишу собственную криптографию: беру проверенный провайдер или библиотеку. Сессия в httpOnly-cookie, защита от CSRF, пароли хешируются argon2 или bcrypt. Права проверяю на сервере для каждого объекта, на клиенте только скрываю кнопки для удобства. Для входа через Google и корпоративный SSO использую OAuth и OIDC. Попытки входа ограничены по частоте».
Слабый ответ«Храню токен в localStorage и проверяю роль на клиенте».
Тема «аутентификация и авторизация» — в 210 из 1 030 вакансий с полным текстом
Как ваш код попадает в продакшен и что вы делаете, если выкат сломал сервис?профессиональный
Что проверяют: Владеете ли вы доставкой и откатом, или это забота чужой команды.
Сильный ответ«Запрос проходит тесты, линтер и сборку в CI, затем автоматический выкат на стейдж и после ручной проверки на прод. Образ собирается Docker, выкат поэтапный, база меняется совместимыми миграциями, чтобы откат кода не требовал отката схемы. При сбое откатываю релиз за пару минут и разбираюсь потом. Алерты на ошибки и время ответа приходят мне в мессенджер».
Тема «CI/CD, Docker и облака» — в 616 из 1 030 вакансий с полным текстом
Страница открывается медленно. Как вы определяете, виноват сервер, база или браузер?профессиональный
Что проверяют: Умеете ли вы искать узкое место по всей цепочке, а не на привычной стороне.
Сильный ответ«Открываю вкладку Network и смотрю время до первого байта: если оно большое, виноват сервер или база, если ответ быстрый, а страница тяжёлая — клиент. На сервере смотрю трассировку запроса и план запроса к базе, на клиенте — размер бандла и блокирующие скрипты. Недавно страница тормозила из-за N+1 на сервере и лишнего рендера на клиенте, и чинить пришлось оба места».
Слабый ответ«Скорее всего, база, так всегда».
Тема «производительность» — в 451 из 1 030 вакансий с полным текстом
Какие тесты вы пишете, чтобы быстро менять систему и не ломать её?профессиональный
Что проверяют: Умеете ли вы выбирать, где тест даёт больше всего уверенности.
Сильный ответ«Правила предметной области — модульные тесты. API с настоящей базой — интеграционные тесты в контейнере. Интерфейс — Testing Library для компонентов и Playwright для 10–15 основных сценариев сквозь весь стек, включая оплату на тестовом провайдере. Тесты, которые падают случайно, чиню в течение недели, иначе перестаёшь им доверять».
Тема «тестирование» — в 191 из 1 030 вакансий с полным текстом
Когда вы сознательно сделали быстро и неидеально, а когда отказались от скорости ради качества?про опыт
Что проверяют: Умеете ли вы управлять техническим долгом и объяснять выбор.
Сильный ответ«Для проверки гипотезы с рассылкой собрал решение на готовом сервисе очередей за два дня, понимая, что при росте перепишем. Зато за неделю увидели, что функция не нужна, и не потратили месяц на свою очередь. А платёжный модуль я писал медленнее: идемпотентность, повторы и аудит. Там ошибка стоила бы денег и доверия».
Слабый ответ«Всегда делаю идеально» или «Всегда делаю быстро».
Отрепетируйте собеседование под конкретную вакансию
Тренажёр задаёт вопросы из требований выбранной вакансии, разбирает ваш ответ и собирает истории по методу STAR из вашего опыта. Тренажёр — в Basic и выше.