```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
Պատմիր ինձ ավելի մանրամասն հաշվետվության արագության օպտիմալացման պատմության մասին՝ ինչ արեցիր, ինչի հետ բախվեցիր, ինչ դժվարություններ եղան, ինչպես լուծեցիր?
Որտե՞ղ է ավելի լավ հայտարարել ինտերֆեյսը՝ իրականացման վայրում թե սպառման վայրում։
Կարճ ասա քեզ մասին
Պատմիր քո փորձի, հետաքրքիր առաջադրանքների, ինչի վրա սիրում ես աշխատել, ինչի համար հպարտ ես։
100 գորուտիների ելքի հաջորդականությունը ամեն անգամ նույնը կլինի՞: Դա ինչից է կախված?
Ինչպես օպտիմալացնել ծանր վերլուծական SQL հարցումը մեծ արտադրական բազայում?
Ենթադրենք, գործառույթը Go տարբերակ 1.18-ում է: Ի՞նչ փոփոխություններ կկատարվեն ծրագրի վարքագծում:
Ի՞նչ տարբերություն կա ClickHouse-ի MergeTree, ReplicatedMergeTree և Distributed շարժիչների միջև։
Դու գիտե՞ս Kubernetes-ի ճարտարապետությունը, ինչպիսի՞ միավորներ կան, ինչ է control plane-ը։
Եթե դուք առաջարկեք ճարտարապետական լուծում, բայց տեխնիկական ղեկավարն իր հետ համաձայն չէ և դուք վստահ եք, որ ճիշտ եք, ինչ করবেন?
Ինչպես է աշխատում մոդերացիայի համակարգը արգելված բովանդակության, այդ թվում՝ նման պատկերների որոշման համար?
Ինչպե՞ս է հնարավոր միաժամանակ մի քանի առանձնացված միջավայրեր գործարկել մեկ տեղական մեքենայում (Docker/կոնտեյներիզացիա):
Ինչո՞վ է հաջողվել կրճատել գործողությունների մշակման ժամանակը 120-ից մինչև 5 վայրկյան:
```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") } ```
Եթե ուղղենք wg (ցույցատու փոխանցել) բագը՝ ինչ կտեսնենք ծրագրի մեկնարկին՝ էկրանին?
Ինչպես ապահովել, որ հինգերորդ տողում, որը ավելացվել է append-ով, նույնպես տեսանելի լինի: Չփոխելով fill ֆունկցիայի ստորագրությունը։