Golang
Wie werden HTTP-Statuscodes nach Gruppen eingeteilt und was bedeuten sie?
Erzählen Sie von den Arten von Kontexten in Go: Background, WithTimeout, WithCancel und andere.
Der Verbraucher erhält eine Nachricht von Kafka, speichert sie im Puffer, wenn das Batch fertig ist, schreibt es und committet. Was passiert, wenn der Service im Moment der Batch-Erstellung abstürzt?
Warum wurde die Partition nach Status gewählt, wenn historisch mehr gekündigte als aktive Mitarbeiter vorhanden sind?
Welches der folgenden ist ein Synchronisationsmittel in Go? (Kanäle, sync.WaitGroup, sync.Mutex, sync.Cond)
Wurde Parallelisierung zur Beschleunigung der Verarbeitung verwendet?
Was sind die Unterschiede zwischen HTTP/1, HTTP/2 und HTTP/3?
Was gefällt dir an der Arbeit nicht? Was nervt dich am meisten?
Wie sieht die Interaktion zwischen Client, Authentifizierungs-Mikroservice und Shop-Mikroservice bei Verwendung von JWT aus? Und was ändert sich ohne JWT, mit Sessions?
Wie man die Ausführung von zwei worker() parallel statt sequenziell macht (6 Sekunden → 3 Sekunden)?
Hat er Dokumentation geschrieben?
Wie haben Sie das Sharding in PostgreSQL durchgeführt? Welchen Hash-Algorithmus haben Sie verwendet?
Schlagen Sie optimale Indizes für eine Abfrage mit Filterung nach den Feldern location und gender (Geschlecht) für maximale Leistung vor
Neben Go, womit haben Sie noch gearbeitet bei Message-Brokern, Datenbanken?
Was genau wurde nach der Entdeckung mit den Duplikaten gemacht? Wo wurden sie gereinigt?
import "fmt" func maxDistants(arr []int) int { maxDist := 0 lastOne := -1 for i := 0; i < len(arr); i++ { if arr[i] == 1 { if lastOne == -1 { maxDist = i } else { dist := (i - lastOne) / 2 if dist > maxDist { maxDist = dist } } lastOne = i } } if arr[len(arr)-1] == 0 { dist := len(arr) - 1 - lastOne if dist > maxDist { maxDist = dist } } return maxDist } func main() { fmt.Println(maxDistants([]int{1, 0, 0, 0, 1})) }
Bezüglich der Spezifik der Startup: Die Aufgaben sind nicht immer klar definiert, manchmal verschwommen, Eigeninitiative und Autonomie sind gefragt, die Arbeitsbelastung kann ungleichmäßig sein. Wie fühlen Sie sich dabei?
An welchem Projekt oder Produkt arbeiten Sie derzeit?
Warum möchten Sie Ihren Arbeitsplatz wechseln?
Was wird bei jedem Print ausgegeben? func fn(a []int) { a[2] = 5 a = append(a, 6) fmt.Println(a) // a = append(a, 7) a[0] = 5 fmt.Println(a) // } func main() { a := make([]int, 0, 5) for i := 0; i < 4; i++ { a = append(a, i) } fn(a[:3]) fmt.Println(a) // }