hihrinterview

Разбор технического интервью

Собеседование на Backend-разработчика: вопросы, ответы и разбор

Собеседование Backend-разработчика почти всегда состоит из нескольких этапов, и хотя бы один из них будет техническим не на словах, а на деле: живое кодирование, разбор архитектуры реального проекта или проектирование системы на доске. Рекрутёра интересует, впишетесь ли вы в команду, а вот тимлид и технический директор будут проверять, понимаете ли вы, почему код написан именно так, а не иначе. Часто заваливают не на сложных вопросах про алгоритмы, а на простых: почему выбрана эта база данных, что произойдёт при нагрузке в десять раз выше текущей, как вы узнаете, что сервис упал. Ниже разбор того, что спрашивают на каждом этапе и как отвечать, чтобы показать реальный уровень, а не выученные формулировки.

Пройдите собеседование с ИИ по этой профессии

ИИ задаст вопросы по роли «Backend-разработчик», выслушает ответы голосом и покажет, где не хватило фактов. Первый персональный разбор бесплатно, без регистрации.

Пройти собеседование с ИИ

Должность подставится автоматически. Резюме и описание вакансии можно не загружать.

Как обычно проходит встреча

Этапы собеседования и их длительность1Скрининг с рекрутёром или…15 до 25 минутУточняют стек, с которым выработали, формат занятости,зарплатные ожидания и2Техническое интервью с ра…45 до 90 минутРазбирают опыт по проектам,задают вопросы по базамданных, сетям, архитектуре,3System design или архитек…40 до 60 минутПросят спроектировать системупо условному кейсу: сервискоротких ссылок, очередь4Финальная встреча с руков…30 до 45 минутОбсуждают, как вы работаете вкоманде, как реагируете накритику кода, как принимаете
Типичный порядок встреч на позицию «Backend-разработчик». В небольших компаниях первые два этапа часто объединяют в один разговор.
  • Скрининг с рекрутёром или HR15 до 25 минут

    Уточняют стек, с которым вы работали, формат занятости, зарплатные ожидания и мотивацию смены места. Технических деталей почти нет, но могут спросить про грейд: junior, middle, senior, и попросить кратко описать последний проект своими словами.

  • Техническое интервью с разработчиком или тимлидом45 до 90 минут

    Разбирают опыт по проектам, задают вопросы по базам данных, сетям, архитектуре, иногда просят решить задачу на алгоритмы или написать код на shared-экране. Может быть отдельный блок про конкретный язык и фреймворк, с которым вы работали.

  • System design или архитектурное интервью40 до 60 минут

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

  • Финальная встреча с руководителем или командой30 до 45 минут

    Обсуждают, как вы работаете в команде, как реагируете на критику кода, как принимаете решения при спорах по архитектуре. Часто дают возможность задать вопросы про процессы разработки, релизный цикл и то, как устроен код-ревью.

Что на самом деле оценивают

Понимание, а не заучивание

Работодателю важно, что вы можете объяснить, почему выбрали конкретное решение, и назвать альтернативы с их минусами. Заученные определения без понимания trade-off видны сразу.

Работа с базами данных

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

Практика тестирования и отладки

Смотрят, пишете ли вы тесты по привычке или только когда заставляют, и как вы находите причину бага в проде, а не просто чиню и забываю.

Умение проектировать системы

На senior и часто на middle уровне важно, как вы раскладываете большую задачу на сервисы, очереди, кэши, и как думаете про отказоустойчивость и масштабирование.

Коммуникация и работа с обратной связью

Backend-разработчик редко работает в одиночку. Проверяют, как вы реагируете на замечания в код-ревью и умеете ли объяснить техническое решение нетехническому человеку.

Вопросы и разбор ответов

1Расскажите про архитектуру последнего проекта, над которым вы работали.

Что проверяют. Насколько глубоко вы понимали систему целиком, а не только свой участок кода, и можете ли внятно рассказать о ней постороннему человеку.

Слабый ответ

Мы использовали микросервисы, Docker, Kubernetes, всё было построено по современным практикам. Ответ звучит как список модных слов без единого объяснения, зачем каждая технология была нужна и какую проблему решала.

Сильный ответ

Опишите систему по компонентам: какие сервисы были, как они общались между собой, синхронно через API или через очередь, какая база использовалась и почему. Добавьте одну проблему, с которой столкнулись при росте нагрузки или данных, и как её решили. Такой рассказ показывает, что вы понимали архитектуру, а не просто писали код по готовым шаблонам.

2Как вы спроектируете REST API для сущности с вложенными связями, например заказ с товарами и статусами?

Что проверяют. Понимание принципов REST, умение думать про версионирование, пагинацию, обработку ошибок, а не только про названия эндпоинтов.

Слабый ответ

Сделаю GET, POST, PUT, DELETE для заказа. Ответ формально верный, но не показывает, что кандидат думал про вложенные ресурсы, пагинацию списков, коды ошибок и обратную совместимость.

Сильный ответ

Опишите структуру эндпоинтов для основной сущности и вложенных ресурсов, например GET заказов с пагинацией и фильтрами, отдельный эндпоинт для позиций заказа. Упомяните, как обрабатываете ошибки через понятные коды и тело ответа, как версионируете API при изменениях и почему выбрали именно такой подход к вложенности данных.

3У вас медленно выполняется запрос к базе данных на таблице с миллионами строк. Что будете делать?

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

Слабый ответ

Добавлю индекс, и всё заработает быстрее. Ответ верный по направлению, но без объяснения, как понять, какой именно индекс нужен, и что индексы тоже замедляют запись.

Сильный ответ

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

4Расскажите о случае, когда упал прод, и что вы делали.

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

Слабый ответ

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

Сильный ответ

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

5В чём разница между SQL и NoSQL базами данных, и когда вы выберете каждую?

Что проверяют. Понимание не терминов, а реальных сценариев применения и ограничений каждого типа хранилища.

Слабый ответ

SQL для структурированных данных, NoSQL для больших данных. Формулировка правильная по звучанию, но не объясняет, какие именно свойства данных влияют на выбор.

Сильный ответ

Выберу реляционную базу, если данные хорошо структурированы, важна целостность и есть много связей между сущностями, требующих транзакций. NoSQL возьму, если нужна высокая скорость записи большого потока данных, гибкая схема или горизонтальное масштабирование важнее строгой консистентности. Приведите пример из своего проекта, где такой выбор реально стоял.

6Как вы тестируете свой код, и какой процент вашего кода обычно покрыт тестами?

Что проверяют. Реальная практика тестирования, а не декларация о важности тестов на словах.

Слабый ответ

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

Сильный ответ

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

7Как вы обеспечиваете безопасность API: аутентификацию, авторизацию, защиту от типовых атак?

Что проверяют. Понимание базовой практики безопасности, а не только слово токен, произнесённое без контекста.

Слабый ответ

Используем токены, всё безопасно. Ответ не раскрывает механизм: непонятно, знает ли кандидат разницу между аутентификацией и авторизацией и какие атаки вообще актуальны для API.

Сильный ответ

Разделите аутентификацию и авторизацию: для проверки личности используете токены с ограниченным сроком жизни, для доступа к ресурсам, роли или права на уровне эндпоинта. Упомяните защиту от типовых угроз: валидацию входных данных против SQL-инъекций, ограничение частоты запросов от одного клиента, HTTPS для передачи данных. Приведите реальный пример настройки из своего проекта.

8Опишите, как вы будете кэшировать данные для часто запрашиваемого, но редко меняющегося справочника.

Что проверяют. Понимание практики кэширования и, что важнее, стратегии инвалидации кэша, а не только факта использования Redis.

Слабый ответ

Положу данные в Redis, и будет быстро. Ответ не раскрывает, как данные попадут туда заново после изменения и что произойдёт при рассинхронизации.

Сильный ответ

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

9Дали задачу: найти дубликаты в большом массиве данных с минимальными затратами по памяти и времени. Как будете решать?

Что проверяют. Умение думать вслух, оценивать сложность решения и адекватно реагировать на подсказки, а не молчаливо искать готовый ответ.

Слабый ответ

Кандидат сразу молчит или пытается угадать готовое решение, не проговаривая ход мысли. Интервьюеру сложно оценить процесс, если не видно рассуждений.

Сильный ответ

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

10Расскажите о ситуации, когда вы не согласились с архитектурным решением коллеги или тимлида.

Что проверяют. Умение аргументированно отстаивать позицию и одновременно принимать чужое решение без затяжного конфликта.

Слабый ответ

Я просто сделал так, как мне сказали, спорить не стал. Ответ показывает пассивность и отсутствие собственной технической позиции.

Сильный ответ

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

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

Что проверяют. Понимание процесса CI/CD и готовность нести ответственность за код после релиза, а не только до него.

Слабый ответ

Мержу код, дальше деплоем занимается DevOps. Ответ снимает с себя ответственность за результат, хотя backend-разработчику важно понимать весь путь кода до пользователя.

Сильный ответ

Опишите пайплайн: автоматические тесты при пуше, сборка, деплой на staging для проверки, затем постепенный выкат в прод, например через canary-релиз или фиче-флаги. Расскажите, как мониторите метрики сразу после деплоя и что делаете при проблеме: откатываете релиз или отключаете фичу флагом, а разбор причины проводите уже без спешки.

Как отвечать на вопросы о backend-системе

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

Как выбрать проект для технического разбора?

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

Как говорить о производительности без закрытых цифр?

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

Как построить ответ, чтобы его засчитали

Четыре части сильного ответа: ситуация, задача, действия, результат1СитуацияГде это было и чтопроисходило2ЗадачаЧто нужно было сделатьи почему это былотрудно3ДействияЧто сделали лично вы,а не команда4РезультатЧем закончилось,желательно числомБез четвёртой части ответ звучит как рассказ. С ней это доказательство.
Порядок, в котором ответ звучит убедительно. Работает для любого вопроса про опыт, включая вопросы для роли «Backend-разработчик».

Репетиция самопрезентации

Проверьте, как ваши ответы звучат вслух

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

Проверить свои ответы бесплатно

Ошибки, которые чаще всего стоят оффера

  • Перечислять технологии списком без объяснения, зачем каждая была нужна в конкретной задаче
  • Не задавать уточняющих вопросов на задаче по алгоритмам или system design, а сразу пытаться угадать ответ
  • Ругать бывшую команду, процессы или технологический стек предыдущего работодателя
  • Путать понятия аутентификации и авторизации, транзакции и блокировки, потока и процесса
  • Не иметь готового конкретного примера бага, инцидента или сложной оптимизации из практики
  • Молчать при решении задачи вместо того, чтобы проговаривать ход мыслей вслух
  • Отвечать про архитектуру только со своей узкой части, не понимая, как система работает целиком

Свои факты, которые стоит вспомнить заранее

Большая часть провальных ответов это не незнание, а невозможность вспомнить конкретику под давлением. Выпишите это до встречи.

  • Стек проектов, с которыми работали: язык, фреймворк, база данных, брокер сообщений, если использовался
  • Масштаб систем: сколько сервисов было в проекте, сколько запросов в секунду или пользователей обслуживала система
  • Конкретный пример оптимизации: что было до и после изменения, хотя бы в относительных величинах
  • Роль в команде: работали единолично, в паре, ревьюили чужой код, вели ли часть архитектуры самостоятельно
  • Реальный инцидент в проде: причина, как обнаружили, сколько времени заняло восстановление
  • Практика тестирования на последнем месте: какие виды тестов писали и кто отвечал за их поддержку

Чек-лист перед встречей

  • Подготовьте рассказ про два-три проекта с деталями по архитектуре, а не общими фразами
  • Повторите основы SQL: индексы, планы выполнения, транзакции, уровни изоляции
  • Освежите базовые структуры данных и сложность алгоритмов, если возможно live coding
  • Продумайте один пример из практики про сложный баг или инцидент в проде
  • Проверьте техническую готовность для удалённого интервью: связь, среда для написания кода, доступ к экрану
  • Подготовьте вопросы про процессы разработки, релизный цикл и код-ревью в компании
  • Пройдитесь по своему резюме глазами интервьюера и продумайте ответ на любую строчку в нём

Пройдите собеседование с ИИ по этой профессии

ИИ задаст вопросы по роли «Backend-разработчик», выслушает ответы голосом и покажет, где не хватило фактов. Первый персональный разбор бесплатно, без регистрации.

Пройти собеседование с ИИ

Должность подставится автоматически. Резюме и описание вакансии можно не загружать.

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

Обязательно ли будет live coding на собеседовании?

Не всегда, но для позиции middle и выше это частая практика, хотя бы в виде небольшой задачи или разбора кода. Стоит заранее уточнить у рекрутёра формат технического этапа.

Нужно ли досконально знать конкретный фреймворк, указанный в вакансии?

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

Что делать, если не знаю ответ на технический вопрос?

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

Сколько этапов обычно проходит собеседование на backend-разработчика?

Чаще всего три или четыре: скрининг с рекрутёром, одно или два технических интервью и финальная встреча с руководителем или командой. В небольших компаниях этапов может быть меньше.

Стоит ли упоминать pet-проекты, если опыта на работе немного?

Да, если можете подробно рассказать про архитектуру и решения в этом проекте, а не только показать ссылку на репозиторий. Важно уметь объяснить, зачем выбрали именно такое решение.

Собеседования на смежные должности

Как подготовлен этот материал

Редакция отделяет универсальную механику интервью от требований конкретной вакансии. Мы не обещаем «правильный» ответ и не предлагаем выдумывать опыт: каждый пример нужно сверить с задачами вакансии и заменить собственными фактами. Перед публикацией проверяются структура, повторяемость, внутренние ссылки и формулировки, которые могут ввести кандидата в заблуждение.

Материал обновлён 18.08.2026. Разбор основан на типовой практике найма и не содержит гарантий по результату конкретного собеседования.