Вопросы на собеседовании Go-разработчика
1 307 вопросов с реальных собеседований, чаще всего — в компаниях Wildberries, Ozon и VK.
Все вопросы
- Что такое указатель в Go и когда его использоватьJunior×4VK, Сбер
- Какие способы копирования слайса в Go существуютSenior×4Лига Цифровой Экономики, Ozon
- Всегда ли в HTTP-запросе есть телоMiddle×4Avito, Ozon
- Как послать сигнал закрытия в канал, чтобы все 15 горутин получили сигнал и завершились в GoSenior×4X5Tech, ЦУМ
- В каком стиле пишешь на Go и какого концептуального стиля придерживаешьсяSenior×4YADRO, Kalabi
- Как агрегировать ответы от нескольких горутин через каналы в GoSenior×4X5Tech, ЦУМ
- Какие компоненты входят в Kubernetes и как они работаютSenior×4amoCRM, YADRO
- Знаете ли основные принципы объектно-ориентированного программированияSenior×4Лига Цифровой Экономики, VK
- Как устроена область видимости в Go?Senior×4Axel Pro, Orion_soft
- Какие типы гарантии доставки сообщений существуют в брокерах сообщенийSenior×4Wildberries, Aston
- Ответь на такие вопросы вслухMock-интервью с ИИ: вопросы голосом и разбор каждого ответа.Попробовать
- Как устроены строки в Go под капотом и что происходит при итерировании через rangeSenior×4Wildberries, Альфа-банк
- Как защититься от SQL-инъекцийSenior×4InDrive, VK
- Как реализовать связь многие ко многим в базе данныхSenior×4Ютека, Моторика
- Зачем делали миграцию с Python на GoSenior×4Wildberries, Автомакон
- Как происходит переключение контекста между горутинами в GoSenior×4Orion_soft, amoCRM
- Как использовать EXPLAIN и ANALYZE для оптимизации SQL запросовSenior×4Ютека, Т-Банк
- Какая сложность поиска в хэшмапе при использовании сбалансированного дерева вместо связного спискаMiddle×4Wildberries, InDrive
- В чем разница между WHERE и HAVING в SQL и зачем использовать HAVING после GROUP BY?Senior×4Avito
- Какие особенности сетевого взаимодействия в KubernetesSenior×4amoCRM, YADRO
- Какие методы профилирования и поиска утечек памяти существуютSenior×4Wildberries, amoCRM
Как проходит собеседование
Собеседование на Go-разработчика обычно включает разговор с рекрутером, техническое интервью с задачей на код и финальную встречу с командой. Иногда отдельной секцией идёт проектирование сервиса. Многие приходят в Go из других языков, поэтому часто просят сравнить подходы: чем горутины отличаются от потоков и почему в Go нет привычных исключений.
Больше всего вопросов про конкурентность: горутины и планировщик, каналы, select, мьютексы, контекст и отмена операций, утечки горутин. Почти обязательно спрашивают про устройство слайсов и map, интерфейсы и их нулевые значения, обработку ошибок. Для бэкенд-ролей добавляются базы данных, кэширование и очереди, а ещё то, как ты профилируешь сервис и ищешь узкие места. На задаче на код смотрят не только на результат, но и на то, как ты рассуждаешь вслух.
Чтобы готовиться прицельно, отфильтруй вопросы по своему уровню и начни с тех, что спрашивали чаще всего: счётчик стоит у каждого вопроса. Ответь на несколько из них вслух в mock-интервью, так видно, где ответ разваливается, ещё до настоящего созвона.
Другие направления
Прорепетируй собеседование Go-разработчика
Голосовой ИИ-интервьюер задаст вопросы твоего стека, переспросит и разберёт каждый ответ.