Milline oli suurim andmemaht, millega te töötasid, ja kui palju oli lugemis/kirjutamis päringuid?
Golang
/* Mikroservisu arhitektūra ar lietojumprogrammu. Mikroserviss var tikt abstrakts ar Backend saskarni. Lai piekļūtu mikroservisa eksemplāram, var izmantot tipu BackendImpl, kas jau ir realizēts. Katrs mikroserviss ir vairākas desmiti darbojošu eksemplāru, katrs pieejams ar savu adresi addr. Tomēr, atsevišķi mikroservisa eksemplāri nav uzticami: tie var krist, būt nepieejami vai pārslogoti. Tādēļ, jums jārealizē Balancer tips, kas arī realizē Backend saskarni un veic klienta puses slodzes līdzsvarošanu starp mikroservisa eksemplāriem, katru reizi **mazāk noslogotā** eksemplāra izvēli.
Kas saaksite lühidalt rääkida oma kogemusest? Milline on teie peamine programmeerimiskeel? Kui palju aastat kogemust teil on tööstuslikus arenduses?
Miks otsustasite kasutada LLM-i mitte lihtsalt loogika asemel koodis?
Milline on JWT eelised võrreldes sessioonide salvestamisega serveris?
Milline on sinu peamine programmeerimiskeel? Kas kasutad C++ või Python?
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 }
Kui palju mälu on algselt eraldatud buferile?
Kirjeldage algoritmi maxSegment ülesande lahendamiseks
Miks oli backend.Invoke väljakutse välja viidud mutexi väljast?
Balansseerim peab aru saama, et backend vastab vigadega, ja ületades teatud aja jooksul piiri, see välja lülitada tasakaalustamisest (Circuit Breaker)
Mis juhtub, kui Consumer.Process tagastab vea — kas andmed püsivad pildil?
Antud on S string, tuleb arvutada selle stringi alamstringide arv, mis sisaldavad kõiki selle stringi märke vähemalt ühe korra. Näited: "abca" -> 3 // abc, bca, abca "aa" -> 3 // aa, a, a, "ffg" -> 2 // ffg, fg
Kui suur on teie praegu kõrge koormuse ajal sekundis tehtavate päringute maksimaalne arv?
Milliseid programmeerimiskeeli, Go kõrval, kasutate ise või kaubanduslikus arenduses?
See on tähemärkide jada. Leidke indeksite i ja j paare arv, mille vahel, kaasa arvatud, ei ole korduvaid tähemärke. Jada "aba" puhul on vastus 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a")
Milliseid kriteeriume kasutate tööandja valimisel? Mis on teile kõige olulisem?
Millises programmeerimiskeeles te töötate? Miks tekkisid süntaksi raskused?
// 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 contains ip:port of a specific instance func NewBackend(addr string) *BackendImpl // addrs contain addresses of all load-balanced instances func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs)) for _, addr := range addrs { backends = append(backends, NewBackend(addr)) } return &Balancer{ backends: backends, } }
Olete valmis vajadusel või isikliku sooviga üle minema teise programmeerimiskeelde?