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

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

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

866 вопросов 1634 компании 353 технологии

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

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

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

Каталог

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

Найдено: 866
Теория

Как в Go реализовать graceful shutdown с defer, контекстом и обработкой ошибок в группах горутин?

Как в Go реализовать graceful shutdown с defer, контекстом и обработкой ошибок в группах горутин? управлять завершением приложения через context.Context (cancel/cancellation) применять defer для освобождения ресурсов,…

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

Как в Go реализовать наследование?

В Go отсутствует классическое наследование: здесь нет классов и конструкции extends Для повторного использования кода применяют встраивание (embedding) структур При встраивании поля и методы вложенной структуры…

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

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

В Go отдельного стандартного типа Set нет множество обычно представляют как map[T]struct{} ключи выступают элементами, а значения почти не используют память добавление, удаление и проверка выполняются примерно за O(1)…

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

Как в Go синхронизировать параллельные вычисления?

область: конкурентность в Go базовый механизм: goroutines (легковесные потоки) синхронизация: с помощью channels — обмен данными и сигналами между goroutines для реализации блокировок и мьютексов используется пакет…

Читать ответ
Лайвкодинг

Как в Go создать worker pool с ограничением concurrency?

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

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

Как в Go сочетаются статическая и утиная типизация?

Чем статическая типизация Go отличается от утиной В Go: применяется строгая статическая типизация тип переменной определяется при её объявлении ошибки, связанные с типами, компилятор обнаруживает до запуска программы…

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

Как в Go увеличивается capacity слайса при добавлении элементов и почему до 1024 используется удвоение?

Слайс представляет собой структуру поверх массива, содержащую указатель, длину и capacity Когда length становится равен capacity, для слайса выделяется новый массив Чтобы не выполнять копирование при каждом…

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

Как в Go управлять временем ожидания с помощью context?

** контролируйте длительность операций в Go через context, задавая таймаут и отмену с помощью context.WithTimeout и Done(). Это позволяет ограничивать время выполнения и корректно освобождать ресурсы.

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

Как в Redis искать данные по значению, а не по ключу?

Redis представляет собой высокопроизводительное хранилище данных в формате ключ—значение Прямой поиск по значению не поддерживается, поскольку значения не индексируются Для такой задачи можно задействовать структуры…

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

Как в памяти хранятся массивы и срезы и что означает capacity?

Массивы размещаются в непрерывной области памяти: их размер фиксирован, а элементы находятся последовательно Срез представляет собой структуру-обёртку, содержащую указатель на массив, длину и capacity Capacity — это…

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

Как внедрить паттерн Saga в микросервисной архитектуре?

подход к управлению распределёнными транзакциями крупная транзакция представляется последовательностью локальных операций в отдельных сервисах для каждой операции предусматривается компенсирующее действие, позволяющее…

Читать ответ