Подготовка к интервью

Вопросы на собеседовании по Golang

279 вопросов по Golang с технических собеседований

279 вопросов 119 компаний 249 технологий

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме

Что проверяют на интервью

Как устроена подборка

На странице собраны вопросы по Golang — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, concurrency, database.

Основные темы и навыки

backend 219 concurrency 139 database 112 api 64 performance 57 optimization 47 architecture 46 microservices 43

Форматы вопросов

  • Поведенческие вопросы180
  • Технические вопросы41
  • System Design36
  • Лайвкодинг22

Ориентировочная сложность

  • Продвинутые186
  • Практические77
  • Базовые16

С чего начать подготовку

  1. Начните с раздела «Поведенческие вопросы» и проверьте, можете ли дать короткий ответ своими словами.
  2. Затем разберите вопросы по теме «backend» и свяжите ответы с собственным опытом.
  3. Завершите подготовку практикой: проговорите решение, ограничения и возможные альтернативы.
Сбросить

Каталог

Результаты поиска

Найдено: 279
Поведенческий

Как работают каналы в Go?

Каналы служат примитивом синхронизации и обмена данными между goroutine Они реализованы в виде буферизированных и небУферизированных очередей Размер буферизации задаёт число элементов, которые можно отправить в канал…

Читать ответ
Теория

Как различаются errors.Is, errors.As и errors.Join в Go?

Чем отличаются errors.Is, errors.As и errors.Join Улучшения работы с ошибками, появившиеся в Go 1.13 и более поздних версиях errors.Is определяет, присутствует ли в ошибке заданная целевая ошибка: сравнивает её через…

Читать ответ
Поведенческий

Как реализованы индексы на уровне структур данных?

Индекс — это структура данных, предназначенная для ускорения поиска в БД На практике его часто строят на основе B-дерева или B+-дерева B-дерево сохраняет балансировку и обеспечивает логарифмическую сложность поиска…

Читать ответ
System Design

Как реализовать graceful shutdown в Go для сервиса с HTTP-сервером и фоновыми воркерами?

Как организовать graceful shutdown HTTP-сервиса с воркерами в Go? Контекст: управление остановкой сервиса, одновременно обрабатывающего HTTP-запросы и выполняющего фоновые задачи Для координации завершения применять…

Читать ответ
System Design

Как реализовать middleware в Go?

HTTP middleware представляет собой функцию, которая оборачивает http.Handler Она принимает http.Handler и возвращает другой http.Handler, добавляя логику до или после запуска основного обработчика На практике…

Читать ответ
Поведенческий

Как реализовать worker pool в Go и ограничить число горутин?

Как в Go создать worker pool для обработки задач? параллельно выполнять функции с помощью goroutines ограничивать количество активных воркеров через канал-буфер или семафор передавать задания рабочим горутинам через…

Читать ответ
Поведенческий

Как реализовать полиморфизм и инкапсуляцию без наследования с помощью встраивания структур и интерфейсов?

Полиморфизм: динамическое поведение обеспечивают интерфейсы Инкапсуляция: реализация скрывается с помощью неэкспортируемых полей и методов Встраивание структур (composition): добавление функциональности без построения…

Читать ответ
Поведенческий

Как сделать REST API идемпотентным, чтобы повторный запрос не выполнил операцию повторно?

Как обеспечить идемпотентность REST API и исключить дублирование операций? Контекст: REST API и идемпотентность Идемпотентность означает, что повторное выполнение операции не меняет полученный результат. Следует…

Читать ответ
Поведенческий

Как слайс устроен внутри Go?

Слайс состоит из трёх полей: указателя на массив, длины и ёмкости Указатель содержит адрес первого элемента используемого сегмента массива Длина показывает количество доступных элементов (len) Ёмкость задаёт…

Читать ответ
Поведенческий

Как спроектировать backward compatible gRPC API при изменении схемы?

Проектирование gRPC API с сохранением backward compatibility gRPC API описывается с помощью Protocol Buffers (proto) Не удаляйте существующие поля — добавляйте новые, назначая им уникальные номера для расширения схемы…

Читать ответ
Поведенческий

Как указать компилятору, что тип реализует интерфейс?

область: системы типов, интерфейсы в большинстве языков, включая Go и C#, реализация интерфейса неявная и не требует отдельной декларации тип считается реализующим интерфейс, когда в нём определены все методы…

Читать ответ
Теория

Как уменьшить количество аллокаций памяти при конкатенации строк в цикле?

Как сократить число аллокаций памяти при конкатенации строк в цикле? строковые операции: неизменяемость строк конкатенация +=внутри цикла приводит к созданию новых объектов применять буферы: StringBuilder (Java),…

Читать ответ