Milliste raamatukogudega kirjutatakse metrikad Go-s
Golang
Milleks see kood kirjutatud? Millist ärilist tehnilist probleemi see lahendab?
Millised on mõõdikud? Milliste tööriistadega me neid mõõdikuid kirjutame?
// Ülesanne 4 // Tüüpilises CRUD teenuses - mingil hetkel hakkasid mõned meetodid aeglaselt töötama ja teenus hakkas timeoutima. // Teenus koosneb: // * Application Load Balancer (L7) - vastuvõtt sisenevatest taotlustest ja TLS lõpetamine // * Backend (rest, java/kotlin või golang) - vastuvõetavate taotluste töötlemine ja äriloogika // * Database (postgres) - SQL päringute salvestamine ja töötlemine // Kuidas õigesti toimida, et mõista probleemide põhjust ja välja töötada lahendusi olukorra parandamiseks?
// Ülesanne 3 // Kirjeldage, millist ülesannet see kood lahendab // Millised probleemid on selles lahenduses? // Kuidas te kirjutaksite selle koodi ümber?
Mida teha andmebaasi ja koormuse tasakaalustaja probleemide korral?
Kuidas pääseda ligi pprof profiilile tootmiskeskkonnas?
Mida sa tööl tegin?
// Ülesanne 3 // Kirjeldage, millist ülesannet see kood lahendab // Millised probleemid on selles lahenduses? // Kuidas te selle koodi ümber kirjutaksite? var c int type Trace struct { // Mõned väljad siin } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { c++ if c == 100 { sender.Send(tr) c = 0 } }
Milliseid indeksid kasutisite tööl? Mida praktikas rakstījāt? Wildberries?
Mida teete, kui teie meeskonnas muutuvad iga päev prioriteedid ja ilmuvad uued kiireloomulised ülesanded?
Kuidas töötab partitsioneerimine PostgreSQLis kapoti all?
Milliseid indekseid kasutad PostgreSQL-is?
Millised probleemid on koodis globaalse loenduriga? Kuidas seda parandada?
Kuidas teha Increaser universaalseks — mitte seotud arvuga 100?
Millisel graafikul nägite probleemi pprof kasutamisel?
// Küsimus 3 // Kirjeldage, millist ülesannet see kood lahendab // Millised probleemid on selles lahenduses? // Kuidas te selle koodi ümber kirjutaksite? var c int var mu sync.RWMutex type Trace struct { // Mõned väljad siin } 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] }
Kas Increaser saab saada Senderi rakenduseks? Milline on Increaser loogiliselt erinev Senderist?
Kas saaks pastāstīt, kā tu izstrādāji un īstenoji REST un gRPC API platformas iekšējiem un ārējiem pakalpojumiem?