Golang
Kaip įvertintum savo lygį: middle, middle+? Ko trūksta iki senior?
Kaip sukelti paniką dirbant su kanalu? Kas vyksta su operacijomis su nil-kanalu ir uždaru kanalu?
Kaip tai padaryti Go lygyje — idėjiniu būdu, kad siųsti atsakymą vartotojui ir tuo pačiu siųsti duomenis analitikai?
func (p *Pool) Stop() { p.mu.Unlock() // Dabar saugu yra uždaryti kanalą close(p.tasks) // signalas darbuotojams: naujų užduočių nebus, skaitykite likusį p.wg.Wait() // laukiame, kol visi gorutinai baigsis p.cancel() // atšaukia kontekstą, jei reikia fmt.Println("Pool sustabdytas.") } // ForceStop priverstinai sustabdo visus darbuotojus be laukimo, kol užduotys bus baigtos. // Darbuotojai bus nedelsiant nutraukti per kontekstą. func (p *Pool) ForceStop(timeout time.Duration) { fmt.Printf("Priverstinis pulo sustabdymas (laiko limitas: %v)...\n", timeout) // Blokuoja naujų užduočių pridėjimą p.mu.Lock() p.isOpen = false p.mu.Unlock() // Uždaro kanalą, kad darbuotojai neimtų naujų užduočių close(p.tasks) // Atšaukia kontekstą – tai nutrauks visas vykdomas užduotis p.cancel() // Suteikia ribotą laiką užbaigimui done := make(chan struct{}) go func() { p.wg.Wait() close(done) }() select { case <-done: fmt.Println("Pool priverstinai sustabdytas (visi darbuotojai baigė)") case <-time.After(timeout): fmt.Println("Pool priverstinai sustabdytas (laiko limitas, gali likti pakabintų goroutine)") } }
Kokie taikomosios programos sluoksnio protokolai veikia virš TCP ir UDP?
Kas yra replikacija, shardingas ir particionavimas?
tipas Sem sąsaja { Lock() error //grąžina klaidą, jei kanalas pilnas TryLock() bool // tiesiog bandome užrakinti, jei pavyksta, grąžina true Release() //atlaisvinti kanalą Cap() int // darbo gorutinų skaičius FreeSpace() int //parodo, kiek laisvos vietos kanale } //struktūra //channel - galvoti apie buferį //capacity int //mutex
Kiek turi komercinės patirties Go?
Papaskink apie save, savo patirtį, kaip pasirinkote IT kryptį ir plėtrą, kodėl būtent Go, kaip progresavote karjeroje?
Kas yra zombių procesai ir kaip su jais kovoti?
Kas yra ACID? Paaiškinkite kiekvieną savybę.
Kodėl nebuvo galima visko sukurti naudojant ClickHouse ir paprasčiausiai parodyti metrikas per paslaugą frontend'e?
Papaskokite apie komandą ir darbo metodologiją.
Aprašykite reikalavimus Python + OpenGL programai objektų morfingui su slankikliu.
Ar dirbote su AST medžiais Go? Kokius trūkumus matote dabartinėje įgyvendinime?
Papaskinkite apie paskutinį nesėkmę (gamybos incidentą) — kaip rado, kaip sprendė, kas sprendė
Kaip dirbsite su dviem modeliais Blender programoje, jei jų niekada nenaudojote?
Kokios problemos gali kilti naudojant trigerius?
Kaip struktūruoti podai Kubernetes? Kokiose technologijose yra izolacija? Kokius namespace tipus žinote?
Agregatas visada veikia vienos operacijos lygyje. Kas dar svarbu žinoti apie agregatus DDD?