Čo ste robili s neplatnými správami po ručnej spracovaní? Ako to vyzeralo technicky?
Golang
Povedz o konkurenčnom spracovaní — ako obmedzili paralelizmus, ako vyberali parametre na základe meraní?
Čo sa stane, ak vykonáte ďalšie matematické operácie s pretečeným výsledkom int32 — bude to chyba, panika alebo niečo iné?
Čo je v balíčku sync?
Ešte stále pracuješ v Magnite? Prečo si sa rozhodol vstúpiť na trh?
Rozprávaj o CTE — WITH, poddotazoch, ktoré sa prekrývajú.
Rozprávaj o Kubernetes — čo si robil so zhlukom?
Čo je rozdiel medzi SQL a NoSQL?
Vytvorili ste historické tabuľky — napríklad pre používateľa, kde je uložená história zmien jeho atribútov?
Ešte stále pracujete v Magnite? Prečo ste sa rozhodli vstúpiť na trh?
Ako si optimalizoval dopyty z 10-20 minút na 5-7? Aké správy sa vykonávali tak dlho?
Keď nedokážeme zachytiť paniku, zatvorí sa aplikácia tak či tak?
Museli ste explicitne nastaviť úroveň izolácie v kóde?
Bolo veľa takýchto neplatných správ?
// Otázka 5. Čo sa zobrazí na obrazovke func main() { ch := make(chan int, 5) for i := 1; i <= 5; i++ { ch <- i } for true { fmt.Println(<-ch) } }
// Otázka 2. Čo sa zobrazí na obrazovke package main import "fmt" func main() { { defer fmt.Println(1) } defer fmt.Println(2) }
// Otázka 3. Čo sa zobrazí na obrazovke package main import "fmt" import "math" func main() { i := int32(math.Pow(2, 64)) - 1 fmt.Println(i) }
Čo sa robilo so správami po ručnom spracovaní? Aké boli možnosti?
Čo sa dialo v prvom kanale synchronizácie? Je to nejaký model dát, na základe ktorého sa obohacovali?
Kde je treba definovať recover, aby sa v prípade paniky aplikácia nezrútila, vzhľadom na to, že má viacero endpointov, veľa závislostí (DB, cache, knižnice)?