Golang
func Copy(src io.Reader, dst io.Writer) error { //... } import gocopy s := file.Open() err := gocopy.Copy(s, d) func Copy(src io.Reader, dst io.Writer) (statusCh, error) { //... go func() { statusCh }() } func Read() { select { case status := <-statusCh: } } type Stat struct { status string err error } func Copy(src io.Reader, dst io.Writer) chan Stat { //... statusCh := make(chan Stat{}) go func() { statusCh{ } } return statusCh } func Read() { select { case status := <-statusCh: } } import gocopy s := file.Open() err := gocopy.Copy(s, d) func Copy(src io.Reader, dst io.Writer) chan Stat { //... statusCh := make(chan Stat{}) buf := make([]byte, 1024) var total int64 go func() { for { n, err := src.Read(buf) if n > 0 { writen, err := dst.Write(buf[:n]) total += int64(writen) if err != nil { statusCh <- Stat{ status: "done with err", err: err, } return } } if err == io.EOF { statusCh <- Stat{ bCopy: total, status: "done", err: nil, } return } if err != nil { statusCh <- Stat{ status: "done with err", err: err, } return } } } return statusCh } func Read() { select { case status := <-statusCh: if status.err != nil { return } } }
Ako možno pracovať s Mapou, keď používate iba kľúče, bez ukladania hodnôt?
Máte skúsenosti s architektúrou založenou na vrstvách?
Existujú termíny alebo už ponuky?
Aké opatrenia je možné prijať na prevenciu prekročenia limitu otvorených deskriptorov súborov v systéme?
Ako skryť vnútorné detaily objektu v jazyku Go?
Môžete vysvetliť koncept vrstvenej architektúry a jej hlavné komponenty?
Akou cestou prechádza gorutina po volaní systémovej funkcie systému?
Ako efektívne aktualizovať alebo získať hodnoty počítadla v dátovej štruktúre map?
Aký je poradie prechádzania prvkov v map v Go? (pevne stanovené podľa nejakého algoritmu / náhodné, určené počas kompilácie / náhodné, určené počas behu)
Môžete vysvetliť, čo sa rozumie pod pojmom User Manager?
Vysvetlite koncept rozdelenia úloh medzi viaceré vlákna alebo procesy na optimalizáciu práce systému. Čo znamená pojem Work-Sharing?
Aké výhody a nevýhody má serverová časť aplikácie?
Aké mechanizmy zabezpečujú odolnosť Kafka voči poruchám a strate dát?
Je možné pridať prvok do slice, ktorý ešte nebol vytvorený alebo inicializovaný?
Aké situácie môžu nastať pri súčasnom zápise do úložiska typu mapa?
Je možné vykonať operáciu čítania údajov zo segmentu, ktorý nebol predtým inicializovaný?
Aké metódy a nástroje poznáš na implementáciu všeobecného programovania vo svojich projektoch?
Máš u nás nejaké otázky?
Ako je v jazyku Go implementovan objektovo orientovaný štruktúra a ako sa líši od klasickej?