# Padrões de concorrência (Go) > Worker pools, pipelines, fan-out/fan-in, cancelamento, context, errgroup, semáforos - 24 perguntas de entrevista - Mid-Level - [Perguntas de entrevista: Go](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista.md) ## 1. O que é um worker pool em Go? **Resposta** Um worker pool é um padrão de concorrência que usa um número fixo de goroutines (workers) para processar tarefas vindas de um canal compartilhado. Esse padrão permite limitar o número de goroutines ativas e controlar o consumo de recursos do sistema. Diferentemente de criar uma goroutine por tarefa, o worker pool reutiliza um conjunto de workers para processar um grande volume de tarefas de forma eficiente. ## 2. Qual é a principal vantagem de usar um worker pool em vez de criar uma goroutine por tarefa? **Resposta** Limitar o número de goroutines ativas permite controlar o consumo de recursos do sistema (memória e CPU) e evitar a sobrecarga. Criar uma goroutine por tarefa pode resultar em milhares ou milhões de goroutines simultâneas, saturando o scheduler e esgotando a memória. O worker pool mantém um número ótimo de workers que processam as tarefas sequencialmente, garantindo desempenho previsível mesmo sob carga alta. ## 3. O que é um pipeline no contexto da concorrência em Go? **Resposta** Um pipeline é uma série de estágios conectados por canais, onde cada estágio é um grupo de goroutines que executam a mesma função. Cada estágio recebe dados por canais de entrada, realiza um processamento e depois envia os resultados por canais de saída. Esse padrão permite decompor processamentos complexos em estágios simples e reutilizáveis, facilitando a composição e o teste de cada componente de forma independente. ## Mais 21 perguntas disponiveis - Como fechar corretamente um canal em um worker pool para sinalizar o fim do processamento? - Qual é a diferença entre fan-out e fan-in? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista Go - [Fundamentos de Go](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/go-basics.md): 25 perguntas, Junior - [Estruturas de dados em Go](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/go-data-structures.md): 20 perguntas, Junior - [Interfaces em Go](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/go-interfaces.md): 18 perguntas, Junior - [Tratamento de erros](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/error-handling.md): 20 perguntas, Junior - [Goroutines básicas](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/goroutines-basics.md): 20 perguntas, Junior - [Channels](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/channels.md): 22 perguntas, Junior - [Go Modules](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/go-modules.md): 18 perguntas, Mid-Level - [Servidor HTTP](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/http-server.md): 24 perguntas, Mid-Level - [Cliente HTTP](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/http-client.md): 18 perguntas, Mid-Level - [Codificação JSON](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/json-encoding.md): 20 perguntas, Mid-Level - [Database/SQL](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/database-sql.md): 22 perguntas, Mid-Level - [Pacote context](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/context-package.md): 20 perguntas, Mid-Level - [Testing](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/testing.md): 22 perguntas, Mid-Level - [Primitivas de sincronização](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/sync-primitives.md): 22 perguntas, Mid-Level - [Frameworks web Go](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/go-web-frameworks.md): 20 perguntas, Mid-Level - [Design de API REST](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/rest-api-design.md): 20 perguntas, Mid-Level - [gRPC](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/grpc.md): 22 perguntas, Mid-Level - [Reflection](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/reflection.md): 20 perguntas, Senior - [Gerenciamento de memória](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/memory-management.md): 24 perguntas, Senior - [Otimização de desempenho](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/performance-optimization.md): 22 perguntas, Senior - [Generics](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/generics.md): 20 perguntas, Senior - [Go Design Patterns](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/design-patterns.md): 24 perguntas, Senior - [Microservices](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/microservices.md): 24 perguntas, Senior - [Segurança e autenticação](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/security-authentication.md): 24 perguntas, Senior - [Docker & Containerization](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/docker-containerization.md): 20 perguntas, Senior - [Kubernetes Basics](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/kubernetes-basics.md): 22 perguntas, Senior - [Go Avançado](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/advanced-go.md): 20 perguntas, Senior - [Desenvolvimento de CLI](https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/cli-development.md): 20 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/go/perguntas-entrevista/concurrency-patterns