Kako učiniti memoriju konstantnom (ukloniti zavisnost od broja jedinstvenih simbola)?
Golang
Kako će izgledati interakcija klijenta, mikroservisa za autorizaciju i mikroservisa prodavnice pri korišćenju JWT? I šta će se promeniti bez JWT, sa sesijama?
Ispričaj mi o svom radnom iskustvu i čime se baviš.
Ispričaj o projektu AeroHotels: završna arhitektura, kako si projektovao backend?
Šta je slojevita arhitektura i kako je organizovana u tvom projektu?
Koji je bio sastav tima? Da li je bio monofunkcionalan ili cross-funkcionalan?
Koju poziciju trenutno razmatraš za sebe, šta bi bilo interesantno?
Šta je grooming i kako se razlikuje od planiranja?
Zadatak: postoji servis sa ograničenjem od 5 paralelnih zahteva ka LLM. Kada dođe 6. zahtev, dobija se 429. Kako konceptualno rešiti ovaj problem?
/* Postoji aplikacija sa arhitekturom mikroservisa. Mikroservis se može apstrahovati pomoću interfejsa Backend. Za pristup jednoj instanci mikroservisa, može se koristiti tip BackendImpl, koji je već implementiran. Svaki mikroservis ima nekoliko desetina pokrenutih instanci, svaka dostupna putem svoje adrese addr. Međutim, pojedinačne instance mikroservisa nisu pouzdane: the mogu padati, biti nedostupne ili preopterećene. Zato vam je potrebna implementacija tipa Balancer, koji takođe implementira interfejs Backend i vrši balansiranje opterećenja između instanci mikroservisa, birajući svaki put **najmanje opterećenu** instancu. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr sadrži ip:port konkretne instance func NewBackend(addr string) *BackendImpl type Balancer struct { //TODO } var _ Backend = &Balancer{} // addrs sadrže adrese svih balansiranih instanci func NewBalancer(addrs []string) *Balancer { //TODO }
Koji format rada razmatrate?
Koja su tvoja finansijska očekivanja?
/* Дат је низ карактера. Пронађите број парова индекса i и j (i <= j), између којих нема понављајућих карактера. За низ "aba" одговор је 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") */
Šta znate o Yandex-ovom programu multitrek?
Kako se funkcija pojavljuje i stiže do prodaje: planiranje, razvoj, testovi, pregled koda, implementacija, rollback?
Kako ste integrisali LLM u projekat sa potraživanjima? Pričajte uopšteno.
Kako ste radili sa ličnim podacima pre slanja u spoljni LLM?
/* Dat je niz znakova. Pronađite broj parova indeksa i i j (i <= j), između kojih nema ponovljenih znakova. Za niz "aba" odgovor je 5: mogu biti ASCII [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") */
тип Response интерфейс {} tип Backend интерфейс { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr садржи ip:port конкретног примера func NewBackend(addr string) *BackendImpl tип Balancer структура { // TODO backends []*BackendImpl index int mu sync.Mutex } var _ Backend = &Balancer{} func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { ако len(b.backends) == 0 { return nil, fmt.Errorf("Број на бекендови во слајсот е 0") } b.mu.Lock() index := b.index ако b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) return resp, err } // addrs содржи адреси на сите балансирани примероци func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs))