Proč jste se rozhodli použít LLM místo jednoduché logiky v kódu?
Golang
Na řádku 60 buf = buf[:0] — co se zde děje?
/* Existuje aplikace s architekturou mikroservisů. Mikroservis lze abstrahovat pomocí rozhraní Backend. Pro přístup k instanci mikroservisu lze použít typ BackendImpl, který je již implementován. Každý mikroservis má několik desítek spuštěných instancí, z nichž každá je dostupná na své adrese addr. Nicméně jednotlivé instance mikroservisu nejsou spolehlivé: mohou selhat, být nedostupné nebo přetížené. Proto musíte implementovat typ Balancer, který také implementuje rozhraní Backend a provádí load balancing na straně klienta mezi instancemi mikroservisu, vybírajíc pokaždé **nejméně zatíženou** instanci.
V čem je výhodnější JWT oproti ukládání relací na serveru?
Používal jste nějaké cloudové služby? Yandex, Google, AWS nebo jiné cloudové služby?
Jaký je tvůj hlavní programovací jazyk? Používáš C++ nebo Python?
Kolik paměti je původně vyhrazeno pro buffer?
func Pipe(p Producent, c Spotřebič) 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 }
Proč bylo volání backend.Invoke provedeno mimo mutex?
Co se stane, pokud Consumer.Process vrátí chybu — data z bufferu neztratí?
Jaké programovací jazyky, kromě Go, používáte pro sebe nebo v komerčním vývoji?
Jaké je maximální množství požadavků za sekundu, které máte nyní při vysoké zátěži?
Daná je řetězec S, je třeba spočítat počet podřetězců v tomto řetězci, které obsahují všechny znaky tohoto řetězce alespoň jednou. Příklady: "abca" -> 3 // abc, bca, abca "aa" -> 3 // aa, a, a, "ffg" -> 2 // ffg, fg
Toto je řetězec znaků. Najděte počet párů indexů i a j (i <= j), mezi nimiž, včetně, nejsou opakující se znaky. Pro řetězec "aba" je odpověď 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") Pro řetězec "acbb" je odpověď ?:
// 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 obsahuje ip:port konkrétní instance func NewBackend(addr string) *BackendImpl // addrs obsahují adresy všech vyvažovaných instancí func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs)) for _, addr := range addrs { backends = append(backends, NewBackend(addr)) } return &Balancer{ backends: backends, } }
Jaká kritéria budete používat při výběru zaměstnavatele? Co je pro vás nejdůležitější?
Kde bydlíš, kde se nacházíš?
Na jakém programovacím jazyce pracujete? Proč se objevily potíže se syntaxí?
Pojďme si povídat o architektuře mikroservisů. Co bylo v poslední době častější: podpora nebo vývoj?
Jste ochotni přejít na jiný programovací jazyk, pokud je to nutné nebo z osobních důvodů?