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

Вопросы на техническом собеседовании: что спрашивают и как отвечать

Команда Interview Assistantвопросыинтервью

На техническом собеседовании разработчика спрашивают четыре группы вопросов: основы языка и платформы, алгоритмы и структуры данных, базы данных и сети, а с уровня middle+ — проектирование систем. Интервьюеры оценивают не заученные определения, а глубину понимания: почти за каждым вопросом следует «а почему так?» и «а что будет, если…». Сильный ответ строится по схеме «краткий тезис → как работает под капотом → пример из практики».

Структура сильного ответа

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

  1. Тезис одним предложением. «Индекс — это структура данных, ускоряющая поиск за счёт замедления записи».
  2. Механика. Как это устроено внутри: B-дерево, копирование при записи, сборка мусора поколениями — в зависимости от вопроса.
  3. Практика. Когда вы это применяли или где это стреляет в проде: «Мы добавили составной индекс и убрали 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 интервью, здесь коротко: правильного ответа нет, оценивают процесс.

  1. Соберите требования: сколько пользователей, какой RPS, что важнее — доступность или консистентность.
  2. Нарисуйте базовую схему: клиент → балансировщик → сервисы → хранилища.
  3. Углубляйтесь туда, куда ведёт интервьюер: шардирование, кеши, очереди, репликация.
  4. Проговаривайте компромиссы: «Возьмём 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 — в отдельной статье.

Нормально ли волноваться на собеседовании?

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