Sobes.tech

Golang

Sa kojim bibliotekama se pišu metrike u Go?

207

Зашто је овај код написан? Какву пословно-техничку проблем решава?

205

Koje metrike? Kojim alatima ćemo zapisivati ove metrike?

182

// Задача 4 // У "типичног" CRUD сервиса - у одређеном тренутку неке методе су почеле да раде споро и сервис је почео да таймаутује. // Сервис се састоји од: // * Application Load Balancer (L7) - прихватање долазних захтева и терминовање tls // * Backend (rest, java/kotlin или golang) - обрада долазних захтева и пословна логика // * Database (postgres) - чување и обрада sql упита // Како правилно деловати да бисте разумели узроке проблема и развили решења за побољшање ситуације?

177

// Задача 3 // Опишите која задача решава овај код // Који проблеми постоје у овом решењу? // Како бисте преписали овај код?

163

Шта си радио на послу?

148

// Zadatak 3 // Opisati koju zadatak rešava ovaj kod // Koji problemi postoje u ovom rešenju? // Kako biste prepisali ovaj kod? var c int type Trace struct { // Neki atributi ovde } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { c++ if c == 100 { sender.Send(tr) c = 0 } }

140

Na kojim indeksima ste se oslanjali na poslu? Šta ste primenjivali u praksi? Na Wildberries?

137

Šta ćete uraditi kada se svakodnevno menjaju prioriteti u vašem timu i pojavljuju se nove hitne zadatke?

136

Kako funkcioniše particionisanje u PostgreSQL ispod haube?

134

Šta uraditi sa bazom podataka i load balancer-om u slučaju problema sa performansama?

132

Koji problemi postoje u kodu sa globalnim brojačem? Kako ih popraviti?

128

Kako pristupiti pprof profilatoru na produkcijskom serveru?

127

Na kojem grafikonu ste videli problem prilikom korišćenja pprof?

126

Kako učiniti Increaser univerzalnim — ne vezanim za broj 100?

121

// Питање 3 // Опишите који задатак решава овај код // Који проблеми постоје у овом решењу? // Како бисте преписали овај код? var c int var mu sync.RWMutex type Trace struct { // Неки поља овде } 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 } }

119

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

110

Може ли Increaser постати имплементација Sender-а? У чему се логички разликују Increaser и Sender?

106

Možete li da ispričate kako ste dizajnirali i implementirali REST i gRPC API za interne i eksterne servise platforme?

101
/2