Go

gRPC

Protocol Buffers, gRPC servisleri, streaming, interceptor'lar, hata yönetimi, metadata

22 mülakat soruları·
Mid-Level
1

gRPC nedir?

Cevap

gRPC, Google tarafından geliştirilen, transport protokolü olarak HTTP/2 ve varsayılan serileştirme formatı olarak Protocol Buffers kullanan açık kaynaklı bir RPC (Remote Procedure Call) framework'üdür. JSON ve HTTP/1.1 kullanan REST'ten farklı olarak gRPC, Protocol Buffers'ın ikili formatı ve HTTP/2'nin gelişmiş özellikleri (multiplexing, header sıkıştırma, server push) sayesinde daha iyi performans sunar. gRPC, çift yönlü streaming'i, client/server kod üretimini ve güçlü tip kullanımını natif olarak desteklediği için microservice'ler arası iletişimde yaygın olarak kullanılır.

2

gRPC'de Protocol Buffers'ın temel rolü nedir?

Cevap

Protocol Buffers (protobuf), gRPC'de varsayılan olarak kullanılan arayüz tanımlama dili (IDL) ve ikili serileştirme formatıdır. Mesaj ve servis yapılarını .proto dosyalarında tanımlamayı sağlar; bu dosyalar daha sonra farklı dillerde otomatik olarak client ve server kodu üretmek için derlenir. protobuf'un ikili formatı JSON'dan 3 ila 10 kat daha kompakttır ve önemli ölçüde üstün serileştirme/serisini çözme performansı sunar (20 kata kadar daha hızlı). Bu, gRPC'yi microservice'ler arasındaki yüksek frekanslı iletişim için özellikle uygun kılar.

3

Unary bir gRPC çağrısı ile Server Streaming çağrısı arasındaki fark nedir?

Cevap

Unary çağrısı en basit gRPC çağrı türüdür: client tek bir istek gönderir ve tek bir yanıt alır; bu, klasik bir HTTP REST isteğine benzer. Server Streaming çağrısı, client'ın tek bir istek göndermesine ancak sunucudan birden çok yanıttan oluşan bir akış (stream) almasına olanak tanır. Örneğin bir bildirim API'si, client'ın polling yapmasına gerek kalmadan birden çok güncelleme göndermek için Server Streaming kullanabilir. Bu, tekrarlanan Unary çağrılarına kıyasla gecikmeyi ve ağ yükünü azaltır.

4

gRPC sunucusu oluşturmak için hangi Go paketi kullanılır?

5

Bir .proto dosyasında gRPC servisi nasıl tanımlanır?

+19 mülakat soruları

Bir sonraki mülakatın için Go'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla