Golang
func main() { c := make(chan int, 1000) var wg sync.WaitGroup wg.Add(100) for i := 0; i < 100; i++ { go func() { defer wg.Done() foo(c) }() } go func() { wg.Wait() close(c) }() sum := 0 for r := range c { sum += r } // fmt.Println(sum) } func foo_req(c chan int) error { r := rand.Int() for i := 0; i < r; i++ { c <- r } }
Ishingizda qaysi tamoyillarga amal qilasiz?
EMCD Techda tajribangiz haqida batafsilroq gapirib bering — u yerda nima qildingiz va ikki yarim yilda qanday o'sdingiz?
Ish jarayonini aytib bering: vazifalar qanday taqsimlangan, qaysi repository ishlatilgan, qanday konturlar bo'lgan?
Golangda slices bilan ishlash haqida gapiring: capacity, length qanday ishlaydi va chegaradan tashqariga chiqganda nima bo'ladi.
Go da qanday xotira turlari mavjud? Stack va heap (xotira) o'rtasidagi farq nima?
Go'dagi netpoller haqida gapirib bering.
```go func fail() { panic("Xatolik!") } func main() { fmt.Println("Boshlash!") var wg sync.WaitGroup wg.Add(1) go func() { defer func() { if e := recover(); e != nil { fmt.Println(e) } }() fail() wg.Done() }() wg.Wait() fmt.Println("Tugash!") } ```
func (r *PayoutRepository) save(p Partner) error { _, err := r.db.Exec( fmt.Sprintf("UPDATE partners SET balance = %s, hold = %s WHERE id = %s", p.Balance, p.Hold, p.ID), ) if err != nil { return err } if err := r.eventPublisher.Publish("BalanceChanged", p); err != nil { return err } return nil }
PostgreSQL'da EXPLAIN va EXPLAIN ANALYZE komandalarining farqi nima?
Go'da qanday qilib ma'lumotlar tuzilmasini umumiy (har qanday qiymat turi bilan ishlaydigan) qilish mumkin?
Qaysi loyiha yo'nalishlarini ko'rib chiqayapsiz (fintech, chakana savdo, infratuzilma va boshqalar)?
Nima uchun mijozda butun vitrinani qurish mumkin emas edi va faqat xizmat orqali frontendga metrikalarni chiqarish mumkin emas edi? Nima uchun xizmatdagi mantiq murakkablashtirildi?
Nima uchun hozir ish bozoriga kirishga qaror qilding, bu qarorga nima turtki bo'ldi?
O'zingiz va avvalgi ish tajribangiz haqida gapiring, Go dasturchisi lavozimi uchun muhim deb hisoblagan hamma narsani.
Xizmatingiz boshqa xizmatlarga ta'sir qilganda (masalan, ma'lumotlar bazasidagi jadvallarni bloklaydi) qanday muomala qilish kerak?
Observability qanday holatda, nima ayta olasiz?
Graceful Shutdown nima va uni qanday amalga oshirish mumkin?
Ma'lumotlar bazasida ma'lumotlar qanday saqlanadi?
Nebuferlangan kanallar nima uchun kerak? Nima uchun har doim katta bufferli kanalni ishlatib bo'lmaydi?