func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Golang
Bir programlama dilinde dilim (slice) nasıl fonksiyona aktarılır?
Tasarım kalıpları hakkında bana anlat. Double-checked locking (çift kontrol kilidi) nedir ve ne için kullanılır?
Neden ve hangisi olduğunu açıkla (kod çıktısı ile ilgili)
Read Committed izolama seviyesini kullanırken Tekrarlanamayan Okuma durumu mümkün müdür?
Redis nasıl çalışıyor, nedir anlat bana?
Her baskıda ne gösterilir? 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) // }
7. satırda iç dizinin taşacağı ve yeni bir dizinin oluşturulacağı sonucuna varılmıştır. Neden böyle karar verdin?
Go (GMP) içindeki goroutine zamanlayıcısının nasıl çalıştığını anlat.
Senaryo: Bir saniyenin başında 1 istek, sonunda 99 ve ardından bir sonraki saniyede 100 istek olursa, Token Bucket hız sınırlayıcıyla ne olur?
İş yerinde hatalar / sorunlar oldu mu?
Örneğin olay odaklı yaklaşım (event-driven) kullanımını anlat
// Bu kodun kötü yanı nedir? Nasıl geliştirilebilir? func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Projeyi kim tasarladı — sen özellik lideri olarak, ekip ile birlikte mi, yoksa takım lideri olarak mı?
Hangi görevleri seviyorsun? Kendin için ne arıyorsun?
Harici bir API için saniye/dakika başına 100 istek limiti ile bir rate limiter tasarla
Go'da map nedir, bunu nasıl anlıyorsun?
Her baskıda ne gösterilecek? 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) // }
Nasıl çözülüyorlardı?
Golang kullanıyor musun?