Golang
Wie arbeitet man mit Fehlern in Go, wie umgeht man einen Fehler?
func main() { defer func() { if r := recover(); r != nil { fmt.Println("wiederhergestellt") } }() defer func() { fmt.Println("defer") }() go func() { fmt.Println("inner goroutine start") panic("boom") fmt.Println("inner goroutine end") }() time.Sleep(time.Second) }
Entwurf eines ausfallsicheren Systems zur Auftragsverarbeitung (Zahlungsgateway, Logistik). Die Migration soll schrittweise erfolgen, ohne den Dienst zu unterbrechen. SKALIERUNG - Gesamtzahl der Nutzer: 8 Mio - Tägliche aktive Nutzer (DAU): 3 Mio - Monatlich aktive Nutzer (MAU): 12 Mio - Spitzenbelastung: 25k Lesevorgänge / 5k Schreibvorgänge pro Sekunde - Volumen neuer Daten: 10 TB pro Jahr - Maximale Parallelität: 120k gleichzeitige Anfragen - Jährliches Nutzerwachstum: 30% - Ziel-P99-Latenz: <150 ms für Lesevorgänge, <400 ms für Schreibvorgänge - Zielverfügbarkeit: 99,95% Ihre Aufgabe ist es, eine architektonische Lösung zu entwickeln, die...
Wie ist es möglich, 180K RPS und eine p99-Latenz <170ms zu erreichen?
Das Bibliotheksmodell muss beschrieben werden. Es gibt 3 Entitäten: "Autor", "Buch", "Leser". Physisch gibt es nur ein Buch, und es kann nur bei einem Leser sein. Es müssen Tabellen für die Bibliothek erstellt werden, die dies berücksichtigen.
Wie kann man Sperren in einer Abfrage einrichten? Erklären Sie die Arten von Sperren (pessimistisch, optimistisch, Beratungslocks).
Haben Sie direkt in einer Bank gearbeitet oder über einen Anbieter?
Was ist deine Hauptprogrammiersprache? Wie lange programmierst du schon beruflich in Go?
Was möchtest du am neuen Ort finden?
Wie war PostgreSQL bei Ihnen eingerichtet — gab es eine Replik für Analysen oder wurde vom Master gelesen?
Wie haben Sie in die Datenbank geschrieben? Einzeln oder in Chargen?
Was ist ein Dateideskriptor?
Was ist der Unterschied zwischen SELECT FOR UPDATE und SELECT FOR SHARE?
Du hast einen Index für die Abfrage hinzugefügt, aber laut EXPLAIN wurde sie nicht schneller. Was könnte das Problem sein?
Was sind Latenz, Durchsatz, MTU und Keep-Alive?
Worauf möchtest du bei der Arbeit nicht mehr stoßen?
Wie wurde die Reduzierung der CPU-Auslastung um 35% und die Latenz gemessen?
Wie sieht die Verteilung Ihrer Arbeit aus — was geben Sie Ihren Kollegen nach dem Schreiben des Codes weiter?
Nach welchen Kriterien wirst du das Angebot auswählen, wenn es mehrere gibt?
Erzähle mir von deiner Erfahrung bei Wildberries: Wie du gekommen bist, wie das Team aussieht, warum du gehst.