Kodėl nusprendėte naudoti LLM vietoj paprastos logikos kode?
Golang
Eilutėje 60 buf = buf[:0] — kas čia vyksta?
/* Mikroservisų architektūra su aplikacija. Mikroservisas gali būti abstrakčiai apibrėžtas naudojant Backend sąsają. Norint pasiekti mikroserviso egzempliorių, galima naudoti tipą BackendImpl, kuris jau yra įgyvendintas. Kiekvienas mikroservisas turi keletą dešimčių veikiančių egzempliorių, kurių kiekvienas yra pasiekiamas 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ą, kuris taip pat įgyvendina Backend sąsają ir atlieka kliento pusės apkrovos balansavimą tarp mikroserviso egzempliorių, kiekvieną kartą **mažiausiai apkrauto** egzemplioriaus pasirinkimą.
Kuo skiriasi JWT nuo sesijų saugojimo serveryje?
Ar naudojote kokias nors debesų paslaugas? Yandex, Google, AWS ar kitas debesų paslaugas?
Koks yra pagrindinis programavimo kalba, kurį naudoji? Ar naudoji C++ ar Python?
Kiek atminties iš pradžių skirta buferiui?
func Pipe(p Producer, c Consumer) error { // TODO buf := make([]any, 0, MaxItems) cookies := make([]int, 0) flush := func() error { if len(buf) == 0 { return nil } if err := c.Process(buf); err != nil { return err } for _, cookie := range cookies { if err := p.Commit(cookie); err != nil { return err } } buf = buf[:0] cookies = cookies[:0] return nil } for { items, cookie, err := p.Next() if err != nil { flush() return err }
Kodėl backend.Invoke iškvietimas buvo iškeltas už mutex ribų?
Kas nutiks, jei Consumer.Process grąžins klaidą — ar duomenys iš buferio nepraras?
Kokias programavimo kalbas, išskyrus Go, naudojate sau ar komerciniam vystymui?
Kokia yra maksimali užklausų per sekundę skaičius, kurį šiuo metu turite esant dideliam apkrovimui?
Duota eilutė S, reikia suskaičiuoti šios eilutės substrings, kurios turi visus šios eilutės simbolius bent po vieną kartą. Pavyzdžiai: "abca" -> 3 // abc, bca, abca "aa" -> 3 // aa, a, a, "ffg" -> 2 // ffg, fg
Tai yra simbolių eilutė. Raskite indeksų i ir j porų skaičių (i <= j), tarp kurių, įskaitant, nėra pasikartojančių simbolių. Eilutės "aba" atsakymas yra 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") Eilutės "acbb" atsakymas yra ?:
// TODO backends []*BackendImpl index int mu sync.Mutex func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { b.mu.Lock() index := b.index if b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) b.mu.Lock() defer b.mu.Unlock() b.index += 1 return resp, err } // addr turiu konkretaus pavyzdžio ip:port func NewBackend(addr string) *BackendImpl // addrs turi visų balansuojamų pavyzdžių adresus func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs)) for _, addr := range addrs { backends = append(backends, NewBackend(addr)) } return &Balancer{ backends: backends, } }
Kokius kriterijus naudosite darbdavio pasirinkimui? Kas jums yra svarbiausia?
Kur gyveni, kur esi?
Kokiame programavimo kalba dirbate? Kodėl kilo sintaksės sunkumų?
Pakalbėkime apie mikroservisų architektūrą. Kas pastaruoju metu buvo dažniau: palaikymas ar kūrimas?
Ar esate pasiruošęs pereiti į kitą programavimo kalbą, jei reikės arba dėl asmeninių norų?