Sobes.tech

Golang

Vorbește despre blocajele pesimiste și optimiste

Middle
Small
73

Cum se implementează partea inversă — modelul Inbox pe partea serviciului de notificări? Cum se asigură idempotenta procesării evenimentelor?

Senior
ИП Ганус Александр Андреевич
73

La ce folosește simbolul de subliniere la importul pachetelor?

Senior
amoCRMamoCRM
73

Ce este un deadlock și o condiție de cursă, cum se combate?

Middle
VKVK
73

Reține o situație din experiența ta anterioară în care ai văzut că o soluție arhitecturală propusă de liderul de echipă sau arhitect nu era optimă. Ce ai făcut într-o astfel de situație? Ți-ai apărat punctul de vedere într-un fel sau altul?

Senior
АЭРО
73

Cum folosești rețelele neuronale în muncă?

Middle+
МВидео/эльдорадо
73

Îmbunătățește soluția pentru top-10 în fiecare namespace, ținând cont că serviciile pot fi în diferite clustere, dar în același namespace (trebuie consolidate)

Middle+
X5 groupX5 group
73

Toate documentele sunt în ordine (carte de identitate, documente oficiale)?

Senior
SberAuto
73

Spuneți-mi mai multe despre serviciul antifraudă: cu ce v-ați ocupat, pentru ce ați fost responsabili?

Senior
ClearWay
73

func (p *Pool) Stop() { p.mu.Unlock() // Acum este sigur să închidem canalul close(p.tasks) // semnal către lucrători: nu vor mai fi sarcini noi, citiți restul p.wg.Wait() // așteptăm finalizarea tuturor goroutine-urilor p.cancel() // anulăm contextul, dacă e cazul fmt.Println("Pool oprit.") } // ForceStop oprește forțat toți lucrătorii fără a aștepta finalizarea sarcinilor. // Lucrătorii vor fi întrerupți imediat prin intermediul contextului. func (p *Pool) ForceStop(timeout time.Duration) { fmt.Printf("Oprire forțată a pool-ului (timeout: %v)...\n", timeout) // Blochează adăugarea de sarcini noi p.mu.Lock() p.isOpen = false p.mu.Unlock() // Închide canalul pentru ca lucrătorii să nu mai ia sarcini noi close(p.tasks) // Anulează contextul – acest lucru va întrerupe toate sarcinile în curs p.cancel() // Oferă un timp limitat pentru finalizare done := make(chan struct{}) go func() { p.wg.Wait() close(done) }() select { case <-done: fmt.Println("Pool oprit forțat (toți lucrătorii au fost terminați)") case <-time.After(timeout): fmt.Println("Pool oprit forțat (timeout, pot rămâne goroutine suspendate)") } }

Senior
Pasul LTD
73

De la ce sumă luați în considerare oferta în ceea ce privește salariul?

Senior
ВкусВиллВкусВилл
73

A fost sosită o livrare în depozit, apoi au fost încărcate 5 bucăți din depozit în camion. Cum va decurge fluxul în sistemul de informații?

Senior
МВидеоМВидео
73

Ce se întâmplă cu datele la DELETE în PostgreSQL?

Senior
А7
73

Spune-mi despre ultima ta experiență de muncă, stiva tehnologică și realizări

Senior
Магнит Тех
73

La ce serve contextul? Cum a fost folosit în practică?

Senior
А7
73

Ce este pattern-ul Singleton? Este un pattern sau un antipattern?

Middle
Сбертех
73

Poți gestiona o panică într-unul dintre deferi?

Senior
МВидео/эльдорадо
73

A fost nevoie să scrieți noi microservicii de la zero pentru o funcționalitate nouă?

Senior
Hi Rockits
73

De ce se folosește segmentio/kafka-go, este o bibliotecă sau două? Cum funcționează producerul și consumerul?

Senior
Uzum
73

Explică de ce și care (în legătură cu ieșirea codului)

Senior
Холодильник.руХолодильник.ру
73
/412