Sobes.tech

Golang

Mai mulți consumatori din același grup de consumatori pot citi aceeași partiție în același timp?

Middle+
А7
34

Ce microservicii ai dezvoltat?

Middle+
Штрафов нет
34

Ai lucrat întotdeauna ca outsourcing/outstaff?

Middle
МВидеоМВидео
34

Ce sunt goroutine-urile în Go și în ce diferă de firele de sistem?

Middle
VKVK
34

De ce ai alege un canal în loc de WaitGroup/errgroup? Cu ce este mai rău errgroup?

Middle
Aliexpress
34

// Scrieți un handler asincron de sarcini ca bibliotecă // Clientul transmite un obiect (Task) cu date pentru executarea sarcinii, // în exemplul nostru vom folosi o structură goală. // Handler-ul poate procesa nu mai mult de N sarcini simultan, // și nu mai mult de X sarcini pot fi puse în coadă pentru procesare. // Dacă nu există loc în coadă, se returnează imediat o eroare clientului. // Sarcina este preluată în procesare dacă există procesatoare libere. // Simulăm durata procesării cu time.Sleep(5*time.Second). // De îndată ce o sarcină s-a finalizat, luăm următoarea din coadă. // Dacă coada este goală, așteptăm sarcini noi de la clienți. // Cu un asterisc: completați structura Task și obțineți starea sarcinilor printr-o solicitare separată package scheduler type Scheduler interface { AddTask(t Task) error Close() } type Task interface { Do() }

Senior
Cloud.ru
34

De ce a apărut necesitatea de a reduce alocările: a fost o solicitare a afacerii sau o inițiativă proprie a echipei?

Senior
А7
34

Poți rescrie construcția de trimitere a sarcinilor folosind range?

Senior
Магнум
34

Povestește despre experiența ta profesională într-o formă liberă, fără detalii tehnice aprofundate.

Senior
FaceApp
34

Câtă experiență comercială ai în Go?

Middle+
Штрафов нет
34

Doriți muncă de la distanță full-time sau sunteți, de asemenea, dispus să luați în considerare opțiuni cu birou?

Senior
АЙ-ТЕКОАЙ-ТЕКО
34

De ce cauți un nou loc de muncă, ce vrei să schimbi?

Senior
Cloud Advisor
34

Luați în considerare activ ofertele? Există etape finale?

Senior
YadroYadro
34

Redis era în toate cele trei centre de date?

Middle
Aliexpress
34

Explică ce este câmpul inventory_code (cod) din tabelul de cărți, ce reprezintă?

Middle
Ozon FreshOzon Fresh
34

În limbajul Go, există goroutines — fire ușoare. Poți explica cum înțelegi când trebuie să folosești o goroutine și când nu?

Middle
Aliexpress
34

Spune-mi despre ultimul tău proiect.

Senior
FREEDOM LIFESTYLE
34

Ce faci dacă termenul limită a trecut și apoi apare o bug critic în producție?

Senior
VK Live
34

De ce ai folosit sync.Map în loc de o hartă normală cu Mutex?

Senior
РамблерРамблер
34

func main() { c := make(chan int, 1000) for i := 0; i < 100; i++ { go foo(c) } sum := 0 for r := range c { sum += r } fmt.Println(sum) } func foo(c chan int) { r := rand.Int() for i := 0; i < r; i++ { c <- r } } --- func main() { c := make(chan int, 1000) var wg sync.WaitGroup wg.Add(100) for i := 0; i < 100; i++ { go func() { defer wg.Done() foo(c) }() } go func() { wg.Wait() close(c) }() sum := 0 for r := range c { sum += r } // // fmt.Println(sum) } func foo(c chan int) { r := rand.Int() for i := 0; i < r; i++ { c <- r } }

Senior
plata
34
/412