ხშირად გჭირდებათ გორუტინებთან მუშაობა თქვენს სამუშაოში?
Golang
რა ტიპის ურთიერთგამორიცხვები (Mutex) არის განხორციელებული Go-ს სტანდარტულ ბიბლიოთეკაში?
რა არ გსურს ახალი სამუშაო ადგილზე ნახო?
გოლანგში slices-თან მუშაობის შესახებ ისაუბრე: როგორ მუშაობს capacity, length და რა მოხდება საზღვრის გადალახვისას.
როგორ გადაეცემა სლაისი ფუნქციას პროგრამირების ენაში?
რა არის GOMAXPROCS და რამდენი გორუტინები იმუშავებს პარალელურად 1000-დან?
რამდენი მიკროჟერვისი დაწერეთ კომპანიაში მუშაობის დროს?
გააზიარეთ მონაცემთა ბაზის მოთხოვნების ტექნიკური ოპტიმიზაციის შესახებ.
არსებობს თუ არა იპ ან სხვა იურიდიული პირების ფორმები?
გთხოვთ, თქვენი გამოცდილების შესახებ ისაუბროთ, რა საქმიანობით გქონდათ, რომელ პროექტზე მუშაობდით და რა როლს ასრულებდით?
// კოდი რა გამოიტანს? func main() { var wg sync.WaitGroup for i := 0; i < 3; i++ { go func() { wg.Add(1) defer wg.Done() fmt.Print(i) }() } wg.Wait() fmt.Println("\ndone") }
რა არის EXPLAIN ოპერატორის როლი SQL-სა და მონაცემთა ბაზაში?
როგორ გაუქმოთ ბილეთი დროის გასვლის შემდეგ (5 წუთი)?
აირჩიე განყოფილება, ხელფასის ჯამი თანამშრომლიდან სადაც ჯამი ხელფასი > 10000 გაერთიანება განყოფილებით;
გააზიარეთ თქვენი ბოლო პროექტი, რომლისთვისაც გიხართ.
რომელი დავალებები მოგწონს ყველაზე მეტად და რომელები ნაკლებად?
რა ტიპის სართულოვანი არქიტექტურები არსებობს? (Clean Architecture, Hexagonal, DDD)
როგორ მიმდინარეობს დავალებების ჯაჭვი — ბიზნესიდან განვითარებისკენ?
გოლანგის დაგეგმვის შესახებ ისაუბრე, როგორ მუშაობს ბლოკირებადი ოპერაციებით
// მაქსიმალური წყვილი რიცხვის მოძიება package main import "fmt" func main() { var max int for i := 1000; i > 0; i-- { go func() { if i%2 == 0 && i > max { max = i } }() } fmt.Printf("მაქსიმუმი %d", max) } func maxEvent(n, workers int) int { var wg sync.WaitGroup results := make(chan int, workers) jobs := make(chan int, workers) for w := 0; w < workers; w++ { wg.Add(1) go func() { defer wg.Done() localMax := -1 for num := range jobs { if num%2 == 0 && num > localMax { localMax = num } } result <- localMax }() } go func() { for i := 1; i <= n; i++ { jobs <- i } close(jobs) }() go func() { wg.Wait() close(results) }() globalMax := -1 for localMax := range results { if localMax > globalMax { globalMax = localMax } } return globalMax }