İctimai buludlardan istifadə etdinizmi? Əgər bəli isə, hansı təminatçılar və xidmətlər?
Golang
Pəncərənin bütün lazım olan simvolları ehtiva etdiyindən necə əmin olmaq olar?
İstifadəçilərə oflayn göndərilən mesajlar necə işlənir?
Son layihələriniz və istifadə olunan texnologiya yığını haqqında bizə məlumat verin.
/* Biz manbadan ma'lumotlarni iste'molchiga uzatishimiz kerak. Manba, ma'lumotlarni kichik partiyalar (~o'n yozuv) shaklida taqdim etadi, holbuki, iste'molchi katta partiyalar (~ming yozuv) bilan ishlashni optimallashtiradi. Haqiqiy misol - Kafka turidagi navbatlardan ma'lumotlarni Clickhouse bazasiga uzatish. Manba: - deyarli cheksiz. - Manba har doim Next chaqiruvida MaxItems dan ko'p yozuvlarni qaytirmaydi. - Bir "sessiya" (bir Pipe funksiyasi chaqiruvi) doirasida, manba har chaqiruvida yangi ma'lumotlarni qaytaradi. - Biroq, qayta ishga tushirilgandan so'ng, manba avvalgi "tasdiqlangan" pozitsiyadan, cookie bilan belgilangan joydan boshlanadi. Shuning uchun, har bir cookie qiymati, Next qaytaradigan, ma'lumotlar saqlangandan so'ng, Commit chaqiruvi bilan tasdiqlanishi kerak, va ular Next tomonidan qaytarilgan tartibda. Qabul qiluvchi: - Bir vaqtning o'zida MaxItems dan ko'p ishlov berolmaydi. Kerakli: func Pipe(p Producer, c Consumer) error funksiyasini amalga oshirish, manbadan ma'lumotlarni o'qib, ularni MaxItems dan oshmaydigan bufferga guruhlab, qabul qiluvchiga saqlash, va keyin manbada progressni tasdiqlash. */ const MaxItems = 9999 type Producer interface { // Next: // - ishlash uchun partiya elementlar // - tugallangach tasdiqlash uchun cookie // - xato Next() (items []any, cookie int, err error) // Commit, ma'lumotlar partiyasini ishlangan deb belgilash uchun ishlatiladi Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }
maxSegment problemini həll etmək üçün alqoritmi təsvir edin
4 - daxil olan tapşırıqları tez qəbul et, 5 - sorğu əsasında tapşırığın nəticəsini qaytar 6 - nəticə yoxdursa, müvafiq statusu qaytar /* Prosesör - uzunmüddətli və resurs tələb edən əməliyyatı yerinə yetirən xidmət. Artıq həyata keçirilib Qaytardığı səhvlər yalnız düzgün olmayan giriş məlumatları ilə əlaqədardır, stabildir və onları yenidən sorğulamaq mənasızdır */ type Processor interface { Process([]byte) ([]byte, error) } /* Biz unikal identifikatorlar (məsələn, UUID) generatorumuz olduğunu qəbul edirik. Generator, toqquşma olmayacağını təmin edir */ type ID string // func NewID() ID /* Planlayıcı müştərilərdən tapşırıqları qəbul edir, onları növbəyə qoyur və emalını başlatır. Eyni zamanda 'threads' metodunun daha çoxu eyni vaxtda işləməməsini təmin edir Tapşırığın vəziyyətini yoxlamağa və nəticəni almağa imkan verir özünün ictimai interfeys metodlarını bloklamır */ type Scheduler struct { processor Processor } func NewScheduler( prc Processor, threads int, ) *Scheduler { // başlanğıc məntiqi return &Scheduler{ processor: prc, } } func (s *Scheduler) Queue(request []byte) ID { // tətbiq et return "" }
Nəticədə nə baş verir — biz necə tampon yığırıq?
Əmək haqqı gözləntiləriniz nədir?
Çox ipli və ya asinxron əməliyyatlarla proqramlar yazma təcrübəniz varmı?
Mikroxidmət memarlığındakı hansı anti-patternləri bilirsiniz?
Gəlin bir nümunə götürək: first=[1,1,2], second=[1,2]. Sizin alqoritminiz nə qaytarmalıdır və çoxaltmalarla düzgün işləyirmi?
Əgər sizə iş təklifi olunub və qəbul etsəniz, işə başlamağa nə qədər vaxt lazım olacaq?
Balans edən backend-in səhvlərlə cavab verdiyini başa düşməlidir və müəyyən bir vaxt ərzində eşiği aşdıqda onu balanslaşdırmadan çıxarmalıdır (Circuit Breaker)
[ad] soruşdu: X-dən kiçik elementin mövqeyini saxlayaraq, mövqe nə olacaq?
İş vaxtınız boyunca liderlik vəzifələri ilə məşğul oldunuzmu?
Hansı verilənlər bazaları və ya digər məlumat saxlama yerləri ilə işlədiniz? Yazma və oxuma üçün saniyədə neçə sorğu (RPS)?
Paylanmış sistemlərin inkişafı və dəstəyi ilə bağlı təcrübəniz varmı?
[şəhər]də hazırda yaşayırsınız və ofisə çıxış ilə hibrid formatda işləmək sizin üçün əlverişli olarmı?
Ən çox yüklü xidmətin idarə etdiyi maksimum sorğu sayı saniyədə nə qədərdir? Doğrudur ki, bu 5–8 min sorğu/saniyədir?