# gRPC (Go) > Protocol Buffers, gRPC-Services, Streaming, Interceptors, Fehlerbehandlung, Metadaten - 22 Interview-Fragen - Mid-Level - [Interview-Fragen: Go](https://sharpskill.dev/de/technologies/go/interviewfragen.md) ## 1. Was ist gRPC? **Antwort** gRPC ist ein von Google entwickeltes Open-Source-RPC-Framework (Remote Procedure Call), das HTTP/2 als Transportprotokoll und Protocol Buffers als Standard-Serialisierungsformat verwendet. Anders als REST, das JSON und HTTP/1.1 nutzt, bietet gRPC dank des Binärformats von Protocol Buffers und der erweiterten HTTP/2-Funktionen (Multiplexing, Header-Komprimierung, Server Push) eine bessere Performance. gRPC wird häufig für die Kommunikation zwischen Microservices verwendet, da es bidirektionales Streaming, Client/Server-Codegenerierung und stark typisierte Schnittstellen nativ unterstützt. ## 2. Was ist die Hauptrolle von Protocol Buffers in gRPC? **Antwort** Protocol Buffers (protobuf) ist die Interface Definition Language (IDL) und das binäre Serialisierungsformat, das standardmäßig in gRPC verwendet wird. Es ermöglicht das Definieren von Nachrichtenstrukturen und Services in .proto-Dateien, die anschließend kompiliert werden, um automatisch Client- und Servercode in verschiedenen Sprachen zu generieren. Das Binärformat von protobuf ist 3- bis 10-mal kompakter als JSON und bietet eine deutlich höhere Serialisierungs-/Deserialisierungsleistung (bis zu 20-mal schneller). Das macht gRPC besonders geeignet für hochfrequente Kommunikation zwischen Microservices. ## 3. Was ist der Unterschied zwischen einem Unary-gRPC-Aufruf und einem Server-Streaming-Aufruf? **Antwort** Ein Unary-Aufruf ist der einfachste gRPC-Aufruftyp: Der Client sendet eine einzelne Anfrage und erhält eine einzelne Antwort, ähnlich einer klassischen HTTP-REST-Anfrage. Ein Server-Streaming-Aufruf erlaubt es dem Client, eine einzelne Anfrage zu senden, aber einen Stream mehrerer Antworten vom Server zu empfangen. Beispielsweise kann eine Benachrichtigungs-API Server Streaming nutzen, um dem Client mehrere Updates zu senden, ohne dass dieser pollen muss. Das reduziert Latenz und Netzwerklast im Vergleich zu wiederholten Unary-Aufrufen. ## 19 weitere Fragen verfügbar - Welches Go-Paket wird verwendet, um einen gRPC-Server zu erstellen? - Wie definiert man einen gRPC-Service in einer .proto-Datei? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere Go-Interviewthemen - [Go-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-basics.md): 25 Fragen, Junior - [Go-Datenstrukturen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-data-structures.md): 20 Fragen, Junior - [Go-Interfaces](https://sharpskill.dev/de/technologies/go/interviewfragen/go-interfaces.md): 18 Fragen, Junior - [Fehlerbehandlung](https://sharpskill.dev/de/technologies/go/interviewfragen/error-handling.md): 20 Fragen, Junior - [Goroutines-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/goroutines-basics.md): 20 Fragen, Junior - [Channels](https://sharpskill.dev/de/technologies/go/interviewfragen/channels.md): 22 Fragen, Junior - [Go Modules](https://sharpskill.dev/de/technologies/go/interviewfragen/go-modules.md): 18 Fragen, Mid-Level - [HTTP-Server](https://sharpskill.dev/de/technologies/go/interviewfragen/http-server.md): 24 Fragen, Mid-Level - [HTTP-Client](https://sharpskill.dev/de/technologies/go/interviewfragen/http-client.md): 18 Fragen, Mid-Level - [JSON-Kodierung](https://sharpskill.dev/de/technologies/go/interviewfragen/json-encoding.md): 20 Fragen, Mid-Level - [Database/SQL](https://sharpskill.dev/de/technologies/go/interviewfragen/database-sql.md): 22 Fragen, Mid-Level - [context-Paket](https://sharpskill.dev/de/technologies/go/interviewfragen/context-package.md): 20 Fragen, Mid-Level - [Testing](https://sharpskill.dev/de/technologies/go/interviewfragen/testing.md): 22 Fragen, Mid-Level - [Concurrency-Patterns](https://sharpskill.dev/de/technologies/go/interviewfragen/concurrency-patterns.md): 24 Fragen, Mid-Level - [Synchronisationsprimitive](https://sharpskill.dev/de/technologies/go/interviewfragen/sync-primitives.md): 22 Fragen, Mid-Level - [Go-Web-Frameworks](https://sharpskill.dev/de/technologies/go/interviewfragen/go-web-frameworks.md): 20 Fragen, Mid-Level - [REST-API-Design](https://sharpskill.dev/de/technologies/go/interviewfragen/rest-api-design.md): 20 Fragen, Mid-Level - [Reflection](https://sharpskill.dev/de/technologies/go/interviewfragen/reflection.md): 20 Fragen, Senior - [Speicherverwaltung](https://sharpskill.dev/de/technologies/go/interviewfragen/memory-management.md): 24 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/go/interviewfragen/performance-optimization.md): 22 Fragen, Senior - [Generics](https://sharpskill.dev/de/technologies/go/interviewfragen/generics.md): 20 Fragen, Senior - [Go Design Patterns](https://sharpskill.dev/de/technologies/go/interviewfragen/design-patterns.md): 24 Fragen, Senior - [Microservices](https://sharpskill.dev/de/technologies/go/interviewfragen/microservices.md): 24 Fragen, Senior - [Sicherheit und Authentifizierung](https://sharpskill.dev/de/technologies/go/interviewfragen/security-authentication.md): 24 Fragen, Senior - [Docker & Containerization](https://sharpskill.dev/de/technologies/go/interviewfragen/docker-containerization.md): 20 Fragen, Senior - [Kubernetes Basics](https://sharpskill.dev/de/technologies/go/interviewfragen/kubernetes-basics.md): 22 Fragen, Senior - [Fortgeschrittenes Go](https://sharpskill.dev/de/technologies/go/interviewfragen/advanced-go.md): 20 Fragen, Senior - [CLI-Entwicklung](https://sharpskill.dev/de/technologies/go/interviewfragen/cli-development.md): 20 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/go/interviewfragen/grpc