Golang
Kafka xabarida aniq nima yozish kerak? Qaysi maydonlarni iste'molchilarga uzatish kerak?
Kundalik vazifalaringizda eng ko'p nima bilan shug'ullanasiz? Xatolarni tuzatish, refaktoring, qo'llab-quvvatlash, yangi funksiyalarni ishlab chiqish?
// Vazifa 3 // Ushbu kod qanday vazifani hal qilayotganini tavsiflang // Bu yechimda qanday muammolar bor? // Bu kodni qanday qayta yozardingiz? var c int var mu sync.RWMutex type Trace struct { // Ba'zi maydonlar bu yerda } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { mu.Lock() defer mu.Unlock() c++ if c == 100 { go func() { sender.Send(tr) }() c = 0 } }
Agar tizimda 24 yadro bo'lsa, GMP modelida nechta protsessor bo'ladi?
Go dasturini ishlab chiqishda ishlashni baholash va profiling uchun qanday asboblarni ishlatasiz?
Buyuk dasturlash paradigmasidan tashqari, funksional paradigma ham mavjud — uning afzalliklari nima ekanligini bilasizmi?
Vazifa bo'linishi va texnik ishlash bilan ham shug'ullanasizmi?
len() — nima uzunligi?
Repeatable Read va Serializable o'rtasidagi asosiy farq nima?
Go dasturlash tilida asosiy ma'lumot turlarini sanab o'ting
CAP-teoremasi haqida gapir
Sotuvchilarni bloklash uchun xizmat bormi: bir usul sotuvchining ID sini qabul qiladi va uni bloklanganlar jadvaliga yozadi. Siz bu mantiqni qanday amalga oshirasiz?
So'rovnoma 84-qatorida WITH ... AS (...) tuzilishi nima deb ataladi?
Nega defer kalit so'zidan foydalaning?
Ma'lumotlar poygasimi nima?
Arxitektura loyihasiga qanday yondashasiz? Qayerdan boshlaysiz?
Agar bir nechta taklif bo'lsa, qanday tanlaysiz?
sync/atomic paketi haqida nima bilasiz?
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(totalPayouts) // tranzaksiya qo'shish if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount partner.Hold -= amount partner.Balance += amount if err := r.save(advertiser); err != nil { return err } if err := r.save(partner); err != nil { return err } r.totalPayouts++ return nil } func (r *PayoutRepository) find(id string) (Partner, error) { p := Partner{} err := r.db.QueryRow("SELECT * FROM partners WHERE id = " + id).Scan(&p) // $1 qo'shish if err != nil { if err == sql.ErrNoRows { return p, errors.New("hamkor topilmadi") } return p, err } return p, nil }
Nima uchun bozorga chiqdingiz, o'tish uchun motivatsiya nima?