Sistem yavaşlamaya başladı — nedenini nasıl arayacaksın?
Golang
Eklenen indeksin gerçekten iyi çalıştığını nasıl kontrol edersin, özellikle üretimde?
Okumalar usta ile mi yapılıyordu, replik ile mi yoksa nasıl dağıtılıyordu?
Kafka'da bölümlendirme için anahtarlar kullandınız mı?
Elinizde askerlik belgesi var mı?
Goroutine'ler hangi sırayla çalıştırılacak ve neden?
Bir şeyin kırıldığı ve ne yaptıklarını hatırlayabiliyor musun?
Hangi çalışma formatını tercih ediyorsun?
Projede Kafka istemcisini tam olarak nasıl entegre ettin, nasıl kullandın?
// Kodu düzelt func FixProblem() { var wg sync.WaitGroup ch := make(chan string, 5) mu := sync.Mutex{} for i := 0; i < 5; i++ { wg.Add(1) go func(ch<- string, i int, wg *sync.WaitGroup) { defer wg.Done() mu.Lock() defer mu.Unlock() msg := fmt.Sprintf("Goroutine %s", strconv.Itoa(i)) ch <- msg }(ch, i, &wg) } for { select { case q := <-ch: fmt.Println(q) } } wg.Wait() }
Bir girişimde bulunduğun ve onu savunduğun bir durumu anlat.
Moskova'da mı bulunuyorsun?
Podları güncellerken istekler kaybolduysa nasıl çözdünüz?
ana paket import "fmt" func main() { nums := make([]int, 1, 2) fmt.Println(nums) // appendSlice(nums, 1024) fmt.Println(nums) // mutateSlice(nums, 1, 512) fmt.Println(nums) // } func appendSlice(sl []int, val int) { sl = append(sl, val) } func mutateSlice(sl []int, idx, val int) { sl[idx] = val }
İşler her zaman iyi tanımlanmış mı geliyordu? Eksik tanımlama durumunda nasıl hareket ediyordunuz?
Harita büyürken eski ve yeni anahtarlarla ne oluyor? Neden hemen hepsini kopyalamıyoruz?
Kafka konusu içindeki bölümlerin sayısını hiç ayarladınız mı?