Sobes.tech

Golang

Neden değişmek istiyorsun ve diğer şirketleri mi düşünüyorsun?

Middle
4

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

3

Neden 2GIS ile iletişime geçmeye karar verdin? Şirket veya belirli bir pozisyon seni neden cezbetti?

Middle
3

Bir veritabanında eşzamanlı veri erişimiyle hiç çalıştınız mı? Hangi mekanizmaları kullandınız, örneğin işlemler ve kilitler? Bu sorunu veritabanını kullanmadan çözmenin yolları var mı?

Senior
3

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

3

Bunun kodda nasıl ele alındığını anlatın?

Senior
3

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 }

2

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

2

Go'da nesne yönelimli programlama var mı? Evetse, nasıl uygulanıyor; değilse, neden?

Senior
2

Ölçeklendirmeyi nasıl organize ettiniz ve hangi mikroservis mimarileriyle çalıştınız?

Senior
2

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

2

Bir ayrı goroutine'de panic olursa program ne olur?

Senior
2

Yeni bir hizmetin geliştirme ve dağıtım sürecinizi anlatın: gereksinimlerin toplanmasından geliştirme ve test ortamlarına dağıtıma kadar.

Senior
1

Bu verilerin yüklenmesi veya oluşturulması süreci tam olarak nasıl yapılandırıldı?

Senior
1
/419