Sobes.tech

Golang

Verilənlər bazasında eyni vaxtda məlumatlara giriş ilə işlədinizmi? Hansı mexanizmlər, məsələn, əməliyyatlar və kilidlər, istifadə etdiniz? Bu problemi verilənlər bazasını daxil etmədən həll etmək yolları varmı?

Senior
ClearWay
3

// ən yaxşı() funksiyası üçün kod parçası // backend mövcud olmadıqda xəta idarəetməsi ilə

Middle
Яндекс
3

Kubernetes-də xidməti yerləşdirmək üçün tələbləri DevOps komandasına necə çatdırdınız: xidməti necə sənədləşdirdiniz və qarşılıqlı əlaqə necə quruldu?

Senior
ClearWay
3

Go-da dəyər qəbul edən və göstərici qəbul edən metodlar arasında nə fərq var və hər birini nə vaxt seçmək lazımdır?

Senior
ClearWay
3

// ən yaxşı() funksiyası üçün kod parçası // backend mövcud olmadıqda xəta idarəetməsi ilə

Middle
Яндекс
3

// ən yaxşı() funksiyası üçün kod parçası // backend mövcud olmadıqda xəta idarəetməsi ilə

Middle
Яндекс
2

Go-da obyekt yönümlü proqramlaşdırma mövcuddurmu? Əgər bəli, necə həyata keçirilir; yoxdursa, niyə?

Senior
ClearWay
2

İşdə sizin üçün ən vacib olan nədir?

Senior
ООО Вес Медиа
2

Bağlı kanaldan oxuma nə qaytarır?

Senior
ООО Вес Медиа
2

Miqyaslandırmanı necə təşkil etdiniz və hansı mikroxidmət memariləri ilə işlədiniz?

Senior
ClearWay
2

Goroutine sızması nə vaxt baş verir?

Senior
ООО Вес Медиа
2

ID ilə tapşırığın vəziyyətini almaq üçün Status metodunu necə həyata keçirmək olar?

Middle+
Яндекс
2

Əgər ayrı bir goroutine-də panik baş verərsə, proqram nə olur?

Senior
ClearWay
2

Bunun kodda necə idarə olunduğu necədir?

Senior
ClearWay
2

type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr содержит ip:port конкретной экземпляра func NewBackend(addr string) *BackendImpl type backentry struct { backend Backend inflight int64 } type Balancer struct { backends []*backentry mu *sync.Mutex } var _ Backend = &Balancer{} // addrs содержат адреса всех балансируемых экземпляров 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 }

Middle
Яндекс
1

sync.Mutex ilə sync.RWMutex arasındakı fərq nədir?

Senior
ООО Вес Медиа
1

Yeni xidməti inkişaf etdirmək və yerləşdirmək prosesinizi təsvir edin: tələblərin toplanmasından inkişaf və test mühitlərinə yerləşdirməyə qədər.

Senior
ClearWay
1

Xidmətlərin yerləşdirilməsi necə həyata keçirildi?

Senior
ООО Вес Медиа
1

Queue metodunu həyata keçirin

Middle+
Яндекс
1

Bu məlumatların yüklənməsi və ya qurulması prosesi necə dəqiq qurulmuşdu?

Senior
ClearWay
1
/419