Golang
Jak zastavit běh gorutiny?
Jak funguje profilování?
Co vás teď motivuje hledat novou práci?
Otázka 1: Co zobrazí kód se slices? (append, kapacita, sdílené základní pole)
Povězte o strategiích shardování databází: kdy začít shardovat a podle jakých kritérií vybírat klíč shardování?
Máte zkušenosti s Dockerem? Máte zkušenosti s psaním Dockerfile sami?
Co je SOLID? Uveďte principy.
Pověz mi o týmu a procesech řízení (sprinty, kanban atd.)
Kolik máte celkových zkušeností v IT v komerční oblasti?
Co je to nil rozhraní? Co je pod kapotou?
Kolik času je potřeba na odpracování?
Jak nasazujete: Kubernetes, bare metal nebo cloud?
// Otázka 3 // Popište, jaký úkol tento kód řeší // Jaké problémy jsou v tomto řešení? // Jak byste tento kód přepsali? var c int var mu sync.RWMutex type Trace struct { // Některá pole zde } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { mu.Lock() defer mu.Unlock() c++ if c == 100 { go func() { sender.Send(tr) }() c = 0 } }
Co se stane, pokud předáte slice jako argument funkce a změníte ho uvnitř?
Pokud přidáváme mnoho konzumentů, ale zpoždění Kafka se stále nesnižuje, co to svědčí?
Jaké nástroje používáte k hodnocení výkonu a profilování při vývoji aplikace v Go?
Jak řešit situaci, kdy všech 5 gorutin najednou vidí prázdný cache a jdou do databáze (cache stampede)?
Proč je vhodné, aby počet shardů byl mocninou dvojky, například ne třetí?
Jaké konkrétní technologické výhody a ekosystémy Go, případně unikátní, které pouze Go splňuje, byste mohl uvést?
Pověz mi o své současné práci ve Wildberries — jaká je to platforma, jaký máš tým, čím ses zabýval?