Sobes.tech

Golang

Gibt es objektorientierte Programmierung in Go? Wenn ja, wie wird sie implementiert; wenn nein, warum nicht?

Senior
ClearWay
2

Was ist dir bei der Arbeit am wichtigsten?

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

Was gibt das Lesen aus einem geschlossenen Kanal zurück?

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

Wie hast du die Skalierung organisiert und mit welchen Microservice-Architekturen hast du gearbeitet?

Senior
ClearWay
2

Wann tritt ein Goroutine-Leak auf?

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

Wie implementiert man die Methode Status, um den Status der Aufgabe anhand der ID zu erhalten?

Middle+
Яндекс
2

Wie haben Sie die Anforderungen für den Einsatz eines Dienstes in Kubernetes an das DevOps-Team kommuniziert: in welchem Format haben Sie den Betrieb des Dienstes dokumentiert und wie wurde die Interaktion aufgebaut?

Senior
ClearWay
2

Was passiert mit dem Programm, wenn in einer separaten Goroutine ein Panic auftritt?

Senior
ClearWay
2

Wie wird das im Code gehandhabt?

Senior
ClearWay
2

Gibt es Befehle oder Anweisungen unter den beschriebenen Teams oder Bereichen, die besonders bei dir Anklang finden oder die du lieber nicht machen würdest?

Middle
2gis2gis
2

Wie sah eine langsame Berichtabfrage aus und was war der gesamte Weg vom Benutzerantrag bis zum Erhalt des Ergebnisses?

Senior
ClearWay
2

type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr enthält ip:port einer spezifischen Instanz func NewBackend(addr string) *BackendImpl type backentry struct { backend Backend inflight int64 } type Balancer struct { backends []*backentry mu *sync.Mutex } var _ Backend = &Balancer{} // addrs enthalten die Adressen aller balancierbaren Instanzen 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

Worin besteht der Unterschied zwischen sync.Mutex und sync.RWMutex?

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

Beschreiben Sie Ihren Prozess der Entwicklung und Bereitstellung eines neuen Dienstes: vom Anforderungsmanagement bis zum Einsatz in Entwicklungs- und Testumgebungen.

Senior
ClearWay
1

Wie wurde die Bereitstellung der Dienste durchgeführt?

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

Implementieren Sie die Methode Queue

Middle+
Яндекс
1

Wie genau war der Prozess des Ladens oder Erstellens dieser Daten strukturiert?

Senior
ClearWay
1

Was macht defer?

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

Wozu dient ein Puffer für einen Kanal?

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

Was ist das N+1-Problem in Datenbanken?

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