Proqramlaşdırma dilində dilimi funksiyaya necə ötürmək olar?
Golang
func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Tərtibat nümunələri haqqında danış. Double-checked locking (ikiqat yoxlama ilə kilidləmə) nədir və nə üçün istifadə olunur?
Niyə və hansı (koddən çıxış haqqında) izah et
Read Committed izolyasiya səviyyəsindən istifadə edərkən Təkrarlanmayan Oxuma vəziyyəti mümkündürmü?
Hər çapda nə göstəriləcək? func fn(a []int) { a[2] = 5 a = append(a, 6) fmt.Println(a) // a = append(a, 7) a[0] = 5 fmt.Println(a) // } func main() { a := make([]int, 0, 5) for i := 0; i < 4; i++ { a = append(a, i) } fn(a[:3]) fmt.Println(a) // }
Redis-in necə işlədiyini, nə olduğunu danış
7-ci sətirdə daxili massiv dolacaq və yeni bir massiv yaradılacaq nəticəsinə gəlinir. Niyə belə qərar verdin?
Go (GMP) içindəki goroutine planlayıcısının necə işlədiyini danış.
İşdə səhvlər / problemlər oldu mu?
Go-də map nədir və sən bunu necə başa düşürsən?
Ssenaridə Token Bucket sürət məhdudlaşdırıcısı ilə nə baş verəcək: saniyənin əvvəlində 1 sorğu, sonunda 99, sonra isə növbəti saniyədə 100 daha çox?
Nümunəndə hadisələrin (hadisə yönümlü yanaşma) istifadəsi haqqında danış
// Bu kodda nə səhv var? Onu necə yaxşılaşdıra bilərik? func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Hansı tapşırıqları sevirsən? Özün üçün nə axtarırsan?
Xarici API üçün saniyə/dəqiqə başına 100 sorğu ilə rate limiter dizayn edin
Layihənin memarlığını kim qurdu — sən xüsusiyyət lideri kimi, komanda ilə birlikdə, yoxsa komanda lideri kimi?
Golang istifadə edirsinizmi?
Hər çapda nə göstəriləcək? func fn(a []int) { a[2] = 5 a = append(a, 6) fmt.Println(a) // a = append(a, 7) a[0] = 5 fmt.Println(a) // } func main() { a := make([]int, 0, 5) for i := 0; i < 4; i++ { a = append(a, i) } fn(a[:3]) fmt.Println(a) // }
Onlar necə həll olunurdu?