Golang
Da li postoji objektno-orijentisano programiranje u Go? Ako da, kako je implementirano; ako ne, zašto?
Шта је за вас најважније у раду?
Шта враћа читање из затвореног канала?
Како сте организовали скалирање и са којим архитектурама микросервиса сте радили?
Када се дешава цурење goroutine-а?
Kako implementirati metodu Status za dobijanje stanja zadatka po ID?
Kako ste komunicirali zahteve za implementaciju usluge u Kubernetes timu DevOps: u kojem formatu ste dokumentovali rad usluge i kako je izgrađena interakcija?
Шта се дешава са програмом ако се деси паника у посебној goroutine?
Како се ово решава у коду?
Da li među opisanima timovima ili oblastima postoje neki naredbe ili smernice koje vam posebno odjekuju ili koje biste radije izbegli?
Kako je izgledao spor upit za izveštaj i koji je bio celokupni put od zahteva korisnika do dobijanja rezultata?
type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr obsahuje ip:port konkrétneho inštancie func NewBackend(addr string) *BackendImpl type backentry struct { backend Backend inflight int64 } type Balancer struct { backends []*backentry mu *sync.Mutex } var _ Backend = &Balancer{} // addrs obsahujú adresy všetkých vyvažovaných inštancií 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(&bests.inflight){ best = entry } } return best }
Како се разликује sync.Mutex од sync.RWMutex?
Опишите свој процес развоја и распоређивања нове услуге: од прикупљања захтева до распоређивања у развојним и тест окружењима.
Kako je obavljen deployment servisa?
Implementirajte metodu Queue
Kako je tačno strukturiran proces učitavanja ili izgradnje ovih podataka?
Шта ради defer?
Која је сврха буфера канала?
Шта је проблем N+1 у базама података?