Golang
Wozu dient der Cache und das Caching? Was ist ein negativer Cache?
Wie generieren Sie Mocks für Unit-Tests?
Wie funktioniert der Scheduler?
Was ist die `<-ch`-Konstruktion in Go?
Gibt es Probleme, wenn man viele Strings in einer Schleife konkatenieren möchte?
Welche Produktmetriken sammeln Sie?
Was passiert, wenn defer außerhalb der Goroutine steht, anstatt innerhalb?
Wie hast du festgestellt, dass es Zeit ist, etwas zu ändern? An welchen Metriken hast du dich orientiert?
Laut Lebenslauf arbeiten Sie derzeit bei [Organisation], stimmt das?
Was ist ein B-Baum-Index?
/* Es gibt eine Anwendung mit einer Microservice-Architektur. Ein Microservice kann durch eine Backend-Schnittstelle abstrahiert werden. Um auf eine Instanz des Microservice zuzugreifen, kann der Typ BackendImpl verwendet werden, der bereits implementiert ist. Jeder Microservice hat mehrere Dutzend laufende Instanzen, die jeweils unter ihrer eigenen Adresse addr erreichbar sind. Allerdings sind einzelne Instanzen des Microservice nicht zuverlässig: sie können abstürzen, nicht erreichbar sein oder überlastet sein. Daher müssen Sie den Typ Balancer implementieren, der ebenfalls die Backend-Schnittstelle implementiert und das Client-seitige Load-Balancing zwischen den Instanzen des Microservice durchführt, wobei jedes Mal die **am wenigsten belastete** Instanz ausgewählt wird. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr enthält ip:port einer bestimmten Instanz func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO } var _ Backend = &Balancer{} // addrs enthalten die Adressen aller balancierten Instanzen func NewBalancer(addrs []string) *Balancer { // TODO }
package main import ( "fmt" ) func main() { c := make(chan string) go fmt.Println(<-c) c <- "Hello World!" fmt.Println("Exit!") }
Sie müssen eine sehr große CSV-Datei in Go verarbeiten. Wie würden Sie das tun, ohne die gesamte Datei in den Speicher zu laden?
Kennst du das Lese-/Schreib-Lastprofil in RPS?
Wie würdest du dich als Golang-Entwickler einschätzen? Bist du jetzt Middle, Middle+, Senior?
Wie optimiert man eine Transaktion mit Zeilensperrung bei hoher Belastung (Flaschenhalsproblem bei der Registrierung mit Einladungscode)?
Was ist API Gateway und warum brauchen wir sie?
Wie werden HTTP-Statuscodes nach Gruppen eingeteilt und was bedeuten sie?
Was denkst du, was ist das Problem mit der In-Memory-Lösung? Was passiert, wenn du den Dienst neu startest?
Erzählen Sie mir von Ihrer Erfahrung mit Datenbanken — außer ClickHouse, welche Datenbanken und wie tiefgehend?