Golang
Co přesně psát do zprávy Kafka? Jaká pole předávat konzumentům?
Čím jste se nejčastěji zabývali ve svých každodenních úkolech? Oprava chyb, refaktoring, podpora, vývoj nových funkcí?
// Otázka 3 // Popište, jaký úkol tento kód řeší // Jaké problémy jsou v tomto řešení? // Jak byste tento kód přepsali? var c int var mu sync.RWMutex type Trace struct { // Některá pole zde } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { mu.Lock() defer mu.Unlock() c++ if c == 100 { go func() { sender.Send(tr) }() c = 0 } }
Pokud má systém 24 jader, kolik procesorů bude v modelu GMP?
Jaké nástroje používáte k hodnocení výkonu a profilování při vývoji aplikace v Go?
Kromě imperativního programovacího paradigmatu existuje i funkcionální — víte, jaké má výhody?
Zabýváš se také dekompozicí a technickým zpracováním úkolů?
len() — jaká je délka čeho?
Jaký je hlavní rozdíl mezi Repeatable Read a Serializable?
Uveďte hlavní datové typy v Go
Pověz mi o CAP-ově teorému
Existuje služba pro blokování prodejců: jedna metoda přijímá ID prodejce a zapisuje ho do tabulky zablokovaných. Jak bys tuto logiku implementoval?
Jak se nazývá konstrukce WITH ... AS (...) na řádku 84 dotazu?
Proč jsi použil klíčové slovo defer?
Co je to datová závod?
Jak přistupujete k navrhování architektury? Odkud začínáte?
Jak budeš vybírat mezi několika nabídkami?
Co víte o balíčku sync/atomic?
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(totalPayouts) // přidat transakci 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) // přidat $1 if err != nil { if err == sql.ErrNoRows { return p, errors.New("partner nenalezen") } return p, err } return p, nil }
Proč jste vstoupili na trh, jaká je motivace k přechodu?