Wenn eine Map voll ist, wird eine neue Ketten von Buckets erstellt. Erklären Sie, was mit den alten und neuen Schlüsseln beim Übertragen passiert. Warum werden die Daten faul übertragen und nicht sofort wie bei einem Slice?
Golang
Wie wurde die Anzahl der Instanzen geregelt? Wer legte die Ressourcenanforderungen in Kubernetes fest?
Gibt es Stop the World während der Arbeit des Garbage Collectors?
Wann sollte man Partitionierung und wann Sharding verwenden?
Ist das Vorhandensein eines Index immer gut? Ist die Variante mit aktiviertem Index immer besser als ohne?
Wenn wir 16 Partitionen und 2 Verbraucher haben, wie werden sie aufgeteilt? Was passiert, wenn wir einen dritten Verbraucher hinzufügen?
Beim Sharding weiß der Benutzer nicht, auf welchem Server seine Daten liegen. Wie wird das gelöst?
Wodurch wird die Kosten in EXPLAIN gemessen? Was sind die Kosten?
Welche anderen Möglichkeiten gibt es, um die Geschwindigkeit der Datenbank neben Indizes zu erhöhen?
Was sind die Vorteile der Replikation? Welche Kosten trägt sie?
Welche Synchronisationsmittel in Go kennst du?
Wie haben die Dienste miteinander interagiert? Wo waren sie positioniert?
Es gibt einen HTTP-Handler, der eine komplexe SELECT-Abfrage in der Datenbank durchführt, und der Benutzer ist mit der langen Wartezeit unzufrieden. Was ist die Abfolge der Schritte zur Diagnose und Optimierung?
Wozu dient der Top-Hash in der Map?
Zeigt dir pprof immer einen Speicherleck oder eine Überschreitung des Limits an?
Wie wurde das Deployment durchgeführt? Womit haben Sie es in Kubernetes bereitgestellt?
Was genau wurde nach der Entdeckung mit den Duplikaten gemacht? Wo wurden sie gereinigt?
Gibt es Möglichkeiten, die Zeitpunkte des Garbage Collectors zu steuern (tunen)? Zum Beispiel Compiler-Einstellungen.
Was passiert, wenn einer der Verbraucher in der Gruppe ausfällt? Erzählen Sie vom Rebalancing.
Erzählen Sie uns von der Teamzusammensetzung, den Verantwortungsbereichen der Dienste und dem Veröffentlichungszyklus.