# gRPC (Go) > Protocol Buffers, usługi gRPC, streaming, interceptory, obsługa błędów, metadata - 22 pytań z rozmów - Mid-Level - [Pytania z rozmów: Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne.md) ## 1. Czym jest gRPC? **Odpowiedź** gRPC to otwartoźródłowy framework RPC (Remote Procedure Call) opracowany przez Google, który używa HTTP/2 jako protokołu transportowego oraz Protocol Buffers jako domyślnego formatu serializacji. W przeciwieństwie do REST, który używa JSON i HTTP/1.1, gRPC oferuje lepszą wydajność dzięki binarnemu formatowi Protocol Buffers i zaawansowanym funkcjom HTTP/2 (multiplexing, kompresja nagłówków, server push). gRPC jest szeroko stosowany do komunikacji między mikroserwisami, ponieważ natywnie obsługuje dwukierunkowy streaming, generowanie kodu klienta/serwera oraz silne typowanie. ## 2. Jaka jest główna rola Protocol Buffers w gRPC? **Odpowiedź** Protocol Buffers (protobuf) to język definicji interfejsu (IDL) oraz binarny format serializacji używany domyślnie w gRPC. Pozwala definiować strukturę wiadomości i usług w plikach .proto, które są następnie kompilowane w celu automatycznego wygenerowania kodu klienta i serwera w różnych językach. Binarny format protobuf jest od 3 do 10 razy bardziej zwarty niż JSON i oferuje znacznie lepszą wydajność serializacji/deserializacji (do 20 razy szybszą). To sprawia, że gRPC szczególnie nadaje się do komunikacji o wysokiej częstotliwości między mikroserwisami. ## 3. Jaka jest różnica między wywołaniem gRPC Unary a wywołaniem Server Streaming? **Odpowiedź** Wywołanie Unary to najprostszy typ wywołania gRPC: klient wysyła jedno żądanie i otrzymuje jedną odpowiedź, podobnie jak w klasycznym żądaniu HTTP REST. Wywołanie Server Streaming pozwala klientowi wysłać jedno żądanie, ale otrzymać strumień (stream) wielu odpowiedzi z serwera. Na przykład API powiadomień może użyć Server Streaming, aby wysyłać klientowi wiele aktualizacji bez konieczności pollingu. Zmniejsza to opóźnienia i obciążenie sieci w porównaniu z powtarzanymi wywołaniami Unary. ## Jeszcze 19 dostępnych pytań - Który pakiet Go jest używany do tworzenia serwera gRPC? - Jak zdefiniować usługę gRPC w pliku .proto? 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 - [Wzorce współbieżności](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/concurrency-patterns.md): 24 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 - [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/grpc