Go'da metrikler hangi kütüphaneler kullanılarak yazılır?
Golang
Bu kod ne için yazıldı? Hangi iş teknik sorununu çözüyor?
Hangi metrikler? Bu metrikleri hangi araçlarla yazacağız?
// Görev 4 // "Tipik" bir CRUD servisi - belirli bir noktada bazı metodlar yavaşlamaya başladı ve servis zaman aşımına uğramaya başladı. // Servis şu bileşenlerden oluşur: // * Application Load Balancer (L7) - gelen istekleri almak ve TLS'yi sonlandırmak // * Backend (rest, java/kotlin veya golang) - gelen istekleri işleme ve iş mantığı // * Database (postgres) - SQL sorgularını depolama ve işleme // Sorunun nedenlerini anlamak ve durumu iyileştirmek için çözümler geliştirmek için doğru şekilde nasıl hareket edilir?
// Soru 3 // Bu kodun hangi görevi çözdüğünü açıklayın // Bu çözümde hangi sorunlar var? // Bu kodu nasıl yeniden yazardınız?
Üretim sunucusunda pprof profil cihazına nasıl erişilir?
İşte ne yaptın?
// Görev 3 // Bu kodun çözdüğü görevi tanımlayın // Bu çözümde hangi sorunlar var? // Bu kodu nasıl yeniden yazardınız? var c int type Trace struct { // Burada bazı alanlar } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { c++ if c == 100 { sender.Send(tr) c = 0 } }
İş yerinde hangi indeksleri kullandınız? Pratikte ne uyguladınız? Wildberries'ta mı?
Takımınızda her gün öncelikler değişiyor ve yeni acil görevler ortaya çıkıyorsa, ne yapacaksınız?
Performans sorunlarıyla karşılaşıldığında veritabanı ve yük dengeleme ile ne yapılmalı?
PostgreSQL'de bölümlendirme nasıl çalışır?
PostgreSQL'de hangi indeksleri kullanıyorsun?
Küresel sayıcıyla ilgili kodda hangi sorunlar var? Nasıl düzeltilir?
pprof kullanırken sorunu hangi grafikte gördünüz?
Increaser'ı nasıl evrensel hale getirebiliriz — 100 sayısına bağlı olmayan?
// Soru 3 // Bu kodun hangi görevi çözdüğünü açıklayın // Bu çözümde hangi sorunlar var? // Bu kodu nasıl yeniden yazardınız? var c int var mu sync.RWMutex type Trace struct { // Burada bazı alanlar } 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, Sender'ın bir uygulaması olabilir mi? Increaser ile Sender arasındaki mantıksal fark nedir?
Platformun iç ve dış servisleri için REST ve gRPC API'lerini nasıl tasarladığını ve uyguladığını anlatabilir misin?