Вопросы на собеседовании бэкенд-разработчика: что реально спрашивают
Автор: Aaron Cao · Обновлено

Собеседования на бэкенд-позиции обычно сосредоточены вокруг пяти тем: проектирование API, базы данных и моделирование данных, кэширование и производительность, конкурентность и надёжность, а также раунд по проектированию систем, который часто идёт вместе с практическим заданием по коду. Интервьюеров меньше интересует, какие инструменты вы называете, и больше — можете ли вы объяснить компромиссы и разобрать реальную проблему, которую сами отлаживали.
Что охватывают собеседования бэкенд-разработчиков?
В описаниях бэкенд-вакансий перечислен десяток технологий, и сложно понять, что из этого реально будут проверять на собеседовании. В этом разделе собраны темы вопросов, которые повторяются в разных раундах бэкенд-собеседований. Стек меняется от компании к компании, но базовые темы остаются стабильными.
- Проектирование API. REST против RPC, версионирование, пагинация, ответы об ошибках, аутентификация и ключи идемпотентности.
- Базы данных и моделирование данных. Выбор между реляционным и документным хранилищем, индексы, join'ы, транзакции, уровни изоляции, запросы N+1, и как безопасно проводить миграции схемы.
- Кэширование и производительность. Инвалидация кэша, срок действия, cache stampede, и как вы будете профилировать медленный эндпоинт.
- Конкурентность и надёжность. Гонки состояний, блокировки, очереди, таймауты и повторные попытки с backoff.
- Проектирование систем. Задачи вроде сокращателя URL, лимитера частоты запросов или сервиса уведомлений.
- Код. Структуры данных и практическая задача, обычно на языке по вашему выбору.
Раунды по конкретному языку или фреймворку копают глубже в детали; хаб банков вопросов собирает наборы для Go, Java, Spring Boot, микросервисов и многого другого.
Какие вопросы о базах данных и API встречаются чаще всего?
Эти вопросы в том или ином виде появляются на большинстве бэкенд-собеседований. Потренируйтесь отвечать на каждый вслух менее чем за две минуты:
- Что происходит, когда вы добавляете индекс к столбцу, и когда индекс, наоборот, вредит?
- В чём разница между уровнями изоляции read committed и serializable, и когда стоит платить за более строгий уровень?
- Как вы найдёте и исправите запрос N+1 в ORM?
- Как сделать эндпоинт для платежей безопасным для повторных запросов со стороны клиента?
- Как вы будете пагинировать большой набор результатов, который меняется, пока пользователь листает?
- Когда вы выберете документное хранилище вместо реляционной базы данных?
- Как вы выкатите переименование столбца без простоя?
Убедительный ответ каждый раз строится по одной и той же схеме: назовите выбор по умолчанию, назовите цену этого выбора и опишите ситуацию, при которой ваш ответ изменится. Интервьюеры обычно углубляются именно в этот переломный случай, так что держите наготове реальный пример.
Как отвечать на вопросы о проектировании систем и отладке?
При проектировании системы начните с уточнения требований: кто вызывает сервис, что никогда нельзя терять, и что преобладает — чтение или запись. Затем набросайте самое простое рабочее решение и добавляйте кэши, очереди или шардирование только тогда, когда сможете назвать требование, которое их вынуждает.
Вопросы об отладке — это то место, где виден реальный опыт. У бэкенд-инженера, проходившего собеседование на позицию middle в платёжной компании, спросили, почему задержка одного эндпоинта удвоилась после релиза. Вместо того чтобы гадать о причинах, он описал свои шаги: проверил, что изменилось в деплое, сравнил трейсы медленного пути, изучил план выполнения запроса и подтвердил исправление по той же метрике задержки. Затем он связал это с инцидентом медленного запроса на прошлой работе, и остальная часть разговора была посвящена именно этому инциденту, а не инструментам.
Перед любым бэкенд-собеседованием подготовьте две истории из продакшена: баг, который вы отследили до конца, и проектное решение, которое сейчас вы бы приняли иначе.
Как тренироваться, и где пригодится ассистент в реальном времени?
Читать ответы — не то же самое, что произносить их. Пройдитесь вслух по списку вопросов выше с таймером или дайте инструменту для тренировочного собеседования задавать вопросы и уточнять расплывчатые ответы.
На самом видеособеседовании SubcueAI транскрибирует речь интервьюера и составляет структурированные тезисы ответа в локальном оверлее — либо в десктопном приложении на macOS или Windows (Zoom, Google Meet, Microsoft Teams), либо в боковой панели браузерного расширения для звонков во вкладке Chrome или Edge. Ни один бот не подключается к звонку. Это наиболее полезно на разговорных раундах, таких как обсуждение дизайна и вопросы об опыте. Раунды кода с общим экраном, тесты под наблюдением, записанные односторонние интервью и устройства, управляемые компанией, выходят за рамки того, что можно безопасно охватить, и всё, что вы показываете на экране, видно собеседнику. Настройка описана на странице tutorial.
Частые вопросы
Какие вопросы обычно задают на собеседовании бэкенд-разработчика?
Включают ли младшие бэкенд-собеседования проектирование систем?
Какой язык использовать на раунде кода для бэкенда?
Как подготовиться к бэкенд-собеседованию за короткое время?
Похожие вопросы
- Какие вопросы задают на собеседовании full stack разработчика?
- Какие вопросы задают на собеседовании frontend-разработчика?
- Какие вопросы задают на собеседовании продакт-дизайнера?
- Какие вопросы задают на собеседовании по кибербезопасности?
- Какие вопросы задают на первом собеседовании при приёме на работу и как отвечать без опыта?
- Какие вопросы задают на собеседовании по MLOps?