Golang
Haben Sie mit Transaktionen in PostgreSQL gearbeitet und mit welchen Isolationsstufen?
Welche Praktiken gibt es, um die Größe des Docker-Images zu verringern?
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(totalPayouts) // Transaktion hinzufügen 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 } func (r *PayoutRepository) find(id string) (Partner, error) { p := Partner{} err := r.db.QueryRow("SELECT * FROM partners WHERE id = " + id).Scan(&p) // $1 hinzufügen if err != nil { if err == sql.ErrNoRows { return p, errors.New("Partner nicht gefunden") } return p, err } return p, nil }
Was ist das OSI-Modell? Was ist die Anwendungsschicht?
Was möchtest du jetzt — was sind deine Erwartungen an die neue Arbeit?
Wie ist die Kommunikation zwischen Microservices organisiert?
Gibt es eine Karriereleiter? Möchtest du dich technisch weiterentwickeln oder in Richtung Management/Teamleitung?
Welche der genannten Synchronisationsmittel mussten in deinem Projekt verwendet werden?
Was bedeutet die Benennung im RPC-Stil? In unserem Fall gRPC und REST — worin unterscheiden sie sich?
[Name] fragte: Hast du mit Cache-Ebenen gearbeitet — im Speicher und verteilt? Kennst du die Kanäle und select in Go?
Kann man den Profiler in der Produktion aktivieren?
Hast du schon von verteiltem Tracing gehört?
Vielleicht kannst du etwas anderes als Mutex und sync.Map vorschlagen, um die Schreibsicherung zu gewährleisten?
Mussten Sie jemals die Zeit verfolgen, Aufgaben in einem System erfassen?
Wie man entscheidet, ob ein Produkt mit etwa 1000 Nutzern eine Microservices- oder Monolith-Architektur benötigt?
Es gibt einen Parkplatz im Einkaufszentrum: Autos fahren rein und raus, und am Ende der Parksession muss bezahlt werden. Wie siehst du das? Entwerfe ein System.
Wie erhält man die Ausgabe 456, wenn man keinen Zeigerempfänger verwendet?
Erklären Sie die Technik zur Lösung des Problems der maximalen Entfernung zum nächstgelegenen belegten Platz
1.21 func main() { var nums []*int for i := 0; i < 10; i++ { nums = append(nums, &i) } for _, v := range nums { go func() { fmt.Println(v) }() } }
Was sind Affinität und Anti-Affinität in Kubernetes?