Go

gRPC

Protocol Buffers, layanan gRPC, streaming, interceptor, penanganan error, metadata

22 pertanyaan wawancaraยท
Mid-Level
1

Apa itu gRPC?

Jawaban

gRPC adalah framework RPC (Remote Procedure Call) open-source yang dikembangkan oleh Google yang menggunakan HTTP/2 sebagai protokol transport dan Protocol Buffers sebagai format serialisasi default. Berbeda dengan REST yang menggunakan JSON dan HTTP/1.1, gRPC menawarkan performa yang lebih baik berkat format biner Protocol Buffers dan fitur lanjutan HTTP/2 (multiplexing, kompresi header, server push). gRPC banyak digunakan untuk komunikasi antar microservice karena secara native mendukung streaming dua arah, generasi kode client/server, dan tipe yang ketat.

2

Apa peran utama Protocol Buffers dalam gRPC?

Jawaban

Protocol Buffers (protobuf) adalah Interface Definition Language (IDL) dan format serialisasi biner yang digunakan secara default dalam gRPC. Ia memungkinkan pendefinisian struktur pesan dan layanan dalam file .proto, yang kemudian dikompilasi untuk menghasilkan kode client dan server secara otomatis dalam berbagai bahasa. Format biner protobuf 3 hingga 10 kali lebih ringkas daripada JSON dan menawarkan performa serialisasi/deserialisasi yang jauh lebih unggul (hingga 20 kali lebih cepat). Ini membuat gRPC sangat cocok untuk komunikasi frekuensi tinggi antar microservice.

3

Apa perbedaan antara panggilan gRPC Unary dan panggilan Server Streaming?

Jawaban

Panggilan Unary adalah tipe panggilan gRPC paling sederhana: client mengirim satu permintaan dan menerima satu respons, mirip dengan permintaan HTTP REST klasik. Panggilan Server Streaming memungkinkan client mengirim satu permintaan tetapi menerima aliran (stream) beberapa respons dari server. Misalnya, API notifikasi dapat menggunakan Server Streaming untuk mengirim beberapa pembaruan ke client tanpa client harus melakukan polling. Ini mengurangi latensi dan beban jaringan dibandingkan panggilan Unary berulang.

4

Package Go mana yang digunakan untuk membuat server gRPC?

5

Bagaimana cara mendefinisikan layanan gRPC dalam file .proto?

+19 pertanyaan wawancara

Kuasai Go untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis