Golang
Kuidas Go-s käsitletakse vigu? Mis on panic ja kuidas seda käsitleda?
Maksimaalne koormus: 25k lugemist / 5k kirjutamist sekundis Uute andmete maht: 10 TB aastas Maksimaalne paralleelsus: 120k samaaegseid päringuid Aastane kasutajate kasv: 30% Eesmärk p99 viivitus: <150 ms lugemisel, <400 ms kirjutamisel Eesmärk kättesaadavus: 99.95% Teie ülesandeks on välja töötada arhitektuuriline lahendus, mis kõrvaldab praegused probleemid, tagab järjepidevuse ja tõrkeid taluva ning rakendab jälgimismehhanisme kogu tellimuse elutsükli jälgimiseks. Kirjeldage tõrkehalduse mehhanismi, migratsiooniplaani olemasolevast arhitektuurist ning selgitage, kuidas pakutud lahendus parandab süsteemi usaldusväärsust ja läbipaistvust.
Mis veel juhtuma (lisaks paanikale) konkurentsliku kirje kirjutamisel ilma sünkroniseerimiseta?
Mis on kontekst Go-s ja milleks seda kasutatakse?
Kuidas toimub sõnumite saatmise ja vastuvõtmise protsess kahe kliendi vahel? Kirjeldage kogu voogu.
Kuidas on kaart organiseeritud Go-s kapoti all?
Disaini töötaja finantsoperatsioonide asünkroonseks töötlemiseks
Miks järjekord (millisest sõnast Q)?
Formaalsem nimi — ligikaudse stringi sobivuse (ligikaudse sobivuse leidmine). On vaja kontrollida, kas esimene string on teise alamstring. Alamstring on siis, kui esimene string saab teise stringist eemaldades mõned tähemärgid. Sisend: 'car', 'cartwheel' Väljund: true Sisend: 'cwhl', 'cartwheel' Väljund: true Sisend: 'cwhee', 'cartwheel' Väljund: true Sisend: 'cartwheel', 'cartwheel' Väljund: true Sisend: 'cwheeel', 'cartwheel' Väljund: false Sisend: 'lw', 'cartwheel' Väljund: false
Kui vana sa oled?
Kuidas sa määratleksid, et vestlus töötab hästi, kui kasutajal pole alternatiivi?
Mis on reverse proxy ja kuidas seda rakendada?
Rääkige mulle oma kogemusest PostgreSQL-iga: kas kujundas skeeme, optimeeris päringuid, haldas?
Kuidas sa mõjutasid protsessi muutust analüütika abil?
Rääkige meile endast ja oma töökogemusest.
Mida te tegite viimases töökohas? Millisel projektil töötasite?
[nimi] küsis: kas tead Saga mustrit?
Kuidas lahendada konkurentsivõimelise broneerimise probleem, kui liigute tõelise andmebaasi juurde?
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 }
Formalizācija prasībām matchmaking sistēmai: kā meklēt spēli, ko darīt, ja pretinieks nav atrasts, kā validēt gājienus, vai nepieciešams taimeris, kā atjaunināt reitingu, vai nepieciešama spēļu vēsture, ko darīt, ja notiek atvienošanās?