Golang
Welche Daten sollten nicht im Cache gespeichert werden?
Können wir einen Slice als Parameter an eine Funktion übergeben?
Erzähle mir von Datenbanken — mit welchen hast du gearbeitet und mit welchen arbeitest du jetzt?
Frage zum langsamen Service Am Beispiel der Auftragserstellung. Es gibt eine Anfrage an den Service und eine Antwort, zwischen diesen beiden Aktionen speichern wir in der Analyse die bestellten Produkte (zum Beispiel zur Ermittlung der Beliebtheit der Produkte). Der Analyse-Service arbeitet manchmal langsam oder timeoutet ganz, und wir schaffen es nicht, rechtzeitig zu antworten, wir verlieren Bestellungen. Was tun, um keine Bestellungen und somit kein Geld mehr zu verlieren? Überlegen Sie, wie man Bestellung und Analyse parallelisieren kann.
Stellen Sie sich eine Situation vor: Sie können keinen gemeinsamen Nenner mit einem Tester in Ihrem Team finden, der Sie ständig 'ärgert'. Wie werden Sie interagieren?
Was sind Message-Broker? Welche kennen Sie? Worin unterscheidet sich RabbitMQ von Kafka?
Was passiert, wenn man Kafka aufgeben und durch einen anderen Nachrichtenbroker ersetzen muss? Wie isoliert man Kafka von externen Diensten?
Wie ist der Veröffentlichungsprozess aufgebaut? Wie verlief die letzte Veröffentlichung mit Ihrer Beteiligung?
Was muss getan werden, damit der REST API-Server (Code-Repository) in Kubernetes funktioniert?
Erzählen Sie mir von einem sanften Shutdown: Was ist das, was passiert dabei, wie wird es aufgerufen? Welche Prozesse führt der Dienst in Kubernetes nach Erhalt von SIGTERM aus?
Wo, Ihrer Meinung nach, beginnt Highload? Wo ist die Grenze zwischen Highload und Nicht-Highload?
Sie haben einen Dienst, der viele Goroutines spawn. Wie würden Sie die Anzahl der gleichzeitig laufenden Goroutines begrenzen?
Ihr Service war eine API, die von anderen Diensten genutzt wurde. In Redis speicherten Sie Daten zur Anreicherung — warum haben Sie bei jeder Anfrage nicht den Referenzdienst (über Lager usw.) abgefragt?
Was ist ein Systemaufruf (syscall)?
Erzählen Sie mir mehr über die Projekte in Go
Welche der folgenden Optionen ist am wahrscheinlichsten, wenn versucht wird, eine sehr große Anzahl von Goroutines (z.B. Zehntausende) ohne zusätzliche Kontrolle zu starten? - Das Hauptproblem wird durch das Sperren des globalen Mutex im Runtime verursacht, was zu einem vollständigen Stillstand der Programmausführung führt - Der Go-Scheduler wird die Goroutines in kleinen Gruppen sequenziell ausführen, daher hat die Zunahme ihrer Anzahl fast keinen Einfluss auf den Speicherverbrauch - Die massenhafte Erzeugung von Goroutines kann zu erheblichem Speicherverbrauch und Overhead des Schedulers führen; in solchen Fällen ist ein Worker-Pool geeignet - Wenn die Anzahl der Goroutines die Anzahl der logischen Prozessoren übersteigt, wird Go automatisch neue Goroutine-Starts mit einem Panic ablehnen
Wie fühlst du dich im Vergleich zu deinen Kollegen auf deinem Niveau? Was fehlt dir für dein Wachstum?
Erzähle mir von Kubernetes — was ist das, wie unterscheidet es sich von Docker, was sind die Hauptbestandteile?
Was ist der Unterschied zwischen einem Array und einem Slice in Go?
Wie ist der Kanal unter der Haube in Go organisiert?