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("échec de rtt %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
Comment développeriez-vous étape par étape un nouveau microservice avec une entité Book ?
Combien de goroutines peut-on créer sur une seule machine ? Comment compter ?
Que se passe-t-il lorsque vous saisissez [site web] dans le navigateur ? Racontez en détail quels protocoles sont utilisés
À quoi servent les linters dans le code ? Lesquels as-tu utilisés ?
Quelle est la différence entre un ReplicaSet et un Deployment dans Kubernetes?
Que sais-tu du travail avec le contexte en Go ? Quelles méthodes possède-t-il ?
Parle-moi de l'organisation du travail avec la mémoire en Go
Si vous étiez un développeur du langage Go, quelle structure de données utiliseriez-vous pour implémenter un canal tamponné?
Racontez un cas d'utilisation des interfaces dans la logique de production du point de vue de l'architecture
Parlez-moi de la structure vide struct{}. Cas d'utilisation, quelle mémoire occupe-t-elle?
Qu'est-ce qu'un Objet de Valeur et où l'utilise-t-on ? Exemple pratique.
Quels commandes Linux connais-tu ? Raconte un cas de travail avec la console.