Golang
Welche Microservices hast du entwickelt? Was für Dienste sind das genau?
Wenn Sie eine Karte erstellen, eine Million Werte hinzufügen, dann alle Elemente entfernen und den GC aufrufen – kehrt der Speicher zum ursprünglichen Wert zurück?
// Korrigieren Sie den Code, damit die Anfragen gleichzeitig erfolgen und der Antwortcode angezeigt wird // und im Fehlerfall, zeigen Sie das Protokoll und setzen Sie die Verarbeitung fort package main import "net/http" var addrs = []string{"[link] "[link] "[link] "[link] "[link] "[link] "[link] func main() { var wg sync.WaitGroup data := make(map[string]bool) for _, url := range addrs { wg.Add(1) if !data[url] { data[url] = true go func(url string) { defer wg.Done() resp, err := http.Get(url) if err != nil { log.Println(err) return } log.Println(resp.StatusCode) }(url) } } wg.Wait() }
Was ist die O-Notation (Big O-Notation)?
Haben Sie schon etwas über Quaternionen gehört? Wissen Sie, wie sie in der Computergrafik verwendet werden?
// Aufgabe 3 // Beschreiben Sie, welche Aufgabe dieser Code löst // Welche Probleme gibt es bei dieser Lösung? // Wie würden Sie diesen Code umschreiben?
Warum gibt es in sync.Map keine Methode, um die Anzahl der Elemente (len) zu erhalten?
Erzähle mir von Slices in Go. Was sind sie und welche Punkte sollten bei der Arbeit mit ihnen beachtet werden?
Nach welchen Kriterien wirst du das Angebot auswählen, wenn es mehrere gibt?
Kann man einer Funktion eine beliebige Anzahl von Argumenten übergeben?
Was ist ein Reverse-Proxy und wie kann man ihn implementieren?
Kann ein Zeiger sowohl auf den Stack als auch auf den Heap zeigen?
Wie werden Nachrichten verarbeitet, die an Benutzer im Offline-Modus gesendet werden?
Warum ist die Kombination aus Load Balancer + API Gateway notwendig? Welche Rolle spielt jede Komponente?
Das Ereignis kommt im ersten Rechenzentrum aus Kafka an, wir erfassen es und speichern es in Redis. Wie kamen diese Daten in alle drei Rechenzentren an?
Was passiert, wenn man 5 Billionen Goroutines startet? Wie optimieren?
// Tabelle Produkte: // ID | cnt_view // ----------- // 1 | 100 // Zwei Benutzer haben gleichzeitig begonnen, das Produkt mit id = 1 anzusehen // und in unserer Datenbank wurden 2 parallele Transaktionen gestartet // Was wird das Ergebnis sein? postgresql func IncrementView(ctx context.Context, db *sql.DB, id int64) error { tx, err := db.BeginTx(ctx, nil) if err != nil { return err } defer tx.Rollback() var cnt int err = tx.QueryRowContext(ctx, "SELECT cnt_view FROM goods WHERE id = $1", id, ).Scan(&cnt) if err != nil { return err } cnt++ _, err = tx.ExecContext(ctx, "UPDATE goods SET cnt_view = $1 WHERE id = $2", cnt, id, ) if err != nil { return err } return tx.Commit() }
Für jede Goroutine wird ein neuer Betriebssystem-Thread erstellt?
Was ist eine Unternehmensplattform zur Verarbeitung von Logistik- und Betriebsdaten der Einzelhandelsnetzwerke des Konzerns? Wurden die Logistikrouten zusammengestellt, berechnet oder wie?
Es gibt 3 Entitäten: Benutzer, Chat, Nachricht • Der Benutzer hat einen Namen und ein Registrierungsdatum • Der Chat hat einen Namen und ein Erstellungsdatum • Die Nachricht hat Text, Autor und Erstellungsdatum • Ein Benutzer kann gleichzeitig in mehreren Chats sein • Eine Nachricht gehört unbedingt zu einem Chat und kann nicht gleichzeitig mehreren Chats zugeordnet sein • Der Anwendungsbereich soll in Form von Tabellen beschrieben werden