Bir nechta tartiblangan uint kanallarini bitta tartiblangan kanalga birlashtirish uchun merge funksiyasini yozing
Golang
Nil slice ga append qilishda panika bo'ladimi?
O'qishlar ustoz bilan, replika bilan yoki qanday taqsimlangan?
Nima uchun kanal va mutex bilan kod ishlamaydi (deadlock sabab nima)?
Terminalarni tekshirishda har bir URL uchun alohida goroutine yaratish tavsiya etilmaydi?
Qo'shilgan indeks haqiqatan ham yaxshi ishlayotganligini qanday tekshirasiz, ayniqsa ishlab chiqarishda?
Qaysi ish formatini afzal ko'rasiz?
Tizim sekinlashni boshladi — sababini qanday qidirasiz?
Bir tashabbus taklif qilgan va uni himoya qilgan voqeani aytib ber.
Biror voqea yodda narsa buzilgan va nima qilganingizni eslay olasizmi?
Kafka'da bo'linishni amalga oshirish uchun kalitlardan foydalandingizmi?
Gorutinalar qanday tartibda bajariladi va nima uchun?
Qo'lingizda harbiy bilet bormi?
Podlarni yangilashda so'rovlar yo'qolgan bo'lsa, qanday hal qildingiz?
Vazifa har doim yaxshi tavsiflanganmi? To‘liq bo‘lmagan ta'rifda qanday harakat qilardingiz?
// Kodni to'g'irlash 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() }
Xaritani o'sha va yangi kalitlar bilan nima bo'ladi? Nima uchun hamma narsani darhol ko'chirmaslik kerak?