Вопросы на собеседовании Go-разработчика
1 307 вопросов с реальных собеседований, чаще всего — в компаниях Wildberries, Ozon и VK.
Все вопросы
- Где в памяти живут глобальные переменные в Go?Middle×4InDrive, Т-Банк
- Какие есть механизмы взаимодействия между горутинами в Go помимо каналовSenior×4X5Tech, Ozon
- Что такое Kafka и как она работаетJunior×4Wildberries, Моторика
- Как ограничить максимальное количество одновременно работающих горутин?Senior×4Wildberries, Русклимат
- Где используется recover в Go?Senior×4Employcity, InDrive
- Как определить, что все горутины завершены и все данные получены в GoSenior×4X5Tech, Wildberries
- В чем разница goroutine и потока операционной системыSenior×4Wildberries, YADRO
- Какую функцию выполняет транзакцияMiddle×4YADRO, Kalabi
- Как работает garbage collector в GoSenior×4amoCRM, Т-Банк
- Если передать слайс в функцию и добавить элемент, будут ли изменения видны в вызывающей функцииMiddle×4Black Wall Group (BWG), Ozon
- Ответь на такие вопросы вслухMock-интервью с ИИ: вопросы голосом и разбор каждого ответа.Попробовать
- Как сделать так, чтобы изменения слайса в функции были видны в вызывающей функцииMiddle×4Black Wall Group (BWG), Ozon
- Какие подходы к масштабированию баз данных ты знаешь?Senior×4Axel Pro, InDrive
- Как работа garbage collector влияет на выполнение программыSenior×4InDrive, Т-Банк
- Как написать функцию в Go, которая меняет порядок чисел в слайсе на противоположный in-place без выделения нового массиваMiddle×4Employcity, Т-Банк
- Для чего используется профилирование pprof в GoSenior×4Lamoda, Ozon
- Как работает брокер сообщенийSenior×4BetBoom, Black Wall Group (BWG)
- Какие примитивы синхронизации из пакета sync в Go вы используете и зачемSenior×4Wildberries, Т-Банк
- Почему горутина в Go считается легковесным потоком и чем она отличается от потоков в других языкахSenior×4Black Wall Group (BWG), Сбер
- Как реализовать множество в GoSenior×4Avito, Автомакон
- Почему лучше подключать скрипты в начале с defer или в конце без deferSenior×4Employcity, VK
Как проходит собеседование
Собеседование на Go-разработчика обычно включает разговор с рекрутером, техническое интервью с задачей на код и финальную встречу с командой. Иногда отдельной секцией идёт проектирование сервиса. Многие приходят в Go из других языков, поэтому часто просят сравнить подходы: чем горутины отличаются от потоков и почему в Go нет привычных исключений.
Больше всего вопросов про конкурентность: горутины и планировщик, каналы, select, мьютексы, контекст и отмена операций, утечки горутин. Почти обязательно спрашивают про устройство слайсов и map, интерфейсы и их нулевые значения, обработку ошибок. Для бэкенд-ролей добавляются базы данных, кэширование и очереди, а ещё то, как ты профилируешь сервис и ищешь узкие места. На задаче на код смотрят не только на результат, но и на то, как ты рассуждаешь вслух.
Чтобы готовиться прицельно, отфильтруй вопросы по своему уровню и начни с тех, что спрашивали чаще всего: счётчик стоит у каждого вопроса. Ответь на несколько из них вслух в mock-интервью, так видно, где ответ разваливается, ещё до настоящего созвона.
Другие направления
Прорепетируй собеседование Go-разработчика
Голосовой ИИ-интервьюер задаст вопросы твоего стека, переспросит и разберёт каждый ответ.