Go

gRPC

Protocol Buffers, dịch vụ gRPC, streaming, interceptor, xử lý lỗi, metadata

22 câu hỏi phỏng vấn·
Mid-Level
1

gRPC là gì?

Câu trả lời

gRPC là một framework RPC (Remote Procedure Call) mã nguồn mở do Google phát triển, sử dụng HTTP/2 làm giao thức truyền tải và Protocol Buffers làm định dạng serialization mặc định. Khác với REST sử dụng JSON và HTTP/1.1, gRPC mang lại hiệu năng tốt hơn nhờ định dạng nhị phân của Protocol Buffers và các tính năng nâng cao của HTTP/2 (multiplexing, nén header, server push). gRPC được sử dụng rộng rãi cho giao tiếp giữa các microservice vì nó hỗ trợ nguyên bản streaming hai chiều, sinh mã client/server và kiểu dữ liệu được định kiểu chặt chẽ.

2

Vai trò chính của Protocol Buffers trong gRPC là gì?

Câu trả lời

Protocol Buffers (protobuf) là ngôn ngữ định nghĩa giao diện (IDL) và định dạng serialization nhị phân được dùng mặc định trong gRPC. Nó cho phép định nghĩa cấu trúc của các message và dịch vụ trong các file .proto, sau đó được biên dịch để tự động sinh mã client và server trong nhiều ngôn ngữ khác nhau. Định dạng nhị phân của protobuf nhỏ gọn hơn JSON từ 3 đến 10 lần và mang lại hiệu năng serialization/deserialization vượt trội đáng kể (nhanh hơn tới 20 lần). Điều này khiến gRPC đặc biệt phù hợp cho giao tiếp tần suất cao giữa các microservice.

3

Sự khác biệt giữa một lệnh gọi gRPC Unary và một lệnh gọi Server Streaming là gì?

Câu trả lời

Lệnh gọi Unary là loại lệnh gọi gRPC đơn giản nhất: client gửi một request duy nhất và nhận một response duy nhất, tương tự một request HTTP REST cổ điển. Lệnh gọi Server Streaming cho phép client gửi một request duy nhất nhưng nhận một luồng (stream) gồm nhiều response từ server. Ví dụ, một API thông báo có thể dùng Server Streaming để gửi nhiều cập nhật cho client mà không cần client phải polling. Điều này giảm độ trễ và tải mạng so với các lệnh gọi Unary lặp lại.

4

Package Go nào được dùng để tạo một server gRPC?

5

Làm thế nào để định nghĩa một dịch vụ gRPC trong file .proto?

+19 câu hỏi phỏng vấn

Nắm vững Go cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí