Sobes.tech

Golang

Mit welchen Bibliotheken werden Metriken in Go geschrieben?

218

Wofür ist dieser Code geschrieben? Welches geschäftstechnische Problem löst er?

210

Welche Metriken? Mit welchen Werkzeugen werden wir diese Metriken erfassen?

190

// Aufgabe 4 // Bei einem "typischen" CRUD-Service funktionierten einige Methoden irgendwann langsam, und der Service begann, Timeouts zu verursachen. // Der Service besteht aus: // * Application Load Balancer (L7) - Annahme eingehender Anfragen und TLS-Beendigung // * Backend (rest, java/kotlin oder golang) - Verarbeitung eingehender Anfragen und Geschäftslogik // * Datenbank (postgres) - Speicherung und Verarbeitung von SQL-Anfragen // Wie sollte man vorgehen, um die Ursachen der Probleme zu verstehen und Lösungen zur Verbesserung der Situation zu entwickeln?

178

// Aufgabe 3 // Beschreiben Sie, welche Aufgabe dieser Code löst // Welche Probleme gibt es bei dieser Lösung? // Wie würden Sie diesen Code umschreiben?

167

Was tun bei Leistungsproblemen mit der Datenbank und dem Load Balancer?

159

Wie greift man auf den pprof-Profiler auf dem Produktionsserver zu?

156

// Aufgabe 3 // Beschreiben Sie, welche Aufgabe dieser Code löst // Welche Probleme gibt es in dieser Lösung? // Wie würden Sie diesen Code umschreiben? var c int type Trace struct { // Einige Felder hier } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { c++ if c == 100 { sender.Send(tr) c = 0 } }

145

Welche Indizes haben Sie bei der Arbeit verwendet? Was haben Sie in der Praxis angewendet? Bei Wildberries?

140

Wie funktioniert Partitionierung in PostgreSQL im Inneren?

139

Was werden Sie tun, wenn sich die Prioritäten in Ihrem Team jeden Tag ändern und neue dringende Aufgaben auftauchen?

136

Welche Indizes verwendest du in PostgreSQL?

133

Welche Probleme gibt es im Code mit dem globalen Zähler? Wie kann man sie beheben?

131

Wie man Increaser universell macht — nicht an die Zahl 100 gebunden?

129

Auf welchem Diagramm haben Sie das Problem bei der Verwendung von pprof gesehen?

128

// Aufgabe 3 // Beschreiben Sie, welche Aufgabe dieser Code löst // Welche Probleme gibt es bei dieser Lösung? // Wie würden Sie diesen Code umschreiben? var c int var mu sync.RWMutex type Trace struct { // Einige Felder hier } 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 } }

121

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

116

Kann Increaser eine Implementierung von Sender werden? Worin unterscheidet sich Increaser logisch von Sender?

112

Kannst du erzählen, wie du die REST- und gRPC-APIs für die internen und externen Dienste der Plattform entworfen und implementiert hast?

111
/2