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

Вопросы о context, отмене и таймаутах в Go

17 вопросов с ответами по теме «Context и отмена в Go»

17 вопросов

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

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

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

Каталог

Вопросы по теме

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

Для чего используется context в Go?

В Go пакет context используется для передачи сквозных сигналов отмены, дедлайнов и других значений между горутинами и функциями.

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

Расскажите про контекст в Go: виды, иерархия, особенности дочерних контекстов. Как создать дочерний контекст, не зависящий от родительского?

В Go дочерние контексты (child contexts) создаются от родительских с помощью функций context.WithCancel, context.WithTimeout или context.WithDeadline. Цель использования дочерних контекстов:

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

Можно ли передавать значения через context в Go, зачем это нужно и какие примеры уместны?

В Go контексты (context.Context) устроены так, что можно создавать иерархию контекстов, где дочерний контекст наследует значения и отмену от родительского.

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

Каким образом инициализировать стандартный контекст без тайм-аута в Go?

В Go для создания контекста без тайм-аута используется функция context.Background(). Она возвращает пустой, неотменяемый контекст, который обычно служит корнем для других контекстов.

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

Зачем нужен контекст в gRPC-запросах и что происходит после его отмены?

Зачем нужен контекст в gRPC-запросах и что происходит после его отмены Контекст как инструмент управления жизненным циклом запроса в Go Передача дедлайнов, сигналов отмены и метаданных между клиентом и сервером…

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

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

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

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

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

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

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

Как корректно отменить горутину, выполняющую долгую операцию, например запрос к БД?

Как корректно отменять горутины, выполняющие долгие операции? для управления долгими горутинными операциями в Go используется контекст следует применять context.Context вместе с отменой (CancelFunc) context нужно…

Читать ответ