Sobes.tech

Golang

Heb je ooit gewerkt met gelijktijdige gegevens toegang in een database? Welke mechanismen zoals transacties en locks heb je gebruikt? Zijn er manieren om dit probleem op te lossen zonder de database te betrekken?

Senior
ClearWay
3

// code voor de best() functie // met foutafhandeling voor geen backend beschikbaar

Middle
Яндекс
3

Hoe communiceerde je de vereisten voor het implementeren van een service in Kubernetes aan het DevOps-team: in welk formaat documenteerde je de werking van de service en hoe werd de interactie opgebouwd?

Senior
ClearWay
3

Wat is het verschil tussen methoden met een waarde-ontvanger en een pointer-ontvanger in Go, en wanneer kies je elk?

Senior
ClearWay
3

// code voor de best() functie // met foutafhandeling voor geen backend beschikbaar

Middle
Яндекс
3

// code voor de best() functie // met foutafhandeling voor geen backend beschikbaar

Middle
Яндекс
2

Is er objectgeoriënteerd programmeren in Go? Zo ja, hoe wordt het geïmplementeerd; zo nee, waarom?

Senior
ClearWay
2

Wat is het belangrijkste voor jou in werk?

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

Wat geeft het lezen uit een gesloten kanaal terug?

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

Hoe heb je schaalvergroting georganiseerd en met welke microservice-architecturen heb je gewerkt?

Senior
ClearWay
2

Wanneer treedt een goroutine-lek op?

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

Hoe implementeer je de Status-methode om de taakstatus op te halen op basis van ID?

Middle+
Яндекс
2

Wat gebeurt er met het programma als er in een aparte goroutine een panic optreedt?

Senior
ClearWay
2

Hoe wordt dit in de code afgehandeld?

Senior
ClearWay
2

type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr bevat ip:port van een specifieke instantie func NewBackend(addr string) *BackendImpl type backentry struct { backend Backend inflight int64 } type Balancer struct { backends []*backentry mu *sync.Mutex } var _ Backend = &Balancer{} // addrs bevatten de adressen van alle balanceerbare instanties 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

Hoe verschilt sync.Mutex van sync.RWMutex?

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

Beschrijf je proces van het ontwikkelen en implementeren van een nieuwe service: van het verzamelen van vereisten tot implementatie op ontwikkel- en testomgevingen.

Senior
ClearWay
1

Hoe is de deployment van services uitgevoerd?

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

Implementeer de Queue-methode

Middle+
Яндекс
1

Hoe was het proces van het laden of bouwen van deze gegevens precies gestructureerd?

Senior
ClearWay
1
/419