Проверяет знание context.
Context несёт в себе состояние, которое может устареть или быть отменено, поэтому его нельзя хранить как поле для долгого использования.
Хранение context в полях структур или глобальных переменных нарушает его предназначение и может привести к трудноуловимым ошибкам. Context задумывался как объект с коротким жизненным циклом, связанным с конкретной операцией. Если сохранить его надолго:
можно случайно использовать уже отменённый context, что приведёт к мгновенной отмене новой операции;
могут возникнуть утечки памяти из-за того, что context удерживает цепочку родительских контекстов;
нарушается читаемость и предсказуемость кода, так как сложно понять, когда context будет завершён.
Рекомендованный подход — передавать context явно через параметры функций. Это делает зависимости очевидными и предотвращает повторное использование устаревшего состояния. Исключение может быть для очень короткоживущих объектов, например, HTTP-запроса, где context хранится в структуре, представляющей сам запрос.
Вывод: Context — это не конфигурация и не глобальное состояние, его жизненный цикл жёстко связан с выполняемой задачей, поэтому хранить его в структуре “навсегда” нельзя.