Go

Patterns de concurrence

Worker pools, pipelines, fan-out/fan-in, cancellation, context, errgroup, semaphores

24 questions d'entretien·
Confirmé
1

Qu'est-ce qu'un worker pool dans Go ?

Réponse

Un worker pool est un pattern de concurrence qui utilise un nombre fixe de goroutines (workers) pour traiter des tâches provenant d'un canal partagé. Ce pattern permet de limiter le nombre de goroutines actives et contrôler la consommation de ressources système. Contrairement à la création d'une goroutine par tâche, le worker pool réutilise un ensemble de workers pour traiter un grand volume de tâches de manière efficace.

2

Quel est l'avantage principal d'utiliser un worker pool plutôt que de créer une goroutine par tâche ?

Réponse

Limiter le nombre de goroutines actives permet de contrôler la consommation de ressources système (mémoire et CPU) et d'éviter la surcharge. Créer une goroutine par tâche peut entraîner des milliers ou millions de goroutines simultanées, saturant le scheduler et épuisant la mémoire. Le worker pool maintient un nombre optimal de workers qui traitent les tâches séquentiellement, garantissant des performances prévisibles même sous charge élevée.

3

Qu'est-ce qu'un pipeline dans le contexte de la concurrence en Go ?

Réponse

Un pipeline est une série d'étapes connectées par des canaux, où chaque étape est un groupe de goroutines exécutant la même fonction. Chaque étape reçoit des données via des canaux d'entrée, effectue un traitement, puis envoie les résultats via des canaux de sortie. Ce pattern permet de décomposer des traitements complexes en étapes simples et réutilisables, facilitant la composition et le test de chaque composant indépendamment.

4

Comment fermer correctement un canal dans un worker pool pour signaler la fin du traitement ?

5

Quelle est la différence entre fan-out et fan-in ?

+21 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