Go

gRPC

Protocol Buffers, gRPC-Services, Streaming, Interceptors, Fehlerbehandlung, Metadaten

22 Interview-Fragen·
Mid-Level
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.

4

Welches Go-Paket wird verwendet, um einen gRPC-Server zu erstellen?

5

Wie definiert man einen gRPC-Service in einer .proto-Datei?

+19 Interview-Fragen

Meistere Go für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten