Golang
Měli jste v práci úkoly související s architekturou: museli jste navrhnout celou architekturu nebo pouze jednotlivé služby/mikroslužby?
Praktický úkol: binárka 2.1.out se nespouští. Je třeba zjistit proč, pouze pomocí terminálu a samotného binárního souboru.
Pověz mi o svém projektu. Co tam děláš?
Pověz mi o Skupině spotřebitelů. Pokud jsou 3 partice a 2 konzumenti, jak budou rozděleni?
Co jsou ld, rd := 1<<62, 1<<62 v kontextu algoritmu?
Čím se liší konkurence od paralelnosti?
Jak optimalizovat transakci s blokováním řádku při vysoké zátěži (problém úzkého hrdla při registraci pomocí invite kódu)?
Co jsou to autorizační tokeny a jaké existují?
Co je API a k čemu slouží v systémových integracích?
Kde končí kontexty v tomto kódu?
Jak zorganizovat komunikaci mezi gorutinami a jak pracovat s deadlocky?
Co je to observability? Co zahrnuje tento pojem a co je potřeba, aby byl služba připravena na výrobu? Proč jsou potřeba metriky, traces a logs?
Pracoval jsi s cachem? Pokud ano, s jakým?
Píšete okénové funkce a CTE?
Který kanál je pro tento úkol nejlepší: s bufferem nebo bez? Čím se liší?
Na co jsou v kódu lintry? Které jsi použil?
LRU ukládá data na úrovni aplikace — v jakém smyslu se chování cache stává při škálování nepředvídatelným?
Jaký je rozdíl mezi pointer receiver a value receiver při implementaci rozhraní? Kdy použít každý přístup?
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 }
Prosím, pověz mi, čím ses na své současné pozici zabývala, jaké zajímavé úkoly jsi plnila?