Golang
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(advertiserID) // pridėti sandorį if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount // apsaugoti SELECT FOR UPDATE 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 }
Kur norite tobulėti — techninėje srityje ar labiau vadyboje?
Ką rodo komanda EXPLAIN ir kokius duomenis ji teikia?
Papaskinkite daugiau apie taškų sistemą — kas vyko aukščiausio lygio?
Kaip prijungti profiler'į Go? Kaip imti profilius?
Ar šiuo metu turi prioritetus ar planais?
Ar bus skirtumas vykdymo laike, jei palyginsime tą pačią funkciją su surūšiuotu ir nesurūšiuotu masyvu? Kas yra branch prediction ir procesoriaus pipeline?
Kokios sudedamosios dalys taps siauru kaklu skalaujant nuo 1000 iki 10000-20000 RPS?
Ką darėte su nebegaliojančiomis žinutėmis po rankinio apdorojimo? Kaip tai atrodė techniškai?
Kas yra slapukas? Koks jo dydis ir gyvenimo trukmė? Iš kur jie iš pradžių atsiranda naršyklėje?
Ar dabar dirbi?
Kaip bendradarbiavote — ar buvo bendros susitikimai, planavimas, kasdieniai susitikimai?
Kokiu morphing būdu norite naudoti, jei Shape Keys neveikia?
Kas vyksta pridedant, jei srities talpa nėra pakankama (naujo masyvo paskirstymas)?
Kaip nustatyti, ar produktui, turinčiam apie 1000 naudotojų, reikalinga mikroservisų ar monolitinė architektūra?
Kas negerai su skaitiklio didinimo kodu 1000 gorutinose? Kaip tai pataisyti naudojant mutex, atomic ar kanalus?
Prekybos centre yra automobilių stovėjimo aikštelė: automobiliai įvažiuoja ir išvažiuoja, ir parkavimo sesijos pabaigoje reikia imti mokestį. Kaip tai matote? Sukurkite sistemą.
Ar rašėte operatorius Kubernetes?
Kas yra Inversion of Control?
Ar turėjote prieigą prie gamybos?