func collectRTT(ctx context.Context, urls []string) (map[string]time.Duration, error) { pingMap := make(map[string]time.Duration, len(urls)) var mu sync.Mutex var wg sync.WaitGroup errCh := make(chan error, 1) for _, url := range urls { wg.Add(1) go func(u string) { defer wg.Done() dur, err := rtt(ctx, u) if err != nil { select { case errCh <- fmt.Errorf("RTT xətası %s, %w", u, err): default: } return } mu.Lock() pingMap[u] = dur mu.Unlock() }(url) } wg.Wait() close(errCh) if err := <-errCh; err != nil { return nil, err } return pingMap, nil }
Golang
Povedz mi svoj flow profilovania v Go
Ako možno ukončiť gorutinu? Aké sú spôsoby?
Povedaj mi o prázdnej štruktúre struct{}. Prípadové štúdie, koľko pamäte zaberá?
Ako by ste krok za krokom vyvinuli nový mikroservis s entitou Book?
Koľko gorutín je možné vytvoriť na jednom stroji? Ako sa počítajú?
Čo sa deje, keď zadáš [webová stránka] do prehliadača? Opíš čo najpodrobnejšie, aké protokoly sa používajú
Čo vieš o práci s kontextom v Go? Aké metódy má?
Porozprávaj o organizácii práce s pamäťou v Go
Keby si bol vývojárom jazyka Go, akú dátovú štruktúru by si použil na implementáciu vyrovnávacieho kanála?
Povedzte prípad použitia rozhraní v produkčnej logike z pohľadu architektúry
Čo je to Value Object a kde sa používa? Praktický príklad.
Aké príkazy Linux poznáš? Porozprávaj o prípade práce s konzolou.