# gRPC (Go) > Protocol Buffers, gRPC services, streaming, interceptors, error handling, metadata - 22 questions d'entretien - Confirmé - [Questions d'entretien: Go](https://sharpskill.dev/fr/technologies/go/questions-entretien.md) ## 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. ## 19 questions supplémentaires disponibles - Quel package Go est utilisé pour créer un serveur gRPC ? - Comment définir un service gRPC dans un fichier .proto ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Go - [Les bases de Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-basics.md): 25 questions, Junior - [Structures de données Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-data-structures.md): 20 questions, Junior - [Interfaces Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-interfaces.md): 18 questions, Junior - [Gestion des erreurs](https://sharpskill.dev/fr/technologies/go/questions-entretien/error-handling.md): 20 questions, Junior - [Goroutines basiques](https://sharpskill.dev/fr/technologies/go/questions-entretien/goroutines-basics.md): 20 questions, Junior - [Channels](https://sharpskill.dev/fr/technologies/go/questions-entretien/channels.md): 22 questions, Junior - [Go Modules](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-modules.md): 18 questions, Confirmé - [Serveur HTTP](https://sharpskill.dev/fr/technologies/go/questions-entretien/http-server.md): 24 questions, Confirmé - [Client HTTP](https://sharpskill.dev/fr/technologies/go/questions-entretien/http-client.md): 18 questions, Confirmé - [Encodage JSON](https://sharpskill.dev/fr/technologies/go/questions-entretien/json-encoding.md): 20 questions, Confirmé - [Database/SQL](https://sharpskill.dev/fr/technologies/go/questions-entretien/database-sql.md): 22 questions, Confirmé - [Package context](https://sharpskill.dev/fr/technologies/go/questions-entretien/context-package.md): 20 questions, Confirmé - [Testing](https://sharpskill.dev/fr/technologies/go/questions-entretien/testing.md): 22 questions, Confirmé - [Patterns de concurrence](https://sharpskill.dev/fr/technologies/go/questions-entretien/concurrency-patterns.md): 24 questions, Confirmé - [Primitives de synchronisation](https://sharpskill.dev/fr/technologies/go/questions-entretien/sync-primitives.md): 22 questions, Confirmé - [Frameworks web Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-web-frameworks.md): 20 questions, Confirmé - [Design d'API REST](https://sharpskill.dev/fr/technologies/go/questions-entretien/rest-api-design.md): 20 questions, Confirmé - [Reflection](https://sharpskill.dev/fr/technologies/go/questions-entretien/reflection.md): 20 questions, Senior - [Gestion mémoire](https://sharpskill.dev/fr/technologies/go/questions-entretien/memory-management.md): 24 questions, Senior - [Optimisation des performances](https://sharpskill.dev/fr/technologies/go/questions-entretien/performance-optimization.md): 22 questions, Senior - [Generics](https://sharpskill.dev/fr/technologies/go/questions-entretien/generics.md): 20 questions, Senior - [Design Patterns Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/design-patterns.md): 24 questions, Senior - [Microservices](https://sharpskill.dev/fr/technologies/go/questions-entretien/microservices.md): 24 questions, Senior - [Sécurité & Authentication](https://sharpskill.dev/fr/technologies/go/questions-entretien/security-authentication.md): 24 questions, Senior - [Docker & Containerization](https://sharpskill.dev/fr/technologies/go/questions-entretien/docker-containerization.md): 20 questions, Senior - [Kubernetes Basics](https://sharpskill.dev/fr/technologies/go/questions-entretien/kubernetes-basics.md): 22 questions, Senior - [Go Avancé](https://sharpskill.dev/fr/technologies/go/questions-entretien/advanced-go.md): 20 questions, Senior - [Développement CLI](https://sharpskill.dev/fr/technologies/go/questions-entretien/cli-development.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/go/questions-entretien/grpc