golang

Как проходят собеседования на Golang-разработчиков в 2ГИС

  • четверг, 14 мая 2026 г. в 00:00:19
https://habr.com/ru/companies/2gis/articles/1034286/

В последнее время мы всё чаще сталкивались с ситуациями, когда кандидаты отлично проходят HR-фильтры — автоматические и ручные — но на практике оказывается, что опыт завышен, а результаты не совпадают с ожиданиями. При этом сильные разработчики, наоборот, нередко терялись в потоке формальных анкет.  Классические собеседования перестали работать.

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

Как теперь всё проходит

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

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

Встреча с HR, общие вопросы про опыт кандидата

Обычно это короткий видеосозвон с HR на 20–30 мин. HR знакомится с кандидатом, задаёт общие технические вопросы про опыт, чтобы понять технический уровень, интересуется мотивацией перехода на новую работу, спрашивает про основные критерии выбора компании и ожидания по условиям работы.

На этом этапе рассказываем: 

  • какие команды сейчас ищут разработчиков, 

  • какие задачи решают, 

  • чего ожидать дальше на технических секциях.

Главная цель — познакомиться, ответить на все вопросы кандидата и рассказать о предстоящих этапах. 

Welcome-встреча с лидом

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

Вопросы «поведенческие»: мы просим рассказывать реальные ситуации из опыта:

  • как решались задачи, 

  • что предпринимал, сталкиваясь с трудностями,

  • как принимал решения и т.д.

Мы не ищем «правильных» ответов — нам интересен способ мышления, принятия решений и извлечения уроков.

Как подготовиться:

  1. Вспомнить конкретные примеры из практики  

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

  2. Подумать, как рассказывать эти истории  

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

  3. Настроиться на диалог  

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

Техническая секция Application Review 

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

Кроме обсуждения непосредственно самого кода, можем поговорить и о более общих вещах, таких как:

  • значения и указатели, многопоточность, интерфейсы и каналы в Go; 

  • базы данных и транзакции; 

  • шины данных и паттерны работы с ними.

Например, когда-то задавали такие вопросы: 
  1. Приведи пример своей самой сложной задачи, за которую отвечал именно ты. За что конкретно ты отвечал и какого результата добился?

  2. Расскажи как бы структурировал сервис бронирования отелей на примере ручки оформления брони, какие слои бы выделил?

  3. Как реализуешь счетчик количества запросов к ручке сервиса средствами самого языка?

  4. С какими базами данных, кешами и очередями сообщений работал? Как будешь делать выбор между ними?

  5. Расскажи как работает паттерн Transactional Outbox?

Что нужно: удобная IDE и возможность показать экран.

Техническая секция System Design

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

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

Что нужно: возможность пошарить экран и спроектировать систему в любом удобном инструменте (например, Draw.io, Miro, Excalidraw и т.п.)

Финальное интервью с лидом команды и HR

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

В итоге 

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

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