Sobes.tech

Golang

Proč jste se rozhodli použít LLM místo jednoduché logiky v kódu?

157

Na řádku 60 buf = buf[:0] — co se zde děje?

156

/* 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.

155

V čem je výhodnější JWT oproti ukládání relací na serveru?

154

Používal jste nějaké cloudové služby? Yandex, Google, AWS nebo jiné cloudové služby?

154

Jaký je tvůj hlavní programovací jazyk? Používáš C++ nebo Python?

153

Kolik paměti je původně vyhrazeno pro buffer?

153

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 }

153

Proč bylo volání backend.Invoke provedeno mimo mutex?

150

Co se stane, pokud Consumer.Process vrátí chybu — data z bufferu neztratí?

150

Jaké programovací jazyky, kromě Go, používáte pro sebe nebo v komerčním vývoji?

147

Jaké je maximální množství požadavků za sekundu, které máte nyní při vysoké zátěži?

145

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

145

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ěď ?:

143

// 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, } }

142

Jaká kritéria budete používat při výběru zaměstnavatele? Co je pro vás nejdůležitější?

141

Na jakém programovacím jazyce pracujete? Proč se objevily potíže se syntaxí?

140

Pojďme si povídat o architektuře mikroservisů. Co bylo v poslední době častější: podpora nebo vývoj?

140

Jste ochotni přejít na jiný programovací jazyk, pokud je to nutné nebo z osobních důvodů?

140
/11