Golang
Welche Nebenwirkungen können bei der Verwendung von Goroutinen zur Verarbeitung einer Datei auftreten, worauf sollte man vorbereitet sein?
Was ist der Unterschied zwischen EXPLAIN und EXPLAIN ANALYZE?
/* Es gibt eine Anwendung mit einer Microservice-Architektur. Ein Microservice kann durch die Schnittstelle Backend abstrahiert werden. Um auf eine Instanz des Microservice zuzugreifen, kann man den Typ BackendImpl verwenden, 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 ausfallen, nicht erreichbar sein oder überlastet sein. Daher müssen Sie den Typ Balancer implementieren, der ebenfalls die Schnittstelle Backend implementiert und das Load-Balancing auf der Client-Seite durchführt, indem er bei den Instanzen des Microservice jedes Mal die **am wenigsten belastete** auswählt. */ 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 }
Haben Sie Cloud-Dienste genutzt? Yandex, Google, AWS oder andere Cloud-Services?
Hauptpaket import ( "fmt" ) func main() { c := make(chan string, 1) go fmt.Println(<-c) c <- "Hallo Welt!" fmt.Println("Ausgang!") } fataler Fehler: alle Goroutinen sind eingeschlafen - Deadlock! goroutine 1 [Kanal empfangen]: main.main() /tmp/sandbox[phone]/prog.go:10 +0x3a Programm beendet: Status 2.
Kann man EXPLAIN ANALYZE in der Produktion durchführen?
Fragen an den Interviewer über das Unternehmen und die Prozesse
Kann man einen zusammengesetzten Index (A, B, C) verwenden, wenn man nur nach der Spalte B filtert?
Arbeiten Sie jetzt oder nicht, und in welchem Format: Büro, hybrid, remote?
Was ist der Unterschied zwischen einem Haufen und einem Stapel?
Was ist der Unterschied zwischen einer materialisierten Ansicht und einer normalen Ansicht?
Was sind Goroutines in Go? Worin unterscheiden sie sich von Betriebssystem-Threads? Wie funktioniert der Scheduler von Go (GMP-Modell)?
Was ist der Unterschied zwischen Dependency Inversion und Dependency Injection? Welche Implementierungen von Dependency Injection gibt es?
Wie nummeriert man Zeilen in einer Abfrage?
Hatten Sie einen Analysten, das heißt, Sie haben nach einem Auftrag gearbeitet? Wie sah das aus?
Beschreiben Sie den Kompilierungsprozess eines Go-Programms: Was passiert beim Ausführen von go build?
Erzählen Sie uns vom Projekt, dem Team und den Hauptaufgaben an Ihrem aktuellen Arbeitsplatz
Gibt es einfachere und schnellere Möglichkeiten, die Last auszugleichen, anstatt den am wenigsten ausgelasteten Backend zu wählen?
Wie wird die Konsistenz der Daten im Projekt gewährleistet?
Wie erkennt man, dass das System stabil läuft?