Golang
Ar įmanoma paimti struktūros lauko adresą, jei struktūra saugoma žemėlapyje?
Kokius kriterijus naudosite darbdavio pasirinkimui? Kas jums yra svarbiausia?
Kas yra slices Go ir kaip jie yra sukurti?
Ar galima naudoti indeksą tik A stulpeliui filtruojant, jei indeksas yra A, B, C stulpeliuose?
Kaip bendravote su duomenų šaltiniais? Ar teikėte API raktus, rašėte į Kafka ar skaitėte iš Kafka?
Jūs paėmėte 500 pranešimų partiją iš Kafka, tačiau jų negalite išsaugoti duomenų bazėje. Kas nutiks? Kiek laiko galima apdoroti šiuos 500 pranešimus?
Kodėl ieškote naujo darbo?
Asmeniškai išbandžiau, kad Postgres perkelia stulpelius ir optimizatoriui nesvarbu, kokia tvarka rašysi užklausą — jis pats ją perrikiuos kaip reikia. Ką manai?
Ar dirbote su transakcijomis PostgreSQL ir su kuriais izoliacijos lygiais?
Kokios praktikos egzistuoja, kad sumažintumėte Docker vaizdo dydį?
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(totalPayouts) // pridėti transakciją jei err != null { grąžinti err } partner, err := r.find(partnerID) jei err != null { grąžinti err } reklamuotojas.Balance -= amount partner.Hold -= amount partner.Balance += amount jei err := r.save(reklamuotojas); err != null { grąžinti err } jei err := r.save(partner); err != null { grąžinti err } r.totalPayouts++ grąžinti null } funkcija (r *PayoutRepository) find(id string) (Partner, error) { p := Partner{} err := r.db.QueryRow("SELECT * FROM partners WHERE id = " + id).Scan(&p) // pridėti $1 jei err != null { jei err == sql.ErrNoRows { grąžinti p, errors.New("partneris nerastas") } grąžinti p, err } grąžinti p, null }
Ką dabar nori — kokios tavo lūkesčiai dėl naujo darbo?
Kaip organizuota komunikacija tarp mikroservisų?
Ar yra karjeros kelias? Ar norite techniniu ar vadovavimo/komandos lyderio kryptimi tobulėti?
Kuriuos iš išvardytų sinchronizacijos būdų turėjote naudoti savo projekte?
Ką reiškia RPC stiliaus pavadinimas? Mūsų atveju, gRPC ir REST — kuo jie skiriasi?
[vardas] paklausė: ar dirbote su cache lygių — atmintyje ir paskirstytuose? žinote apie kanalus ir select Go?
Ar galima įjungti profilerį gamyboje?
Galbūt galite pasiūlyti ką nors daugiau, išskyrus Mutex ir sync.Map, rašymo apsaugai?
Ar kada nors teko stebėti laiką, tvarkyti užduočių apskaitą kokioje nors sistemoje?