Golang
Wie wurde die Arbeit zwischen den Arbeitern bei der Verarbeitung einer einzigen Anfrage parallelisiert?
Wie bewegt man das Fenster im Sliding-Window-Algorithmus?
Wie groß ist das ungefähre Datenvolumen in Snapshots?
Erklären Sie Ihre Implementierung der Funktion Allow nach den Korrekturen. Wie wird der Fall der ersten Anfrage des Benutzers behandelt?
Wann und wie werden Goroutinen umgeschaltet?
Welche Indizes haben Sie bei der Arbeit verwendet? Was haben Sie in der Praxis angewendet? Bei Wildberries?
Arbeitest du noch im Unternehmen?
Kannst du über das Deployment mit Docker erzählen — wie es funktioniert hat?
Mit welchen Programmiersprachen haben Sie vor Go gearbeitet und wann haben Sie mit dem Programmieren begonnen?
Hauptpaket import "fmt" typ Person struct { Name string } func changeName(person *Person) { person = &Person{ Name: "Alice", } } func main() { person := &Person{ Name: "Bob", } fmt.Println(person.Name) // changeName(person) fmt.Println(person.Name) // }
Erzähle, was du über MVCC weißt. Was passiert bei einer UPDATE-Operation aus Sicht von MVCC (Erstellung einer neuen Zeilenversion, was passiert mit der alten)? Wann bereinigt VACUUM alte Zeilenversionen?
Was ist Rate Limiting? Welche Algorithmen gibt es?
Was ist SELinux?
Wie viele Jahre kombinierte Erfahrung in der Entwicklung mit Go?
Wie entscheiden Sie bei der Arbeit mit Kanälen zwischen gepufferten und ungepufferten Kanälen?
Transaktionsisolationsebenen
Hattest du Konflikte mit Kollegen oder Situationen, in denen du eine andere Meinung hattest als ein Kollege?
Erzähle von den Prinzipien DRY und KISS
Kennst du den Angriff 'Man in the Middle' (Man-in-the-middle)?
Wie verwendest du den Profiler (pprof), wie hast du Speicherprobleme gesucht?