Golang
Bist du in Moskau?
Warum wurde der Anti-Betrugs-Check-Service zum Verantwortungsbereich des Kandidaten hinzugefügt?
Wie viele Microservices gibt es in Ihrer aktuellen Arbeit und mit welchen arbeiten Sie direkt?
Was denkst du, was ist das Problem mit der In-Memory-Lösung? Was passiert, wenn du den Dienst neu startest?
Wann sollten Indizes entfernt werden? Was ist Denormalisierung?
Wozu dienen eigentlich Buckets in einer Hashtabelle/einer Map? Welche funktionale Rolle spielen sie?
Bedeutet das, dass alles nach diesem Timeout trotzdem endet? Das heißt, könnte etwas doch nicht funktionieren — was ist das Problem hier?
Beschreiben Sie den Ladeprozess des Linux-Servers vom Start bis zum Terminal-Start
Maximale Belastung: 25k Lesevorgänge / 5k Schreibvorgänge pro Sekunde Neuer Datenvolumen: 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 die aktuellen Probleme behebt, Konsistenz und Fehlertoleranz gewährleistet sowie Mechanismen zur Nachverfolgung für eine vollständige Überwachung des Lebenszyklus der Bestellung implementiert. Beschreiben Sie den Fehlerbehandlungsmechanismus, den Migrationsplan von der aktuellen Architektur und erklären Sie, wie die vorgeschlagene Lösung die Zuverlässigkeit und Transparenz des Systems verbessert.
Was sind Kanäle in Go und welche Arten gibt es?
Gibt es eine Möglichkeit, den Stop-the-World-Garbage-Collector in Go zu steuern und anzupassen?
// Tabelle Produkte: // ID | cnt_view // ----------- // 1 | 100 // Zwei Benutzer haben gleichzeitig begonnen, das Produkt mit id = 1 anzusehen // und in unserer Datenbank wurden 2 parallele Transaktionen gestartet // Was wird das Ergebnis sein? postgresql func IncrementView(ctx context.Context, db *sql.DB, id int64) error { tx, err := db.BeginTx(ctx, nil) if err != nil { return err } defer tx.Rollback() var cnt int err = tx.QueryRowContext(ctx, "SELECT cnt_view FROM goods WHERE id = $1", id, ).Scan(&cnt) if err != nil { return err } cnt++ _, err = tx.ExecContext(ctx, "UPDATE goods SET cnt_view = $1 WHERE id = $2", cnt, id, ) if err != nil { return err } return tx.Commit() }
Mussten Sie sich mit Architekturaufgaben beschäftigen? Wie wurden architektonische Entscheidungen getroffen?
Warum müssen wir den Kontext in der Struktur unterbrechen? Warum die Worker beenden? Wir möchten die Methode Stop unterbrechen.
Warum suchen Sie jetzt nach einer neuen Stelle? Was gefällt Ihnen an Ihrer aktuellen Position nicht?
Wohin gehen Goroutines bei ihrer Erstellung – in die lokale oder globale Warteschlange des Go-Planers?
Wie haben Sie die Skalierung der Kafka-Consumer durchgeführt? Nach welchen Kriterien?
Wie beeinflussen Timeout-Einstellungen die Reduzierung der Belastung bei der Analyse?
Was war das Projekt im Unternehmen? Welcher Microservice war dort?
Indizes in PostgreSQL: Was sind sie, welche Arten kennst du, warum ist B-tree besser als Hash?