Вопросы на техническом собеседовании: что спрашивают и как отвечать
На техническом собеседовании разработчика спрашивают четыре группы вопросов: основы языка и платформы, алгоритмы и структуры данных, базы данных и сети, а с уровня middle+ — проектирование систем. Интервьюеры оценивают не заученные определения, а глубину понимания: почти за каждым вопросом следует «а почему так?» и «а что будет, если…». Сильный ответ строится по схеме «краткий тезис → как работает под капотом → пример из практики».
Структура сильного ответа
Прежде чем разбирать конкретные вопросы, зафиксируем формат. Интервьюеры слушают десятки кандидатов, и выигрывают те, кто отвечает структурно:
- Тезис одним предложением. «Индекс — это структура данных, ускоряющая поиск за счёт замедления записи».
- Механика. Как это устроено внутри: B-дерево, копирование при записи, сборка мусора поколениями — в зависимости от вопроса.
- Практика. Когда вы это применяли или где это стреляет в проде: «Мы добавили составной индекс и убрали full scan на таблице заказов».
Ответ без третьего пункта звучит как пересказ учебника; без второго — как «слышал звон». Тренируйте все три уровня.
Вопросы по языку и платформе
Это первый и самый предсказуемый блок — по нему проверяют, что вы действительно пишете на языке каждый день, а не выучили синтаксис на курсах.
- Память и время жизни объектов. Как работает сборщик мусора, чем стек отличается от кучи, что такое утечка памяти в языке со сборщиком.
- Конкурентность. Потоки против корутин/горутин, гонки данных, зачем нужны мьютексы и атомики, что такое deadlock и как его избежать.
- Типовая «внутрянка». Как устроены словарь/map, что происходит при разрастании массива, интернирование строк, замыкания.
- Идиомы и антипаттерны. Чем плох God object, зачем нужны интерфейсы, как обрабатывать ошибки в этом языке принято, а как — нет.
Совет: составьте список из 20 вопросов по своему стеку и проговорите ответы вслух. Формулировать голосом заметно труднее, чем «понимать про себя» — этот разрыв и виден интервьюеру.
Алгоритмы и структуры данных
Даже без live coding теорию спрашивают устно:
- Сложность операций в массиве, связном списке, хеш-таблице и сбалансированном дереве — таблицу O(1)/O(log n)/O(n) нужно знать наизусть.
- Как разрешаются коллизии в хеш-таблице (цепочки против открытой адресации).
- Когда быстрая сортировка деградирует до O(n²) и почему стандартные библиотеки используют гибридные сортировки.
- Чем BFS отличается от DFS и когда какой обход выбирать.
Если предстоит и живое кодирование — у нас есть отдельный разбор как проходит live coding собеседование.
Базы данных и сети
Блок, на котором сыпятся чаще всего, потому что «работает же ORM»:
- Индексы. Как устроен B-tree индекс, почему индекс не используется при
LIKE '%...', что такое покрывающий индекс. - Транзакции. Уровни изоляции и аномалии: грязное чтение, неповторяющееся чтение, фантомы. Это вопрос-фаворит: его задают почти на каждом middle+ интервью.
- JOIN и планы запросов. Чем nested loop отличается от hash join, как прочитать EXPLAIN.
- Сети и веб. Что происходит после ввода URL в браузере, TCP против UDP, как работает HTTPS-хендшейк, зачем нужны идемпотентность и ретраи.
Системный дизайн (middle+ и senior)
С уровня middle+ добавляется проектирование: «спроектируйте сокращатель ссылок», «ленту новостей», «систему уведомлений». Подробный фреймворк с таймингом по шагам — в отдельном разборе system design интервью, здесь коротко: правильного ответа нет, оценивают процесс.
- Соберите требования: сколько пользователей, какой RPS, что важнее — доступность или консистентность.
- Нарисуйте базовую схему: клиент → балансировщик → сервисы → хранилища.
- Углубляйтесь туда, куда ведёт интервьюер: шардирование, кеши, очереди, репликация.
- Проговаривайте компромиссы: «Возьмём eventual consistency, потому что лента переживёт задержку в секунду, зато выиграем в доступности».
Поведенческие вопросы — тоже часть технического интервью
«Расскажите о самом сложном баге», «о конфликте в команде», «о задаче, которую вы провалили». Готовьте 3–4 истории по схеме STAR (ситуация → задача → действия → результат) заранее: импровизация здесь звучит заметно слабее, чем в технических блоках. Подробный разбор метода с примерами — в статье про поведенческое собеседование.
Как готовиться: короткий план
- Выпишите 40–60 вопросов по своему стеку из этой статьи и вакансий, на которые откликаетесь.
- Отвечайте вслух и с таймером — 2–3 минуты на вопрос, как на реальном интервью.
- Прогоните 2–3 мок-интервью в условиях, близких к боевым: видеозвонок, незнакомый собеседник, стресс.
- На реальном интервью помогает подстраховка: Interview Assistant распознаёт вопрос интервьюера и мгновенно показывает структуру ответа — кратко, чтобы начать говорить, и подробно, чтобы раскрыть тему. Первые 20 минут бесплатны.
Частые вопросы
Что спрашивают на техническом собеседовании чаще всего?
Топ-5 по частоте: устройство хеш-таблицы, уровни изоляции транзакций, сборка мусора в вашем языке, сложность операций со структурами данных и «что происходит после ввода URL в браузере». Эти вопросы встречаются на большинстве интервью уровня junior+ и middle.
Сколько этапов у технического интервью?
Обычно 2–4: скрининг с рекрутером, техническое интервью (теория + live coding), системный дизайн для middle+/senior и финальное интервью с руководителем. В бигтехе процесс длиннее — до 5–6 этапов.
Что отвечать, если не знаешь ответа?
Честно сказать «точно не помню» и порассуждать от первых принципов: «Не скажу, как именно устроено в этой СУБД, но по логике здесь нужен индекс, потому что…». Это ценится выше, чем уверенная выдумка — её распознают мгновенно.
Как отвечать на вопрос «расскажите о себе»?
За 60–90 секунд: текущая роль и стек, 1–2 достижения с цифрами и почему интересна эта вакансия. Не пересказывайте резюме — его уже прочитали. Формула ответа с примерами для junior и middle — в отдельной статье.
Нормально ли волноваться на собеседовании?
Да, волнуются почти все, и интервьюеры делают на это поправку. Снижает стресс подготовка в боевых условиях: мок-интервью с таймером и незнакомым собеседником работают лучше, чем повторение конспектов.