Kaip padaryti atmintį pastovią (pašalinti priklausomybę nuo unikalių simbolių skaičiaus)?
Golang
Papaskink apie savo darbo patirtį ir ką darote.
Kaip veiks klientas, autorizacijos mikroservisas ir parduotuvės mikroservisas naudojant JWT? Ir kas pasikeis be JWT, su sesijomis?
Papaskink apie AeroHotels projektą: galutinė architektūra, kaip projektavai backend'ą?
Kas yra sluoksninė architektūra ir kaip ji buvo organizuota tavo projekte?
Kokia buvo komandos sudėtis? Ar tai buvo monofunkcinė ar kryžminė funkcija?
Koki poziciją dabar svarstote sau, kas būtų įdomu?
Kas yra grooming ir kuo jis skiriasi nuo planavimo?
Užduotis: yra paslauga su 5 paraleliais užklausų apribojimu LLM. Kai pateikiama 6-a užklausa, gaunamas 429. Kaip šią problemą konceptualiai išspręsti?
/* Yra programa su mikroservisų architektūra. Mikroservisas gali būti abstrakčiai apibrėžtas naudojant `Backend` sąsają. Norint pasiekti vieną mikroserviso egzempliorių, galima naudoti `BackendImpl` tipą, kuris jau yra įgyvendintas. Kiekvienas mikroservisas turi kelias dešimtis veikiančių egzempliorių, kiekvienas prieinamas per savo adresą `addr`. Tačiau atskiros mikroserviso egzemplioriai nėra patikimi: jie gali kristi, būti neprieinami arba perkrauti. Todėl jums reikia įgyvendinti `Balancer` tipą, kuri taip pat įgyvendina `Backend` sąsają ir atlieka apkrovos balansavimą tarp mikroserviso egzempliorių, kiekvieną kartą pasirenkant **mažiausiai apkrautą** egzempliorių. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr turi konkretaus egzemplioriaus ip:port func NewBackend(addr string) *BackendImpl type Balancer struct { //TODO } var _ Backend = &Balancer{} // addrs turi visų balansuojamų egzempliorių adresus func NewBalancer(addrs []string) *Balancer { //TODO }
Kokį darbo formatą svarstote?
Kokios yra jūsų finansinės lūkesčiai?
/* Duota simbolių eilutė. Raskite porų indeksų i ir j (i <= j) skaičių, tarp kurių nėra pasikartojančių simbolių. Eilutės "aba" atveju atsakymas yra 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") */
Ką žinote apie Yandex multitrack programą?
Kaip funkcija atsiranda ir pasiekia pardavimą: planavimas, kūrimas, testai, kodo peržiūra, diegimas, atšaukimas?
Kaip integravote LLM į skolų projektą? Papasakokite apskritai.
/* Duotas simbolių eilutė. Raskite indeksų i ir j porų skaičių (i <= j), tarp kurių nėra pasikartojančių simbolių. Eilutės "aba" atveju atsakymas yra 5: gali būti ASCII [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") */
tipas Response sąsaja {} tipas Backend sąsaja { Invoke(ctx: kontekstas, req: Request): Response, error } var _ Backend = &BackendImpl{} // addr nurodo konkretaus pavyzdžio ip:port adresą func NewBackend(addr: string) *BackendImpl tipas Balancer struktūra { // TODO backends []*BackendImpl index int mu sync.Mutex } var _ Backend = &Balancer{} func (b *Balancer) Invoke(ctx: kontekstas, req: Request) (Response, error) { jei len(b.backends) == 0 { grąžinti nil, fmt.Errorf("Backends skaičius masyve yra 0") } b.mu.Lock() index := b.index jei b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) grąžinti resp, err } // addrs apima visų balansuotų pavyzdžių adresus func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs))
Kaip dirbote su asmeniniais duomenimis prieš juos siunčiant į išorinį LLM?