Go tilida metrikalarni yozish uchun qaysi kutubxonalar ishlatiladi?
Golang
Bu kod nima uchun yozilgan? Qaysi biznes-texnik muammoni hal qiladi?
Qaysi o'lchovlar? Bu o'lchovlarni qanday asboblar bilan yozamiz?
// Vazifa 4 // Tipik CRUD xizmati uchun - bir nuqtada ba'zi metodlar sekin ishlay boshladi va xizmat timeout qilmoqda. // Xizmat quyidagi qismlardan iborat: // * Application Load Balancer (L7) - kiruvchi so'rovlarni qabul qilish va tls ni tugatish // * Backend (rest, java/kotlin yoki golang) - kiruvchi so'rovlarni ishlash va biznes mantiqasi // * Database (postgres) - SQL so'rovlarini saqlash va ishlash // Muammolar sababini tushunish va vaziyatni yaxshilash uchun yechimlar ishlab chiqish uchun qanday to'g'ri harakat qilish kerak?
// Vazifa 3 // Ushbu kod qanday vazifani hal qilayotganini tavsiflang // Bu yechimda qanday muammolar bor? // Bu kodni qanday qayta yozardingiz?
Ishlab chiqarish serverida pprof profilingiga qanday kirish mumkin?
Ishda nima qildingiz?
// Vazifa 3 // Ushbu kod qanday vazifani hal qilayotganini tavsiflang // Bu yechimda qanday muammolar bor? // Bu kodni qanday qayta yozardingiz? var c int type Trace struct { // Ba'zi maydonlar bu yerda } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { c++ if c == 100 { sender.Send(tr) c = 0 } }
Ishda qanday indekslardan foydalangansiz? Amalda nima qo'lladiz? Wildberriesda?
Jamoangizda har kuni ustuvorliklar o'zgarib, yangi shoshilinch vazifalar paydo bo'lsa, nima qilasiz?
Ishlash qobiliyatining muammolari bo'lsa, ma'lumotlar bazasi va load balancer bilan nima qilish kerak?
PostgreSQLda bo'linma qanday ishlaydi?
PostgreSQL'da qanday indekslarni ishlatasiz?
Global hisoblagich bilan kodda qanday muammolar bor? Qanday tuzatish mumkin?
pprofni ishlatishda muammo qaysi grafikda ko'rdingiz?
Increaser-ni qanday universal qilish mumkin — 100 soniga bog'liq bo'lmagan?
// 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 } }
func normalize2(str []rune) []rune { result := str[:0] for val := range str { if val != ' ' { result = append(re) } } l, r := 0, 0 isSpace := false for i := 0, i < len(str); i++ { val := string(str[i]) if val == " " { if isSpace { continue } else { str[r] = val r++ isSpace = true } } else { str[r] = val r++ isSpace = false } } return str[:r] }
Increaser Senderning amalga oshirilishiga aylanishi mumkinmi? Increaser va Sender mantiqan qanday farq qiladi?
Platformaning ichki va tashqi xizmatlari uchun REST va gRPC API-larini qanday loyihalagan va amalga oshirganingizni ayta olasizmi?