Sobes.tech

Golang

Aké knižnice sa používajú na písanie metrík v Go?

211

Na čo je tento kód napísaný? Aký obchodno-technický problém rieši?

206

Aké metriky? Akými nástrojmi budeme tieto metriky zapisovať?

188

// Úloha 4 // V "typickom" CRUD servise - v určitom momente niektoré metódy začali fungovať pomaly a služba začala timeoutovať. // Služba pozostáva z: // * Application Load Balancer (L7) - príjem prichádzajúcich požiadaviek a ukončenie TLS // * Backend (rest, java/kotlin alebo golang) - spracovanie prichádzajúcich požiadaviek a obchodná logika // * Databáza (postgres) - ukladanie a spracovanie SQL dopytov // Ako správne postupovať, aby ste pochopili príčinu problémov a vyvinuli riešenia na zlepšenie situácie?

177

// Úloha 3 // Opíšte, akú úlohu rieši tento kód // Aké problémy sú v tomto riešení? // Ako by ste prepisali tento kód?

165

// Úloha 3 // Opíšte, akú úlohu tento kód rieši // Aké problémy sú v tomto riešení? // Ako by ste tento kód prepísali? var c int type Trace struct { // Niektoré polia tu } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { c++ if c == 100 { sender.Send(tr) c = 0 } }

143

Na aké indexy ste sa odvolávali v práci? Čo ste v praxi používali? Na Wildberries?

139

Čo urobíte, keď sa v vašom tíme každý deň menia priority a objavujú sa nové naliehavé úlohy?

136

Čo robiť s databázou a load balancerom pri problémoch s výkonom?

135

Ako funguje partíciovanie v PostgreSQL pod kapotou?

135

Aké indexy používate v PostgreSQL?

132

Aké problémy sú v kóde s globálnym čítačom? Ako ich opraviť?

129

Ako sa dostať k profileru pprof na produkčnom serveri?

129

Na ktorom grafe ste videli problém pri používaní pprof?

128

Ako spraviť Increaser univerzálnym — nie viazaným na číslo 100?

126

// Otázka 3 // Opíšte, akú úlohu tento kód rieši // Aké problémy sú v tomto riešení? // Ako by ste tento kód prepísali? var c int var mu sync.RWMutex type Trace struct { // Niektoré polia tu } 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 } }

120

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] }

114

Môže sa Increaser stať implementáciou Sendera? V čom sa logicky líši Increaser od Sender?

109

Môžete opísať, ako ste navrhli a implementovali REST a gRPC API pre interné a externé služby platformy?

108
/2