# Wzorce współbieżności (Go) > Worker pools, pipelines, fan-out/fan-in, anulowanie, context, errgroup, semafory - 24 pytań z rozmów - Mid-Level - [Pytania z rozmów: Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne.md) ## 1. Czym jest worker pool w Go? **Odpowiedź** Worker pool to wzorzec współbieżności, który wykorzystuje stałą liczbę goroutine (workerów) do przetwarzania zadań pochodzących ze wspólnego kanału. Wzorzec ten pozwala ograniczyć liczbę aktywnych goroutine i kontrolować zużycie zasobów systemowych. W przeciwieństwie do tworzenia jednej goroutine na zadanie, worker pool ponownie wykorzystuje zestaw workerów, aby wydajnie przetwarzać dużą liczbę zadań. ## 2. Jaka jest główna zaleta używania worker poola zamiast tworzenia jednej goroutine na zadanie? **Odpowiedź** Ograniczenie liczby aktywnych goroutine pozwala kontrolować zużycie zasobów systemowych (pamięci i CPU) oraz unikać przeciążenia. Tworzenie jednej goroutine na zadanie może prowadzić do tysięcy lub milionów współbieżnych goroutine, nasycając scheduler i wyczerpując pamięć. Worker pool utrzymuje optymalną liczbę workerów, które przetwarzają zadania sekwencyjnie, zapewniając przewidywalną wydajność nawet przy dużym obciążeniu. ## 3. Czym jest pipeline w kontekście współbieżności w Go? **Odpowiedź** Pipeline to seria etapów połączonych kanałami, gdzie każdy etap jest grupą goroutine wykonujących tę samą funkcję. Każdy etap odbiera dane przez kanały wejściowe, wykonuje przetwarzanie, a następnie wysyła wyniki przez kanały wyjściowe. Wzorzec ten pozwala rozłożyć złożone przetwarzanie na proste i wielokrotnego użytku etapy, ułatwiając komponowanie i testowanie każdego komponentu niezależnie. ## Jeszcze 21 dostępnych pytań - Jak poprawnie zamknąć kanał w worker poolu, aby zasygnalizować koniec przetwarzania? - Jaka jest różnica między fan-out a fan-in? Zarejestruj się za darmo: https://sharpskill.dev/pl/login ## Inne tematy rekrutacyjne Go - [Podstawy Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/go-basics.md): 25 pytań, Junior - [Struktury danych w Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/go-data-structures.md): 20 pytań, Junior - [Interfejsy w Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/go-interfaces.md): 18 pytań, Junior - [Obsługa błędów](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/error-handling.md): 20 pytań, Junior - [Podstawy goroutines](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/goroutines-basics.md): 20 pytań, Junior - [Channels](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/channels.md): 22 pytań, Junior - [Go Modules](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/go-modules.md): 18 pytań, Mid-Level - [Serwer HTTP](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/http-server.md): 24 pytań, Mid-Level - [Klient HTTP](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/http-client.md): 18 pytań, Mid-Level - [Kodowanie JSON](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/json-encoding.md): 20 pytań, Mid-Level - [Database/SQL](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/database-sql.md): 22 pytań, Mid-Level - [Pakiet context](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/context-package.md): 20 pytań, Mid-Level - [Testing](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/testing.md): 22 pytań, Mid-Level - [Prymitywy synchronizacji](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/sync-primitives.md): 22 pytań, Mid-Level - [Frameworki webowe Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/go-web-frameworks.md): 20 pytań, Mid-Level - [Projektowanie API REST](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/rest-api-design.md): 20 pytań, Mid-Level - [gRPC](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/grpc.md): 22 pytań, Mid-Level - [Reflection](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/reflection.md): 20 pytań, Senior - [Zarządzanie pamięcią](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/memory-management.md): 24 pytań, Senior - [Optymalizacja wydajności](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/performance-optimization.md): 22 pytań, Senior - [Generics](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/generics.md): 20 pytań, Senior - [Go Design Patterns](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/design-patterns.md): 24 pytań, Senior - [Microservices](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/microservices.md): 24 pytań, Senior - [Bezpieczeństwo i uwierzytelnianie](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/security-authentication.md): 24 pytań, Senior - [Docker & Containerization](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/docker-containerization.md): 20 pytań, Senior - [Kubernetes Basics](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/kubernetes-basics.md): 22 pytań, Senior - [Zaawansowany Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/advanced-go.md): 20 pytań, Senior - [Tworzenie CLI](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/cli-development.md): 20 pytań, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/concurrency-patterns