```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
Pastāsti vairāk par ziņojuma ātruma optimizācijas stāstu: ko darīji, ar ko saskāries, kādas bija grūtības, kā tās risināji?
Kur ir labāk deklarēt saskarni — īstenošanas vietā vai lietošanas vietā?
Pastāsti par savu pieredzi, interesantajiem uzdevumiem, ar ko tev patīk strādāt, ar ko lepojies.
Vai 100 gorutīnu izvades secība būs vienāda katrā palaišanā? No kā tas ir atkarīgs?
Pastāsti par sevi īsi
Pieņemsim, ka uzdevums ir Go versijā 1.18. Kas mainīsies programmas uzvedībā?
Vai tu zini Kubernetes arhitektūru, kādas vienības ir, kas ir control plane?
Kāda ir atšķirība starp MergeTree, ReplicatedMergeTree un Distributed dzinējiem ClickHouse?
Kā optimizēt smagu analītisko SQL vaicājumu lielā ražošanas datu bāzē?
Ko jūs darītu, ja ierosinātu arhitektūras risinājumu, bet tehniskais vadītājs ar jums nepiekrīt un jūs būtu pārliecināts, ka jums ir taisnība?
Kā darbojas moderācijas sistēma aizliegtam saturam, tostarp līdzīgu attēlu noteikšanai?
Kā ir iespējams palaist vairākus izolētus vidi vienā lokālajā datorā (Docker/konteinerizācija)?
Ja labojam kļūdu ar wg (norādes nodošana), ko redzēsim ekrānā, palaidot programmu?
Kā nodrošināt, lai piektajā rindā, kur pievienots ar append, būtu redzama arī vienība? Nemainot fill funkcijas parakstu.
```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") } ```
Kā izdevās samazināt operāciju apstrādes laiku no 120 līdz 5 sekundēm?