Sobes.tech

Жыйынтыктадан синхрондуу туруктуулук менен орундар жана баланс боюнча эсебиңизди айтып бериңиз.

Senior
OZONOZON
59

Go-дөгү Stop the World деген эмне?

Middle+
VK CloudVK Cloud
59

Go-догу канал эмне жана ал кандайча маалыматтарды өткөрөт?

Middle
Сбертех
59

Кызматтар арасында кантип байланышуу — gRPC, REST же башка нерсе?

Middle+
Magnit Tech
59

Docker, Kubernetes менен иштедиңби? Пайплайн түзүү жөнүндө сүйлөштүңбү?

Middle+
А7
59

пакет сактагыч импорт ( "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
59

Конкуренция менен параллелдиктин айырмасы эмнеде?

Middle
Effective Technologies
59

REST жана Kafkaда коопсуздукту кантип камсыз кылуу керек? HTTPS/TLS деген эмне?

Middle
СБЕРСБЕР
59

Select оператору жөнүндө айтып бериңиз, ал эмне кылат жана эмне үчүн керек.

Senior
sber tech
59

Медициналык агрегатор менен интеграциянын ишенимдүүлүгүн кантип жогорулатып, маалымат жоготууну 2% дан 0,01% га кыскарттыңыз? Бул медицинада 2% жоголгон маалыматтар көп эмеспи?

Middle+
OZONOZON
59

grpc-server AddItemAndOrder ыкмалды ишке ашырыңыз: 1. Сатып алынган товарларды себетке кошуу 2. Себет түзүлгөнү тууралуу мүмкүн болгон керектөөчүлөргө билдирүү брокер аркылуу милдеттүү 3. Себеттин курамы өзгөргөндө, basket.Total = сумма(саны * баа) кайра эсептелиши керек 4. Бардык элементтер ProductID ачкычына ылайык уникалдуу болушу керек 5. Себетти заказ кылуу үчүн, анын статусун ordered кылуу керек 6. Тастыкталган себеттерде өзгөртүүлөргө жол берилбейт Бардык колонкалары бүтүн сандардан турган таблица бар. Коддо төмөнкү суроо бар: select * from t1 where a > ? and b = ? and c != ? order by a;

Middle+
КуперКупер
59

Неге статусду enum кылуу жакшы жана качан string колдонуу жакшы?

Senior
Магнит Тех
58

Redis жалпы кандай көйгөйдү чечет?

Senior
X5 techX5 tech
58

HeadHunterде күнүнө 16 миң резюме көрүү чектөөсү бар, жана кең фильтр бардыгын жейт — кантип чечүү керек?

Senior
OZONOZON
58

Маалыматтар базада кантип сакталат?

Senior
Cloud.ru
58

Сизде эки таблица бар: orders (тартиблер): order_id (тартибдин уникалдуу идентификатору) customer_id (кардардын идентификатору) order_date (тартибдин датасы) total_amount (бардык тартибдин суммасы) customers (кардарлар): customer_id (кардардын уникалдуу идентификатору) customer_name (кардардын аты) city (шаары) Миссия: SQL суроо жазгыла, ал төмөнкү маалыматтарды кайтарат: Жалпы суммасы 1000 доллардан ашкан заказдар жасаган кардарлардын тизмеси (аты жана шаары). 1-абзацтан ар бир кардар үчүн, бардык заказдардын жалпы суммасын көрсөтүңүз.

Senior
WildberriesWildberries
58

API долбоорлоо негиздери

Senior
I-teco
58

Сиз 4 жылдык тажрыйбаңыз бар екенін айттыңыз, бирок 2024-жылы университетти бектірдіңіз. Соңғы курста оқып жүріп жұмыс істедіңіз бе?

Middle
Aliexpress
58

Мага суроолор барбы?

Senior
Cloud.ru
58

TCP менен UDPнин айырмасы эмнеде? Кайсы учурларда колдонулат?

Middle+
MAX LTD Group
58
/412