Golang
Go-da hansı sinxronizasiya primitive-ləri mövcuddur? Bu halda hansı mutex daha uyğundur?
İşdəki ən böyük uğursuzluğunuz haqqında danışın. Nə öyrəndiniz?
Go-da məqsədli yaddaş sızması necə etmək olar? Hansı hallar sızmalara səbəb olur?
İndiki vaxtda harada yaşayırsınız?
Texniki inkişafınızı necə görürsünüz? Nə öyrənmək istəyirsiniz?
Hash funksiyasının nümunəsini göstərə bilərsinizmi?
Komanda və layihədə qalmaq və böyümək üçün nə görmək istərdin?
Interfeyslər əslində nə üçün lazımdır? Niyə sadəcə strukturlardan istifadə etməyək?
Xidmətinizdə yükləmə testi keçirilibmi?
Yeni iş yerindən nə gözləyirsiniz?
Sharding və partisiya arasında nə fərq var?
func fanin[T hər hansı](chs ...<-chan T) chan T { out := make(chan T) wg := sync.WaitGroup{} for _, ch := range chs { wg.Add(1) go func(c <-chan T) { defer wg.Done() for v := range c { out <- v } }(ch) } go func() { wg.Wait() close(out) }() return out } func main() { ch1 := make(chan int, 5) ch2 := make(chan int, 5) for i := 1; i <= 5; i++ { ch1 <- i ch2 <- i * 2 } close(ch1) close(ch2) fmt.Println(fanin(ch1, ch2)) }
Go-da strukturların hizalanması nədir? Struktur sahələrini yaddaşda necə optimallaşdırmaq olar?
Go-da context nədir və nə üçün lazımdır?
Hal-hazırda işləyirsən yoxsa artıq son iş yerindən ayrılmısan?
Qraf filtrasiya alqoritmini çox sayda düyün və hadisələrlə necə sürətləndirmək olar?
Performans və profil üçün nə istifadə olundu? Go-da standart pprof profilindən istifadə olundu mu?
İstehsalda xətalar ilə necə işləyirdiniz? Kubernetes-də xidmətlər — əgər nəsə düzgün getməsə, necə həll edirdiniz?
Kod işlədilərkən nə göstərəcək? package main import "fmt" type Counter struct { val int } func (c Counter) IncVal() { c.val++ } func (c *Counter) IncPtr() { c.val++ } func main() { c := Counter{val: 1} c.IncVal() fmt.Print(c.val, " ") c.IncPtr() fmt.Print(c.val) }
auth.go faylını və auth_test.go testini eyni qovluqda yerləşdirmək adi bir təcrübədirmi?