Go

Package context

context.Context, cancellation, timeouts, deadlines, values, WithCancel, WithTimeout

20 questions d'entretien·
Confirmé
1

Quel est le rôle principal du package context en Go ?

Réponse

Le package context permet de gérer les timeouts, cancellations et deadlines de façon cohérente à travers toute la chaîne d'appel. Cela évite les goroutines zombies qui continuent à tourner alors que leur résultat n'est plus nécessaire. Toujours passer le context en premier paramètre et vérifier régulièrement Done() dans les opérations longues pour respecter les cancellations.

2

Quelle fonction crée un context vide sans deadline ni cancellation ?

Réponse

context.Background() retourne un context vide, non-cancellable, sans deadline ni valeurs. Il sert de point de départ pour créer des contexts dérivés et est typiquement utilisé dans le main, l'initialisation ou les tests. Ne jamais utiliser nil comme context car cela cause des panics lors de l'accès aux méthodes.

3

Quelle est la différence entre context.Background() et context.TODO() ?

Réponse

context.TODO() sert de placeholder quand le context approprié n'est pas encore clair ou disponible pendant le développement. context.Background() est utilisé pour les points d'entrée réels comme main ou les handlers HTTP. Les deux sont fonctionnellement identiques mais TODO() documente une intention temporaire qui devrait être remplacée plus tard.

4

Comment créer un context qui peut être annulé manuellement ?

5

Quel channel permet de détecter l'annulation d'un context ?

+17 questions d'entretien

Maîtrise Go pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement