Golang
Kuidas on kaart organiseeritud Go-s kapoti all?
Disaini töötaja finantsoperatsioonide asünkroonseks töötlemiseks
// kaupade tabel: // ID | cnt_view // ----------- // 1 | 100 // kaks kasutajat alustasid samaaegselt toote vaatamist ID = 1 // ja meie andmebaasis käivitusid 2 paralleelset tehingut // mis saab olema tulemus? postgresql func IncrementView(ctx context.Context, db *sql.DB, id int64) error { tx, err := db.BeginTx(ctx, nil) if err != nil { return err } defer tx.Rollback() var cnt int err = tx.QueryRowContext(ctx, "SELECT cnt_view FROM goods WHERE id = $1", id, ).Scan(&cnt) if err != nil { return err } cnt++ _, err = tx.ExecContext(ctx, "UPDATE goods SET cnt_view = $1 WHERE id = $2", cnt, id, ) if err != nil { return err } return tx.Commit() }
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?
Milliseid veebiservere teate peale Nginx?
Kuidas te sooritasite Kafka tarbijate skaleerimise? Milliste kriteeriumide järgi?
Kuidas sa määratleksid, et vestlus töötab hästi, kui kasutajal pole alternatiivi?
Mis on reverse proxy ja kuidas seda rakendada?
// Küsimus 1. Mida ekraanil näidatakse? package main import "fmt" func main() { s := "Hello world" s[0] = "h" fmt.Println(s) }
Meeskonna koosseis arvu järgi?
HTTP/1.1 võimaldab saata binaarseid andmeid päringu kehas — siis mis on peamine erinevus HTTP/2-ga?
Kes arhitektuuri projektis — sina kui funktsiooni juht, koos meeskonnaga, või meeskonna juhina?
Rääkige meile endast ja oma töökogemusest.
[nimi] küsis: kas tead Saga mustrit?
Kuidas lahendada konkurentsivõimelise broneerimise probleem, kui liigute tõelise andmebaasi juurde?
Mis on kiire mängud?
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?