Golang
Cum se evită condițiile de cursă? Cum funcționează un Mutex?
Cum continui să te dezvolți profesional?
Cum se manifestă absența disponibilității în sistemul CP?
Va fi confortabil să lucrezi cu documentația tehnică în limba engleză?
Ați discutat despre dezvoltare? A fost un plan de dezvoltare?
Vorbește-mi despre procesul de lansare — cum este organizat lansamentul?
Ce se întâmplă la append dacă capacitatea slice-ului nu este suficientă (alocarea unui nou array)?
Lucrezi în prezent la [companie] — cât de relevant este acest lucru și ce te-a determinat să iei în considerare o ofertă nouă?
Ce te interesează acum la un angajator nou? Cum ar arăta experiența de muncă ideală?
Ce ai transmite în interiorul acestui canal (ce structură de date)?
SELECT departament, SUM(salariu) FROM angajați GROUP BY departament HAVING SUM(salariu) > 10000; emails email | utilizator Afișează email și numărul de apariții
Proiectați un sistem de aplicație de șah: matchmaking, crearea sesiunilor de joc și înregistrarea rezultatelor. Indicați serviciile, interacțiunea lor și depozitele de date.
Cum să declanșezi panica atunci când lucrezi cu un canal? Ce se întâmplă în timpul operațiilor cu un canal nil și un canal închis?
Ce proiecte conduci, care sunt sarcinile de nivel superior — ce faci?
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)") } }
Până la ce nivel de analiză au fost descompuse sarcinile?
Ce protocoale de nivel aplicație funcționează peste TCP și UDP?
Ce anume a fost cache-uit și ce reguli de invalidare au fost utilizate?
Cum anume IP rezolvă problema rutării? Cum înțelege routerul unde să trimită pachetul?
Spune-mi despre tine, experiența ta, cum ai ales direcția IT și dezvoltarea, de ce exact Go, cum ai avansat în carieră?