Go

gRPC

Protocol Buffers, gRPC services, streaming, interceptors, error handling, metadata

22 questions d'entretien·
Confirmé
1

Qu'est-ce que gRPC ?

Réponse

gRPC est un framework RPC (Remote Procedure Call) open-source développé par Google qui utilise HTTP/2 comme protocole de transport et Protocol Buffers comme format de sérialisation par défaut. Contrairement à REST qui utilise JSON et HTTP/1.1, gRPC offre de meilleures performances grâce au format binaire de Protocol Buffers et aux fonctionnalités avancées de HTTP/2 (multiplexing, compression d'en-têtes, server push). gRPC est largement utilisé pour la communication entre microservices car il supporte nativement le streaming bidirectionnel, la génération de code client/serveur et l'utilisation de types fortement typés.

2

Quel est le rôle principal de Protocol Buffers dans gRPC ?

Réponse

Protocol Buffers (protobuf) est le langage de définition d'interface (IDL) et le format de sérialisation binaire utilisé par défaut dans gRPC. Il permet de définir la structure des messages et des services dans des fichiers .proto, qui sont ensuite compilés pour générer automatiquement du code client et serveur dans différents langages. Le format binaire de protobuf est 3 à 10 fois plus compact que JSON et offre des performances de sérialisation/désérialisation nettement supérieures (jusqu'à 20 fois plus rapide). Cela rend gRPC particulièrement adapté aux communications haute fréquence entre microservices.

3

Quelle est la différence entre un appel gRPC Unary et un appel Server Streaming ?

Réponse

Un appel Unary est le type d'appel gRPC le plus simple : le client envoie une seule requête et reçoit une seule réponse, similaire à une requête HTTP REST classique. Un appel Server Streaming permet au client d'envoyer une seule requête mais de recevoir un flux (stream) de plusieurs réponses du serveur. Par exemple, une API de notifications peut utiliser Server Streaming pour envoyer plusieurs mises à jour au client sans que celui-ci ne doive faire de polling. Cela réduit la latence et la charge réseau comparé à des appels Unary répétés.

4

Quel package Go est utilisé pour créer un serveur gRPC ?

5

Comment définir un service gRPC dans un fichier .proto ?

+19 questions d'entretien

Maîtrise Go pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement