Golang
/* On olemas rakendus mikroteenuste arhitektuuriga. Mikroteenust saab abstraktselt kirjeldada `Backend` liidese abil. Ühe mikroteenuse eksemplarile pääsemiseks, saan kasutada `BackendImpl` tüüpi, mis on juba realiseeritud. Iga mikroteenusel on mitu kümneid käimasolevaid eksemplare, iga igaüks on kättesaadav oma aadressi `addr` kaudu. Kuid üksikud mikroteenuse eksemplarid ei ole usaldusväärsed: need võivad kokku kukkuda, olla kättesaamatud või ülekoormatud. Seetõttu peate te rakendama tüüpi `Balancer`, mis samuti realiseerib `Backend` liidese ja teostab koormuse jaotamise mikroteenuse eksemplaride vahel, valides iga kord **vähem koormatud** eksemplari. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr sisaldab konkreetse eksemplari ip:port func NewBackend(addr string) *BackendImpl type Balancer struct { //TODO } var _ Backend = &Balancer{} // addrs sisaldavad kõigi tasakaalustatud eksemplaride aadresse func NewBalancer(addrs []string) *Balancer { //TODO }
Räägi mulle Go-s olevatest slices'idest: mis need on, millest nad koosnevad, mis juhtub, kui lisad appendi funktsioonis, mis võtab slice'i?
Kuidas nimetatakse seda mõõdikut, mis võrdleb klikkide ja näitamiste suhet?
Kuidas mitte oodata kõigi goroutine'ide lõpetamist ErrGroup'is pärast esimest viga?
Kui palju kanaleid oleks vaja selle mehhanismi korraldamiseks, kui kasutatakse kanaleid teenuste tulemuste kogumiseks?
Kas viimases töökohas töötas töölepingu või tsiviillepinguga?
Kui sageli kasutad worker pooli ja milliste ülesannete jaoks?
Kuidas teenused omavahel suhtlesid?
Kas on slaid monotonne? Monotoonne funktsioon on ühe muutuja funktsioon, mis on määratletud reaalarvude osas, ja mis kas kogu aeg (oma määramisalal) ei vähene, või kogu aeg ei suurene. {1,7} - õige {1,1} - õige {3,3,1} - õige {9,5,1} - õige {23,5,23} - vale
Kuidas ühe päringuga saada nimekiri mitteblokeeritud müüjatest, kui sul on tabel kõigi müüjate ja teise ainult blokeeritud müüjate kohta?
Kas teil on kogemusi teadmiste jagamisel kolleegidega, mentorluses?
Kuidas teostada atomiliselt saadavuse kontrolli ja tellimuse loomine, kui loogika viiakse teenusesse?
Mis vahe on materialiseeritud vaate ja tavalise vaate vahel?
Miks päringud kestavad kaua? Kui palju ridu valiti eelmisel kuul?
git push --set-upstream feature/auth git push origin feature/auth git push -u feature/auth origin git push -u origin feature/auth
Kus hoitakse mälu gorutinates?
Millised on plaanid järgmiseks aastaks — mida õppida, mida valdada?
Milliste saavutuste üle olete kõige rohkem uhke ja mida mäletate?
Kui pikk on lõik, mida esmakordselt kutsutakse funktsiooni addNum neljandal real, milline on selle pikkus?
Kas on lihtsamad ja kiirem viis koormuse jaotamiseks, kui valida kõige vähem koormatud backend?