Sobes.tech

Golang

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 }

Senior
Pasul LTD
61

Tarixiy ma'lumotlarni yuklash va qayta hisoblash uchun patch jarayonini amalga oshirishda, tarixiy ma'lumotlarni qayta hisoblash nima anglatadi? Nega har kechasi qayta hisoblash kerak?

Senior
МВидео/эльдорадо
61

Go'da panika nima?

Middle+
МВидеоМВидео
61

Bir muammo bilan qolganda va muammoni qanday hal qilishni bilmasang, shunday vaziyatni esla

Senior
I-teco
61

WithCancel, WithTimeout va WithDeadline ning foydalanish misollarini keltira olasizmi?

Senior
Алабуга
61

Qaysi mahsulot metrikalarini yig'ayapsiz?

Middle+
КуперКупер
61

Interpretatsiya qilingan til (Python) va kompilyatsiya qilingan til (Go) o'rtasidagi farq nima? Tanlovga qanday omillar ta'sir qiladi?

Senior
СБЕРСБЕР
61

sync.Map da elementlar sonini (len) olish uchun nima uchun metod yo'q?

Senior
VK CloudVK Cloud
61

/* Mikroservis arxitekturasi bilan ilova mavjud. Mikroservis Backend interfeysi yordamida abstraktsiya qilinishi mumkin. Mikroservisning bir nusxasiga kirish uchun, allaqachon amalga oshirilgan BackendImpl turidan foydalanishingiz mumkin. Har bir mikroservisda bir necha o'nlab ishga tushirilgan nusxalar mavjud, ularning har biri o'z manzili addr bilan kirish mumkin. Biroq, mikroservisning alohida nusxalari ishonchli emas: ular yiqilishi, kirish imkoniyati bo'lmasligi yoki ortiqcha yuklangan bo'lishi mumkin. Shuning uchun, siz klient tomonidagi yukni muvozanatlash uchun Balancer turini amalga oshirishingiz kerak, u ham Backend interfeysini amalga oshiradi va har safar **eng kam yuklangan** nusxani tanlaydi. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr, muayyan nusxaning ip:port manzili func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO } var _ Backend = &Balancer{} // addrs, yuk muvozanatlashadigan barcha nusxalarning manzillarini o'z ichiga oladi func NewBalancer(addrs []string) *Balancer { // TODO }

Middle
Яндекс
61

Siz ishlagan eng katta loyihada nechta odam ishtirok etdi? Oltitadan kam, o'nlarcha, yuzlarcha?

Senior
Яндекс
61

API Gateway nima nima va nima uchun kerak?

Senior
Магнит Тех
61

Arxitektura bilan ishlagansizmi? Bir necha arxitektura yechimlarini aytib bering

Senior
bip.ru
60

Ko'rsatkich ham stekga, ham yong'inga ko'rsatishi mumkinmi?

Middle
VKVK
60

Sizda tahlilchi bo'ldingizmi, ya'ni siz TЗ bo'yicha ishlayapsizmi? Bu qanday ko'rinardi?

Middle+
РамблерРамблер
60

Siz uchun ofis/hibrid ish formatining qanchalik qabul qilinadigan bo'lishi mumkin? (ofis [joylashuv] orasida)

Middle
РедСофт
60

Loyihada ma'lumotlarning mosligi qanday ta'minlanadi?

Middle+
КуперКупер
60

Agar 5 trillion goroutine ishga tushirilsa nima bo'ladi? Qanday optimallashtirish mumkin?

Senior
РамблерРамблер
60

O'zingizni o'rta yoki katta dasturchi sifatida pozitsiyalaysizmi?

Middle+
2gis2gis
60

Xaritada ajratilgan xotira yetarli bo'lmaganda nima bo'ladi? Overflow-buket nima va qachon yaratiladi?

Senior
техвил
60

Go'da kontekst orqali ob'ektni o'tkazishda qanday kamchiliklar bor?

Senior
RedLab
60
/411