Sobes.tech

Golang

/* Mikroservis arxitekturasi bilan ilova mavjud. Mikroservis Backend interfeysi yordamida abstraktsiya qilinishi mumkin. Bir mikroservis nusxasiga kirish uchun BackendImpl turidan foydalanish mumkin, u allaqachon amalga oshirilgan. Har bir mikroservisda bir necha o'nlab ishga tushirilgan nusxalar mavjud bo'lib, har biri o'z manzili addr orqali kirish mumkin. Ammo, mikroservisning alohida nusxalari ishonchli emas: ular yiqilishi, kirish imkoni bo'lmasligi yoki ortiqcha yuklangan bo'lishi mumkin. Shuning uchun, siz Balancer turini amalga oshirishingiz kerak, u ham Backend interfeysini amalga oshiradi va mijoz tomonida mikroservis nusxalari o'rtasida yukni balanslashni amalga oshiradi, har safar **eng kam yuklangan** nusxani tanlab.

157

Nima uchun koddagi mantiq o'rniga LLM ni ishlatishga qaror qildingiz?

157

O'z tajribangiz haqida qisqacha aytib berishingiz mumkinmi? Asosiy dasturlash tilingiz nima? Sanoat ishlab chiqishda qancha yillik tajribangiz bor?

157

Qaysi ma'lumotlar bazalari bilan ishlaysiz? Maksimal saqlangan ma'lumotlar hajmi qanday edi?

157

JWT ning serverda sessiyalarni saqlashdan qanday afzalligi bor?

156

func Pipe(p Producer, c Consumer) error { // TODO buf := make([]any, 0, MaxItems) cookies := make([]int, 0) flush := func() error { if len(buf) == 0 { return nil } if err := c.Process(buf); err != nil { return err } for _, cookie := range cookies { if err := p.Commit(cookie); err != nil { return err } } buf = buf[:0] cookies = cookies[:0] return nil } for { items, cookie, err := p.Next() if err != nil { flush() return err }

153

Dastlabki bufer uchun qancha xotira ajratilgan?

153

Asosiy dasturlash tilingiz nima? C++ yoki Pythonni ishlatasizmi?

153

Nima uchun backend.Invoke chaqiruvi mutexdan tashqarida amalga oshirildi?

152

Balansyor backend xatolik bilan javob berayotganligini tushunishi kerak, va belgilangan vaqtdan oshib ketganda uni balanslashdan chiqarish (Circuit Breaker)

150

Agar Consumer.Process xato bilan qaytsa — bufferdagi ma'lumotlar yo'qolmaydi?

150

Berilgan S satri, bu satrdagi barcha belgilardan kamida bir marta bo'lgan substrlarni sonini hisoblash kerak. Misollar: "abca" -> 3 // abc, bca, abca "aa" -> 3 // aa, a, a, "ffg" -> 2 // ffg, fg

149

O'zingiz uchun yoki tijorat rivojlanishida foydalanadigan Go dan tashqari qanday dasturlash tillarini ishlatasiz?

147

Hozirda yuqori yuklama ostida sizda maksimal so'rovlar soni qancha?

147

Bu matn satridir. I va j indeks juftliklarining sonini toping (i <= j), ular orasida, shu jumladan, takrorlanmaydigan belgilar bo'lmagan. "aba" satri uchun javob 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") "acbb" satri uchun javob ?:

145

Qaysi dasturlash tilida ishlayapsiz? Sintaksis bilan qiyinchiliklar nima uchun yuzaga keldi?

143

// TODO backends []*BackendImpl index int mu sync.Mutex func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { b.mu.Lock() index := b.index if b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) b.mu.Lock() defer b.mu.Unlock() b.index += 1 return resp, err } // addr ma'lum bir nusxa uchun ip:port ni o'z ichiga oladi func NewBackend(addr string) *BackendImpl // addrs barcha balanslangan nusxalarning manzillarini o'z ichiga oladi func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs)) for _, addr := range addrs { backends = append(backends, NewBackend(addr)) } return &Balancer{ backends: backends, } }

142

Agar zarur bo'lsa yoki shaxsiy istak bilan boshqa dasturlash tiliga o'tishga tayyormisiz?

142

Ish beruvchini tanlashda qanday mezonlarni qoʻllaysiz? Siz uchun eng muhim nimasidir?

141
/11