Golang
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(advertiserID) if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount partner.Hold -= amount partner.Balance += amount if err := r.save(advertiser); err != nil { return err } if err := r.save(partner); err != nil { return err } r.totalPayouts++ return nil }
Formalierung der Anforderungen an das Matchmaking-System: Wie findet man ein Match, was tun, wenn kein Gegner gefunden wird, wie validiert man Züge, ist ein Timer notwendig, wie aktualisiert man das Rating, ist eine Partie-Historie erforderlich, was tun bei Disconnect?
Welche Regeln für die Arbeit mit Kanälen sollten bei der Entwicklung bekannt sein (geschlossen, offen, wann was gemacht werden darf)?
Haben Sie schon einmal etwas lange gemacht, das letztendlich nicht umgesetzt oder in den Stapel verschoben wurde?
Gibt es Vorangebote in der Hand?
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)?
// 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?
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?
Oder war Redis in einem Rechenzentrum, und alle haben sich an ihn gewandt?
Was ist der Unterschied zwischen einem Array und einem Slice in Go?
Haben Sie Erfahrung im Systemdesign — die Architektur von Grund auf zu entwerfen, vor dem Team zu verteidigen?
Für jede Goroutine wird ein neuer Betriebssystem-Thread erstellt?
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