Sobes.tech

Golang

Hangi veritabanları veya diğer veri depolama alanlarıyla çalıştın? Yazma ve okuma için saniyede kaç istek (RPS)?

122

Dağıtık sistemlerin geliştirilmesi ve desteklenmesi konusunda deneyiminiz var mı?

122

Depolanan en büyük veri hacmi neydi?

119

En yüksek yükteki hizmetin işlediği maksimum istek sayısı nedir? Doğru mu ki bu 5–8 bin istek/saniye civarında?

118

Hangi veritabanları ve diğer veri depolama sistemleriyle çalıştınız?

116

Görevler ve kariyer vektörü açısından hangi yönde gelişmekle ilgilenirsiniz?

108

Neden yeni teklifleri değerlendiriyorsunuz ve neden önceki şirketinizi bıraktınız?

106

// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile

96

// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile

96

// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile

94

// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile

92

Sonuç kanalını kim okur ve ardından sonucu nereye yazar ki Status yöntemi ona erişebilsin?

90

type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr belirli bir örneğin ip:port adresini içerir func NewBackend(addr string) *BackendImpl type backentry struct { backend Backend inflight int64 } type Balancer struct { backends []*backentry mu *sync.Mutex } var _ Backend = &Balancer{} // addrs, tüm dengeleme yapılabilir örneklerin adreslerini içerir func NewBalancer(addrs []string) *Balancer { data := make([]*backentry,len(addrs)) for i,addr := range addrs{ data[i] = &backentry{ backend: NewBackend(addr), inflight: 0, } } return &Balancer{backends:data} } func(b *Balancer)Invoke(ctx context.Context, req Request) (Response, error){ b.mu.Lock() entry := b.best() atomic.AddInt64(&entry.inflight,1) b.mu.Unlock() defer atomic.AddInt64(&entry.inflight,-1) return entry.backend.Invoke(ctx,req) } func(b *Balancer) best() *backentry{ var best *backentry for _,entry := b.backends{ if best == nil || atomic.LoadInt64(&entry.inflight) < atomic.LoadInt64(&best.inflight){ best = entry } } return best }

88

Hizmet kaç ana bilgisayar veya örnekte çalışıyordu? Kaç konteyner başlatıldı?

88

// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile

87

ID ile görevin durumunu almak için Status metodunu nasıl uygulayabilirsiniz?

74

// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile

67

// en iyi arıyoruz -- ??? // bulunamazsa, inflight ile karşılaştır

54
/11