Sobes.tech

გვითხარით თქვენი ბოლო პროექტები და გამოყენებული ტექნოლოგიური სტეკი.

136

სად ცხოვრობ, სად ხარ?

135

მოდით ვისაუბროთ მიკროწესვიან არქიტექტურაზე. რა იყო ბოლო დროს მეტი: მხარდაჭერა თუ განვითარება?

134

/* Биз манбаадан маълумотларни бир истеъмолчига ўтказишимиз керак. Манба, маълумотларни кичик қисмлар (~ўн ёзув) шаклида беради, холос, истеъмолчи катта қисмлар (~минг ёзув) билан ишлашни самаралироқ қилади. Ҳақиқий мисол — Kafka туридаги навбатлардан маълумотларни Clickhouse маълумотлар базасига ўтказиш. Манба: - Дейдарли чексиз. - Манба ҳеч қачон Next чақирувида MaxItems дан ортиқ ёзув қайтармайди. - Бир "сесия" (бир Pipe функцияси чақируви) давомида, манба ҳар бир Next чақирувида янги маълумотлар қайтариб туради. - Аммо, қайта ишга туширгандан кейин, манба аввалги "тасдиқланган" позициядан, cookie билан белгиланган жойдан бошлайди. Шунинг учун, *ҳар бир* cookie қиймати, Next қайтарган, маълумотлар сақлангандан кейин, Commit чақируви билан тасдиқланиши керак, ва улар Next томонидан қайтарилган тартибда. Қабул қилувчи: - Бир вақтнинг ўзида MaxItems дан кўп ишлай олмайди. Талаб қилинади, func Pipe(p Producer, c Consumer) error функциясини амалга ошириш, ки маълумотларни манбаадан ўқийди, уларни MaxItemsдан ошмайдиган буферга гуруҳлайди ва қабул қилувчига сақлайди, сўнгра, манбада прогрессни тасдиқлайди. */ const MaxItems = 9999 type Producer interface { // Next қайтариб: // - ишлаш учун партия элементлари // - cookie, иш тугаши билан тасдиқланади // - хато Next() (items []any, cookie int, err error) // Commit маълумотлар партиясини ишланган деб белгилаш учун ишлатилади Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }

133

როგორ შემოწმოთ, რომ ფანჯარაში ყველა საჭირო სიმბოლოა?

133

4 - შემოსული დავალებების სწრაფად მიღება, 5 - მოთხოვნის მიხედვით დავალების შედეგის დაბრუნება 6 - თუ შედეგი არ არის, შესაბამისი სტატუსის დაბრუნება /* პროცესორი - სერვისი, რომელიც ახორციელებს ხანგრძლივ, რესურსის ინტენსიურ ოპერაციას. უკვე არის განხორციელებული მისი დაბრუნებული შეცდომები უკავშირდება მხოლოდ არასწორ შემოსავალ მონაცემებს, სტაბილურია და მათი ხელახლა მოთხოვნა უსარგებლოა */ type Processor interface { Process([]byte) ([]byte, error) } /* ვივარაუდოთ, რომ გვაქვს უნიკალური იდენტიფიკატორების (მაგ., UUID) გენერატორი. გენერატორი გარანტიას იძლევა, რომ არ იქნება შეჯახება */ type ID string // func NewID() ID /* სკედულატორი იღებს დავალებებს მომხმარებლებისგან, მათ რიგში დებს და იწყებს პროცესირებას. მოწოდებს, რომ ერთდროულად არ მუშაობს მეტი, ვიდრე 'threads' მეთოდი მოწოდებს შესაძლებლობას, შეამოწმოს დავალების სტატუსი და მიიღოს შედეგი არ ბლოკავს თავის საჯარო მეთოდებს პროცესირებისთვის */ type Scheduler struct { processor Processor } func NewScheduler( prc Processor, threads int, ) *Scheduler { // ინიციალიზაციის ლოგიკა return &Scheduler{ processor: prc, } } func (s *Scheduler) Queue(request []byte) ID { // განხორციელება return "" }

132

აღწერეთ ალგორითმი maxSegment პრობლემის გადაჭრისთვის

131

გვითხარით, რა ხდება საბოლოოდ — როგორ ვაგროვებთ ბუფერს?

131

რა არის თქვენი ანაზღაურების მოლოდინები?

129

გქონდათ თუ არა გამოცდილება მრავალთრედინგული ან ასინქრონული ოპერაციებით პროგრამების დაწერაში?

128

მიკროწარმოების არქიტექტურაში რა ანტიპატტერნებს იცით?

127

მოდით განვიხილოთ მაგალითი: first=[1,1,2], second=[1,2]. რა უნდა დააბრუნოს თქვენი ალგორითმმა და მუშაობს კი ის სწორად დუბლიკატებთან?

125

თუ გთავაზობენ სამუშაოს და მიიღებთ, რამდენი დრო დაგჭირდებათ მუშაობის დაწყებისთვის?

125

[სახელი] იკითხა: როდესაც ელემენტის პოზიცია ნაკლებია X-ზე, რა იქნება მისი პოზიცია?

124

ბალანსატორი უნდა გაიგოს, რომ ბექენდი პასუხობს შეცდომებით, და გარკვეული დროის განმავლობაში ზღვარს გადალახვისას, უნდა გამორიცხოს ის ბალანსირებიდან (Circuit Breaker)

123

რომელ მონაცემთა ბაზებთან ან სხვა მონაცემთა შენახვის სისტემებთან მუშაობდი? რამდენი მოთხოვნა წამში (RPS) წერა და კითხვა?

122

გახდომილხართ თუ არა ლიდერულ დავალებებზე მთელი სამუშაო დროის განმავლობაში?

120

გქონდათ თუ არა გამოცდილება განაწილებული სისტემების განვითარებაში და მხარდაჭერაში?

120

მართალია, რომ ამჟამად ცხოვრობთ [ქალაქში] და თქვენთვის სასურველია ჰიბრიდული ფორმატში მუშაობა ოფისში გასვლით?

118

რა არის მაქსიმალური დატვირთვა მოთხოვნებში წამში, რომელსაც ყველაზე მაღალი დატვირთვის სერვისი მართავდა? სწორი ხომ არის, რომ ეს 5–8 ათასი მოთხოვნა წამში?

118
/11