Welche Leistungskennzahlen haben Sie bei der Bewertung Ihrer Arbeit im letzten Projekt verwendet?
Golang
Was ist der Unterschied zwischen einem L4- und einem L7-Load-Balancer?
""" Die Plätze im Kino sind in einer Reihe angeordnet. Ein neu ankommender Zuschauer wählt einen Platz, um so weit wie möglich von den anderen Zuschauern in der Reihe zu sitzen. Das heißt, die Entfernung von dem Platz, wo der Zuschauer sitzen wird, bis zum nächsten Zuschauer, soll maximal sein. Es ist garantiert, dass in der Reihe immer freie Plätze vorhanden sind und mindestens ein Zuschauer bereits sitzt. Schreiben Sie eine Funktion, die anhand einer Reihe von Plätzen (ein Array aus Nullen und Einsen) die Entfernung (Anzahl der Zwischenräume zwischen den Sitzen) vom gewählten Platz zum nächsten Zuschauer zurückgibt. [1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0, 0, 1, 0, 0, 1] -> 2 [1, 0, 1, 0] -> 1 [0, 0, 0, 1] [1, 0, 0, 0] place = ((right - left) / 2) """ func maxPlaces(arr []int) int { }
""" Die Plätze im Kino sind in einer Reihe angeordnet. Ein neu ankommender Zuschauer wählt einen Platz, um so weit wie möglich von den anderen Zuschauern in der Reihe zu sitzen. Das heißt, die Entfernung von diesem Platz zum nächsten Zuschauer sollte maximal sein. Es ist garantiert, dass immer freie Plätze vorhanden sind und mindestens ein Zuschauer bereits sitzt. Schreiben Sie eine Funktion, die anhand einer gegebenen Sitzreihe (ein Array aus Nullen und Einsen) die Entfernung (Anzahl der Zwischenräume zwischen den Sitzen) vom gewählten Platz zum nächsten Zuschauer zurückgibt. [1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0, 0, 1, 0, 0, 1] -> 2 [1, 0, 1, 0] -> 1 """
/* * Gegeben ist ein Array von Ganzzahlen und eine Zahl X, * es ist erforderlich, das längste nicht-leere Teilarray zu finden, dessen Minimum X ist. * Geben Sie die Länge dieses Teilarrays oder -1 zurück, wenn es keine gibt. */
Welches Projekt für ein technisches Vorstellungsgespräch wählen und wie beschreiben?
Worin besteht der Unterschied zwischen einem Service und einem Anwendungsfall in einer Schichtenarchitektur? Geben Sie konkrete Beispiele.
func countSubs(s string) int { result := 0 left := 0 hm := make(map[rune]int) n := len(s) for right := 0; right < n; right++ { hm[s[right]]++ for hm[s[right]] > 1 { hm[s[left]]-- if hm[s[left]] == 0 { delete(hm, s[left]) } left++ } result += (right - left + 1) } return result }
Wie wird die Laufzeit der Operation zum Hinzufügen eines Elements nach Schlüssel in der Datenstruktur Map bestimmt?
Welcher Anfragen pro Sekunde wurde beim Schreiben von Daten erreicht?
Wie erkennt man visuell oder algorithmisch, dass ein Element in der Datenstruktur Map einzigartig ist?
Warum sind zwei if-Prüfungen erforderlich (bei Zeile 79 und bei der Zeile mit len(buf)==MaxItems), anstatt nur einer?
Lebst du momentan in Moskau? Welche Stadt erwägst du? Betrachtest du ein hybrides Arbeitsmodell? In welcher Phase der Suche befindest du dich?
Erzählen Sie uns von der schwierigsten und interessantesten Aufgabe, die Sie gelöst haben, insbesondere im architektonischen Bereich.
Wie bewegt man das Fenster im Sliding-Window-Algorithmus?
Wie werden diese Metrikdaten in Grafana integriert und angezeigt?
// Für zwei Arrays von Ganzzahlen der Länge N, // für alle K von 1 bis N, zählen Sie die Anzahl der gemeinsamen Zahlen in den Präfixen der Länge K. // Die Zahlen im Array können sich wiederholen, die Schnittmenge wird ohne Berücksichtigung der Multiplikationen gezählt. // Ein Präfix der Länge K des Arrays A ist die ersten K Elemente des Arrays A // A [1, 1] => [1], [1, 1] // B [1, 1] => [1], [1, 1] // R [1, 1] // [1, 2, 5] => [1], [1, 2], [1, 2, 5] // [1, 5, 4] => [1], [1, 5], [1, 5, 4] // [1, 1, 2]
Wie war die Zusammensetzung des Teams, mit dem Sie zuletzt gearbeitet haben?
Entwurf eines skalierbaren Messaging-Systems, das 150 Millionen Nutzer, 75 Millionen DAU, 225 Millionen MAU, 1,2 Mio. Lese- / 300k Schreib-QPS, 5 Millionen gleichzeitige Nutzer, 60 PB neue Daten pro Jahr, jährliches Wachstum von 30 %, P99 <200 ms für Lesen, <300 ms für Schreiben, SLA 99,95 % unterstützt. KONTEXT Es ist erforderlich, ein verteiltes Messaging-System zu entwerfen, ähnlich wie WhatsApp, das 1:1- und Gruppen-Chats unterstützt, die Zustellung von Nachrichten gewährleistet, Online-Status der Nutzer anzeigt und Multimedia-Dateien (Fotos, Videos, Audio) überträgt. Das System muss hohe Verfügbarkeit und niedrige Latenz gewährleisten, hohen Parallelismus unterstützen und global skalieren. FUNKTIONALE ANFORDERUNGEN - Unterstützung für persönliche (1:1) und Gruppen-Chats mit der Möglichkeit, Teilnehmer hinzuzufügen/zu entfernen - Versand und Empfang von Textnachrichten und Multimedia-Dateien Nicht-funktionale Anforderungen: - Es gibt keine explizite Implementierung von End-to-End-Verschlüsselung auf Service- oder Client-Ebene, außer einer allgemeinen Anmerkung. - Es gibt keine klare Beschreibung von Sharding und Replikation der Datenbanken nach chat_id oder user_id für Skalierbarkeit und Fehlertoleranz. - Es gibt keine explizite Komponente oder Mechanismus zur Offline-Synchronisation von Nachrichten und Delivery-Receipts. - Es ist nicht ersichtlich, wie die Lastverteilung zwischen Datenbanken und Diensten, insbesondere bei Spitzenbelastungen, umgesetzt wird. **Kritische Punkte, auf die geachtet werden sollte:** (Diagramm zeigt eine Architektur mit Load Balancer, API Gateway, Message Queue, Service, Cache, Database, Object Storage und CDN)
Welchen Wert für die Anzahl der Operationen pro Sekunde beim Lesen von Daten haben Sie erreicht oder analysiert?