
Package context
context.Context, cancellation, timeouts, deadlines, values, WithCancel, WithTimeout
1Quel est le rôle principal du package context en Go ?
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.
2Quelle fonction crée un context vide sans deadline ni cancellation ?
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.
3Quelle est la différence entre context.Background() et context.TODO() ?
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.
Comment créer un context qui peut être annulé manuellement ?
Quel channel permet de détecter l'annulation d'un context ?
+17 questions d'entretien
Autres sujets d'entretien Go
Les bases de Go
Structures de données Go
Interfaces Go
Gestion des erreurs
Goroutines basiques
Channels
Go Modules
Serveur HTTP
Client HTTP
Encodage JSON
database/sql
Testing
Patterns de concurrence
Primitives de synchronisation
Frameworks web Go
Design d'API REST
gRPC
Reflection
Gestion mémoire
Optimisation des performances
Generics
Design Patterns Go
Microservices
Sécurité & Authentication
Docker & Containerization
Kubernetes Basics
Go Avancé
Développement CLI
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