Golang
func fetch(ctx context.Context, u User) (string, error) { // jotain teemme verkossa time.Sleep(time.Millisecond * 10) // viiveen simulointi return u.Name, nil //return "", errors.New("jokin virhe") } func Do(ctx context.Context, users []User) (map[string]int64, error) { var mu sync.Mutex var wg sync.WaitGroup ch := make(chan error, len(users)) names := make(map[string]int64, 0) ctxWithCancel, cancel := context.WithCancel(ctx) wg.Add(len(users)) for _, u := range users { go func() { defer wg.Done() select { case name, err := fetch(ctx, u): if err != nil { ch <- err return } mu.Lock() names[name] = names[name] + 1 mu.Unlock() case <-ctxWithCancel.Err: } }() }
Milliseid sünkronsusprimitiive sa tead Go-s?
Kuidas toetab Go HTTP/2?
// Parandage kood nii, et taotlused oleksid konkurentsivõimelised ja kuvaks vastuskoodi // ning vead korral, logige need ja jätkake töötlemist package main import "net/http" var addrs = []string{"[link] "[link] "[link] "[link] "[link] "[link] "[link] func main() { var wg sync.WaitGroup data := make(map[string]bool) for _, url := range addrs { wg.Add(1) if !data[url] { data[url] = true go func(url string) { defer wg.Done() resp, err := http.Get(url) if err != nil { log.Println(err) return } log.Println(resp.StatusCode) }(url) } } wg.Wait() }
Mäleta olukorda, kus sa sattusid ummikusse ja ei teadnud, kuidas probleemi lahendada
Millist dokumentatsiooni kirjutad, kui arendad uut teenust?
Mis juhtub, kirjutades mitte-initsialiseeritud (nil) kanalile?
Mis on `<-ch` konstruktsioon Go-s?
Kuidas optimeerida päringut andmebaasi tasandil? Mida näitab EXPLAIN ANALYZE?
Mis vahe on virtualiseerimisel ja konteineriseerimisel?
Miks otsite ja kas olete praegu tööga hõivatud?
Kas tead SOLID-disaini põhimõtteid?
Kas on mudel JSON-tähistega (näiteks RegisterUserRequest) domeenimudel? Kuidas õigesti eristada DTO-d ja domeeniüksust?
Mis on Latency, Throughput, MTU ja Keep-Alive?
Kuidas plaanite OrderService arhitektuuris vahemälu kasutada? Mis täpselt Redisisse salvestatakse?
Milline on DaemonSet'i töölogika?
Millest summast te kaalute pakkumist?
Miks HTTP töötab TCP peal ja mitte UDP peal?
Miks on halb, et Gorutins kirjutab andmeid ühisesse kaardile ilma sünkroniseerimiseta ja kuidas seda parandada?
Milline oli süsteemi koormus ja kui palju parameetreid oli igas päringus?