Wie haben Sie entschieden, in welche Teile Sie das Monolith aufteilen?
Golang
Wie lange haben Sie die Daten für die Duplizierung gespeichert? Bis zu welchem Punkt haben Sie erkannt, dass es ein Duplikat ist?
Was ist der Unterschied zwischen HTTP/1.1 und HTTP/2?
Wer war für die Verträge zwischen den Diensten verantwortlich? Wer war der Eigentümer des Vertrags und wie haben Sie ihn geändert?
Wenn wir alle Daten zuerst in den Speicher lesen und dann nur noch lesen, ist es dann möglich, auf Mutex zu verzichten? Macht es in einem solchen Szenario Sinn, eine Map zu verwenden?
Warum funktioniert der B-Baum gut für Ungleichheits- und Bereichsanfragen?
Warum haben Sie genau so viele Dienste gemacht? Wie lief die Entscheidung ab — einen Dienst zu machen oder nicht?
Wie aktiv prüfst du die Angebote basierend auf deinem Suchstatus? Gibt es bereits Angebote oder Fristen für deren Annahme?
Erzähl mir ein bisschen über dich: Was hast du in deinem letzten Job gemacht, welche Hauptaufgaben hast du erledigt, und erzähle von einer schwierigen oder interessanten Aufgabe, die du kürzlich umgesetzt hast — was war, was hast du gemacht, was ist daraus geworden.
```go type User struct { ID int Name string } var ( dbHits int ) func getUserInfoFromDB(id int) User { time.Sleep(100 * time.Millisecond) dbHits++ return User{ID: id, Name: fmt.Sprintf("User-%d", id), } } func main() { var wg sync.WaitGroup for i := 0; i < 5; i++ { wg.Add(1) go func(i int) { defer wg.Done() fmt.Println(getUserInfoFromDB(i)) }(42) } wg.Wait() fmt.Println("DB hits:", dbHits) } ``` Korrigieren Sie den Fehler im Code, der mit dem gleichzeitigen Zugriff auf die Variable dbHits zusammenhängt.