Golang
```go func fail() { panic("Fehler!") } func main() { fmt.Println("Start!") var wg sync.WaitGroup wg.Add(1) go func() { defer func() { if e := recover(); e != nil { fmt.Println(e) } }() fail() wg.Done() }() wg.Wait() fmt.Println("Fertig!") } ```
Wie viele Personen waren an dem größten Projekt beteiligt, an dem du gearbeitet hast? Weniger als zehn, Dutzende, Hunderte?
// Frage 5. Was wird auf dem Bildschirm angezeigt func main() { ch := make(chan int, 5) for i := 1; i <= 5; i++ { ch <- i } for true { fmt.Println(<-ch) } }
Was ist Profiling in Go? Musstest du pprof verwenden?
Angenommen, die Aufgabe ist in Go Version 1.18. Was ändert sich im Verhalten des Programms?
Wie kommuniziert man zwischen Diensten — gRPC, REST oder etwas anderes?
Haben Sie einen Wehrpass?
Was sind deine finanziellen Erwartungen?
Erzählen Sie uns von gRPC: warum wählen, Vorteile, Einschränkungen
Was ist im sync-Paket?
// Beim Aktualisieren einer Bestellung müssen wir die Bestelldaten an mehrere Dienste senden (Drittanbieter-APIs) // die Anzahl der Dienste wächst (kann Tausende+ sein) // Wir haben den Code geschrieben, am Anfang lief alles gut, aber mit der Zeit begann unser Dienst, viel Speicher zu verbrauchen func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Stellen wir uns vor, das ist ein langer Netzwerkanruf response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "Fehler beim Senden", err) return } s.logger.Info(ctx, "Erfolg", response) }() } }
Woher kommen 4-5k RPS?
Ist die Standardkarte in Go threadsicher? Welche Alternativen gibt es?
Erzähle mir von der schwierigsten technischen Aufgabe, mit der du während deiner Arbeit an dem Projekt konfrontiert wurdest.
Erzähle mir von dir und deinem aktuellen Projekt. Woran arbeitest du?
Haben Sie mit gespeicherten Prozeduren in Datenbanken gearbeitet?
Ab welchem Betrag ziehst du ein Angebot in Betracht?
Welcher Datentyp in Go wird verwendet, um Unicode-Zeichen darzustellen?
Wie verläuft der Prozess des Sendens und Empfangens von Nachrichten zwischen zwei Clients? Beschreiben Sie den vollständigen Ablauf.
Wie erfolgt die DNS-Auflösung in Kubernetes? Erklären Sie FQDN und die DNS-Auflösungskette.