Sobes.tech

С какви библиотеки се пишат метрики в Go?

206

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

205

Какви метрики? С какви инструменти ще записваме тези метрики?

182

// Задача 4 // В "типичен" CRUD сервис - в някакъв момент някои методи започнаха да работят бавно и сервисът започна да таймаутва. // Сервисът се състои от: // * Application Load Balancer (L7) - приемане на входящи заявки и терминално TLS // * Backend (rest, java/kotlin или golang) - обработка на входящи заявки и бизнес логика // * Database (postgres) - съхранение и обработка на SQL заявки // Как правилно да действате, за да разберете причината за проблемите и да разработите решения за подобряване на ситуацията?

177

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

163

Какво правеше на работата?

148

// Задача 3 // Опишете каква задача решава този код // Какви проблеми има в това решение? // Как бихте преписали този код? var c int type Trace struct { // Някои полета тук } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { c++ if c == 100 { sender.Send(tr) c = 0 } }

140

Какво ще направите, когато приоритетите във вашия екип се променят всеки ден и се появяват нови спешни задачи?

136

На какви индекси сте се базирали на работното място? Какво прилагахте на практика? В Wildberries?

136

Как работи партиционирането в PostgreSQL под капака?

134

Какво да правите с базата данни и load balancer при проблеми с производителността?

132

Какви индекси използваш в PostgreSQL?

130

Какви проблеми има в кода с глобалния брояч? Как да ги поправим?

128

Как да достъпите профайлъра pprof на производствения сървър?

127

На кой график видяхте проблема при използване на pprof?

126

Как да направите Increaser универсален — не свързан с числото 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

Можеш ли да разкажеш как си проектирал и реализирал REST и gRPC API за вътрешните и външните услуги на платформата?

101
/2