Go

gRPC

Protocol Buffers, сервіси gRPC, streaming, interceptor'и, обробка помилок, metadata

22 питань зі співбесід·
Mid-Level
1

Що таке gRPC?

Відповідь

gRPC — це RPC-фреймворк (Remote Procedure Call) з відкритим кодом, розроблений Google, який використовує HTTP/2 як транспортний протокол і Protocol Buffers як стандартний формат серіалізації. На відміну від REST, що використовує JSON і HTTP/1.1, gRPC забезпечує кращу продуктивність завдяки бінарному формату Protocol Buffers і розширеним можливостям HTTP/2 (multiplexing, стиснення заголовків, server push). gRPC широко використовується для комунікації між мікросервісами, оскільки нативно підтримує двонапрямлений streaming, генерацію коду клієнта/сервера та сувору типізацію.

2

Яка основна роль Protocol Buffers у gRPC?

Відповідь

Protocol Buffers (protobuf) — це мова визначення інтерфейсу (IDL) і бінарний формат серіалізації, що використовується за замовчуванням у gRPC. Він дозволяє визначати структуру повідомлень і сервісів у файлах .proto, які потім компілюються для автоматичної генерації коду клієнта та сервера різними мовами. Бінарний формат protobuf у 3–10 разів компактніший за JSON і забезпечує значно вищу продуктивність серіалізації/десеріалізації (до 20 разів швидше). Це робить gRPC особливо придатним для високочастотної комунікації між мікросервісами.

3

Яка різниця між викликом gRPC Unary і викликом Server Streaming?

Відповідь

Виклик Unary — це найпростіший тип виклику gRPC: клієнт надсилає один запит і отримує одну відповідь, подібно до класичного HTTP REST-запиту. Виклик Server Streaming дозволяє клієнту надіслати один запит, але отримати потік (stream) із кількох відповідей від сервера. Наприклад, API сповіщень може використовувати Server Streaming, щоб надсилати клієнту кілька оновлень без необхідності опитування (polling). Це зменшує затримку та мережеве навантаження порівняно з повторюваними викликами Unary.

4

Який Go-пакет використовується для створення сервера gRPC?

5

Як визначити сервіс gRPC у файлі .proto?

+19 питань зі співбесід

Опануй Go для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно