> Что такое protobuf и как он используется в gRPC (Go)

Уровень: junior · Роль: backend · Категория: Технические вопросы

Компании: Rubbles

Стек: Go

> Пример ответа

Protobuf (Protocol Buffers) - это бинарный формат сериализации структурированных данных, разработанный Google. Он компактнее и быстрее JSON/XML, так как данные кодируются в бинарном виде, а схема описывается в .proto файлах.

В gRPC protobuf используется как язык определения интерфейсов (IDL) и формат обмена сообщениями. Сначала вы описываете сервис и сообщения в .proto файле, например:

service UserService {
  rpc GetUser (UserRequest) returns (UserResponse);
}
message UserRequest {
  int32 id = 1;
}
message UserResponse {
  string name = 2;
}

Затем компилятор protoc генерирует Go-код: структуры для сообщений и клиент/сервер для gRPC. На стороне сервера вы реализуете интерфейс, на клиенте вызываете методы как обычные функции. Protobuf обеспечивает строгую типизацию, версионирование полей через номера тегов и эффективную передачу данных по сети - это особенно важно для микросервисов на Go, где производительность критична.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью