Sobes.tech

Golang

S kojim bazama podataka ste radili? Kroz ORM ili nativnim upitima? Koje nativne upite ste pisali i na kojem nivou?

Senior
wilix
34

func merge(chs ...<-chan int) <-chan int { }

Middle
RWB
34

Objasni šta je indeksiranje u bazama podataka, čemu služi, koje su njegove prednosti i mane.

Middle
VKVK
34

Da li ste ograničili dubinu skrolovanja? Spomenuli ste korišćenje bulk za početno učitavanje podataka, ali kako ste upravljali inkrementalnim ažuriranjima kada se promenila cena ili naziv proizvoda? Kako ste obezbedili sinhronizaciju Elasticsearch-a?

Middle
AndersenAndersen
34

Regruter ne razume prioritete, jednostavno kaže 'potrebno mi je 300 kandidata' — kako da to obradimo?

Senior
OZONOZON
34

пакет за складиштење import ( "database/sql" "errors" "fmt" "time" "github.com/company/my-service/internal/event" "github.com/company/my-service/internal/metric" ) type Partner struct { ID string `db:"id" json:"id"` Balance float32 `db:"balance" json:"balance"` Hold float32 `db:"hold" json:"hold"` } type PayoutRepository struct { db sql.DB eventPublisher event.Publisher metricCollector metric.Collector totalPayouts int } func NewPayoutRepository() *PayoutRepository { db, err := sql.Open("postgres", "host=localhost user=postgres password=postgres dbname=affiliate") if err != nil { panic(err) } r := PayoutRepository{ db: db, eventPublisher: event.NewKafkaPublisher("localhost:9092"), metricCollector: metric.NewPrometheusCollector("localhost:9090"), } go func() { for range time.Tick(time.Minute) { _ = r.metricCollector.Send("TotalPayouts", r.totalPayouts) } }() return r } 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 } func (r *PayoutRepository) find(id string) (Partner, error) { p := Partner{} err := r.db.QueryRow("SELECT * FROM partners WHERE id = " + id).Scan(&p) if err != nil { if err == sql.ErrNoRows { return p, errors.New("partner not found") } return p, err } return p, nil } func (r *PayoutRepository) save(p Partner) error { _, err := r.db.Exec( fmt.Sprintf("UPDATE partners SET balance = %s, hold = %s WHERE id = %s", p.Balance, p.Hold, p.ID), ) if err != nil { return err } if err := r.eventPublisher.Publish("BalanceChanged", p); err != nil { return err } return nil }

Senior
Pasul LTD
34

Kako se zove konstrukcija WITH ... AS (...) u redu 84 upita?

Middle
СитиДрайвСитиДрайв
34

Koja vrsta multitaskinga se koristi u Go? Kako planer Go prekida goroutine?

Middle+
VK CloudVK Cloud
34

Zašto ste koristili Redis umesto in-memory keša?

Senior
OkkoOkko
33

Da li ste radili sa transakcijama u PostgreSQL i sa kojim nivoima izolacije?

Senior
2gis2gis
33

Да ли још комуницираш са другим компанијама? Да ли већ имаш понуде?

Middle+
FinFrame
33

Ispričajte o radu s Kafka: što se dešava kada se nakupi lag, koji su rizici i kako su riješeni?

Senior
А7
33

Ispričaj mi o situaciji kada si predložio inicijativu i je odbranio.

Middle
WildberriesWildberries
33

Koja komanda prikazuje дискови простор?

Middle+
VK CloudVK Cloud
33

главни пакет func main() { c := make(chan int) за опсег 3 { select { подразумевано: println(1) случај <-c: println(2) случај c <- 1: println(3) } } }

Senior
Wildberries & Russ Bank
33

Koje su vrste međuprocesne komunikacije (IPC)?

Senior
AvitoAvito
33

Kako je bilo dodavanje i uklanjanje pravila ako je to bio veliki switch-case?

Middle+
А7
33

Kako bi trebalo da programeri koriste AI alate za generisanje ili pregled koda, i koje korake je potrebno preduzeti da bi se njihov izlaz validirao?

Senior
AndersenAndersen
33

Da li je standardna biblioteka net/http dovoljna za pisanje produkcijskog web servera u čistom Go bez okvira?

Senior
Spectr
33

Kako su povezani blockchain i CAP teorema? Da li je blockchain uvek dostupan?

Senior
Лига Цифровой ЭкономикиЛига Цифровой Экономики
33
/412