Golang
Дар бораи захираи дар хотираи ҷойгиршавӣ ва балансиҳо бо устувории ҳамоҳанг аз хулоса гап занед.
Stop the World дар Go чист?
Чӣ тавр канал дар Go ва чӣ гуна додаҳоро интиқол медиҳад?
Чӣ гуна бо хизматрасониҳо муошират кардан — gRPC, REST ё чизе дигар?
Оё бо Docker, Kubernetes кор кардаед? Дар бораи сохтани пайплайнов сӯҳбат кардед?
пакет за съхранение 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 }
Таво фарқияти байни рақобат ва параллелизм чист?
Чӣ тавр бехатарӣ дар REST ва Kafka таъмин карда мешавад? HTTPS/TLS чист?
дар бораи оператори select, ки чӣ мекунад ва барои чӣ лозим аст, нақл кунед.
Чӣ гуна муваффақ шудем, ки эътимоднокии ҳамгироии бо агрегатори тиббиро баланд бардошта, талафоти маълумотро аз 2% то 0,01% кам кунем? Оё ин бисёр нест — 2% маълумоти гумшуда дар тиб?
grpc-server AddItemAndOrder መንገድን አከናውን: 1. ምርቶችን ወደ ማህደር አክል 2. ማህደሩ ተፈጥሯል ብለው ለሚችሉ ተጠቃሚዎች ማሳወቂያ ማድረግ አለበት በመልእክት ባለሞያ 3. ማህደሩ ዝርዝር ለመለወጥ basket.Total = ሁሉም ብዛት * ዋጋ እንደገና መልስ እንዲሰጥ 4. ሁሉም እቃዎች በ ProductID ቁልፍ ላይ በተለያዩ መሆን አለባቸው 5. ለመደምደሚያ ሁሉንም ማህደር ያስተካክሉ 6. በትክክል የተያዙ ማህደሮች ላይ ማሻሻል አይቻልም አንድ ሰንጠረዥ አለ፣ ሁሉም ኮሎኖች ቁጥር ናቸው። በኮድ ከሚከተለው ጥያቄ አለ: select * from t1 where a > ? and b = ? and c != ? order by a;
Чаро беҳтар аст, ки вазъро ҳамчун enum созем ва кай беҳтар аст, ки аз string истифода барем?
Redis баъдан чӣ мушкилотро ҳал мекунад?
HeadHunter дар 16 ҳазор тамошо кардани резюме дар рӯз маҳдуд аст ва филтри васеъ ҳама чизро мехӯрад — чӣ гуна ҳалли онро ёфтан мумкин аст?
Додатҳо дар базаи додаҳо чӣ гуна нигоҳ дошта мешаванд?
Ду таблица ҳастанд: orders (фармонҳо): order_id (шумораи фармони ягона) customer_id (шумораи муштарӣ) order_date (санаи фармон) total_amount (ҳамагӣ маблағи фармон) customers (муштариён): customer_id (шумораи муштарӣ) customer_name (номи муштарӣ) city (шаҳри муштарӣ) Вазифа: Писед SQL, ки маълумоти зеринро баргардонад: Рӯйхати муштариён (ном ва шаҳр), ки фармонҳо бо маблағи умумии беш аз 1000 доллар додаанд. Барои ҳар як муштарӣ аз нуқтаи 1, ҷамъоварии умумии ҳамаи фармонҳоро нишон диҳед.
Принсипҳои тарҳрезии API
Шумо гуфтаед, ки 4 сол таҷриба доред, аммо дар соли 2024 донишгоҳро хатм кардед. Охирин курста таҳсил мекардед ва ҳамзамон кор мекардед?
Оё саволҳои шумо ба ман ҳастанд?
Таҳлили фарқияти байни TCP ва UDP? Кадом ҳолатҳои истифода ҳастанд?