Встречается на собеседованиях • сегодня

Что такое gRPC

gRPC — это современный фреймворк для удалённого вызова процедур (RPC), разработанный Google. Он использует Protocol Buffers (protobuf) как язык описания интерфейсов и бинарный формат для передачи данных, что делает его более эффективным по сравнению с REST/JSON.

Ключевые особенности:

  • Работает поверх HTTP/2 (мультиплексирование, потоковая передача).
  • Поддерживает несколько языков (Python, Go, Java и др.).
  • Генерация клиентского и серверного кода из .proto-файлов.
  • 4 типа взаимодействия: унарный, серверный поток, клиентский поток, двунаправленный поток.

Пример (Python):

  1. Описание сервиса в example.proto:
proto
service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply);
}
message HelloRequest { string name = 1; }
message HelloReply { string message = 1; }
  1. Генерация кода:
bash
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. example.proto
  1. Реализация сервера:
python
class Greeter(example_pb2_grpc.GreeterServicer):
    def SayHello(self, request, context):
        return example_pb2.HelloReply(message=f"Hello, {request.name}!")

Плюсы: высокая производительность, строгая типизация. Минусы: сложнее отладки, чем REST.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы