```go func main() { wg := sync.WaitGroup{} for i := 0; i < 10; i++ { wg.Add(1) go func(wg sync.WaitGroup) { defer wg.Done() fmt.Println(i) }(wg) } wg.Wait() fmt.Println("some text") time.Sleep(1 * time.Minute) fmt.Println("some text2") } ```
Golang
Povej mi več o zgodbi z optimizacijo hitrosti poročila: kaj si počel, s čim si se srečeval, kakšne so bile težave, kako si jih rešil?
Kde je lepšie deklarovať rozhranie — na mieste implementácie alebo na mieste použitia?
Povedaj mi o svoji izkušnji, zanimivih nalogih, na čem radostiš, na šta si ponosan.
Bude sekvenca výstupu 100 gorutín pri každom spustení rovnaká? Od čoho to závisí?
Povedz mi niečo o sebe v krátkosti
Predpokladajme, že úloha je v verzi Go 1.18. Čo sa zmení v správaní programu?
Ako optimalizovať ťažký analytický SQL dopyt na veľkej produkčnej databáze?
Aký je rozdiel medzi motormi MergeTree, ReplicatedMergeTree a Distributed v ClickHouse?
Poznáš architektúru Kubernetes, aké entity existujú, čo je control plane?
Čo by si urobil, keby si navrhol architektonické riešenie, ale technický vedúci s tebou nesúhlasí a ty si presvedčený, že máš pravdu?
Ako funguje systém moderácie na identifikáciu zakázaného obsahu, vrátane podobných obrázkov?
Ako je možné spustiť viac izolovaných prostredí na jednom lokálnom počítači (Docker/kontajnerizácia)?
Čo uvidíme na obrazovke pri spustení programu, ak opravíme chybu s wg (odovzdanie ukazovateľa)?
Ako zabezpečiť, aby na piatej riadku bola viditeľná aj jednotka, ktorá bola pridaná cez append? Bez zmeny podpisu funkcie fill.
```go func main() { wg := sync.WaitGroup{} wg.Add(8) for i := 0; i < 10; i++ { go func(wg *sync.WaitGroup, i int) { defer wg.Done() fmt.Println(i) }(&wg,i) } wg.Wait() fmt.Println("some text") time.Sleep(1 * time.Minute) fmt.Println("some text2") } ```
Čím sa podarilo skrátiť čas spracovania operácií z 120 na 5 sekúnd?