Golang
Entwerfen Sie ein Schach-App-System: Matchmaking, Erstellung von Spielsitzungen und Aufzeichnung der Ergebnisse. Geben Sie die Dienste, ihre Interaktion und die Datenspeicher an.
Angenommen, unser Microservice muss auf eine externe API zugreifen, zum Beispiel eine Zahlungs-Gateway, aber diese beginnt plötzlich stark zu verlangsamen oder fällt ganz aus. Wie schützt du deine Anwendung normalerweise vor solchen Nachbarn, damit nicht unser ganzer Service ausfällt?
Was sind Replikation, Sharding und Partitionierung?
type Sem Schnittstelle { Lock() error //gibt einen Fehler zurück, wenn der Kanal voll ist TryLock() bool // wir versuchen einfach, es zu sperren, wenn es klappt, true Release() //Kanal freigeben Cap() int // Anzahl der laufenden Goroutinen FreeSpace() int //zeigt, wie viel freier Platz im Kanal ist } //Struktur //channel - an einen Puffer denken //capacity int //mutex
Was ist Idempotenz bei Anfragen an den Dienst?
Erzähl mir von dir, deiner Erfahrung, wie du die IT-Richtung und Entwicklung gewählt hast, warum genau Go, wie du in deiner Karriere vorangekommen bist?
/** :-))) :-(( "ab :-)" = "ab " "ab :-)))" = "ab " "ab :-)))(" = "ab (" "ab ):-)" = "ab )" ":-)" = "" **/ func deleteP(str string) string { }
Kann die Fehlerbehandlung standardisiert werden?
Was ist ein inode in Linux?
Welche Liefergarantien bietet Kafka? Was muss im Producer getan werden, um exactly-once zu erreichen?
Was kann ich mit dem neuen Pool machen? Kann ich Aufgaben nach dem Start hinzufügen?
Beeinflusst die Größe des Kanalpuffers etwas im Worker-Pool?
Welcher Git-Befehl kann verwendet werden, um Updates vom Remote-Repository zu holen, ohne sie mit dem aktuellen Branch zu mergen?
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 }
Wie wurde der neue Service in die Produktion eingeführt? Welche Schwierigkeiten gab es beim Umzug?
Welche Datenmengen wurden für die Analysten in ClickHouse übertragen?
Welche Probleme können bei der Verwendung von Triggern auftreten?
Wann hilft der Index nicht oder schadet sogar?
Was suchst du gerade für dich, warum möchtest du das Unternehmen/das Projekt/das Produkt wechseln?
Wie kann man Goroutines verwalten und laufen sie alle in einem einzigen Thread?