Golang
Est-il confortable de passer au «tu» dans le dialogue?
Avez-vous utilisé des clouds publics ? Si oui, quels fournisseurs et services ?
Parlez-nous de votre expérience commerciale avec PostgreSQL et Redis. Depuis quelle année travaillez-vous, quels problèmes avez-vous résolus ? Donnez des cas intéressants.
Parlez-moi du protocole SAML
Et si nous atteignons la capacité de notre solution en mémoire, que pourrais-tu proposer pour libérer de la mémoire?
Qu'est-ce que la traçabilité (tracing) ? Comment la mener ?
Quelle est la différence entre Deployment et StatefulSet dans Kubernetes?
Parlez-moi de votre expérience professionnelle en prenant l'exemple de n'importe quel projet.
Y a-t-il un développement mobile dans votre équipe?
Qu'est-ce que la pile et qu'est-ce que le tas?
Quelle est la raison de quitter [l'entreprise] et qu'est-ce qui vous a incité à entrer sur le marché?
Quelles autres structures sont utilisées pour les index dans les bases de données en plus de l'arbre B?
Raconte-moi comment fonctionne le planificateur de goroutines en Go (GMP).
Pouvons-nous ajouter des éléments à la carte lors de sa transmission à une fonction?
Quelle est la différence entre un canal tamponné et un canal non tamponné en Go?
Souhaitez-vous évoluer en tant que spécialiste technique ou envisagez-vous de passer à la gestion?
Comment avez-vous organisé votre travail avec Kubernetes et Docker ? Les développeurs s'en occupaient-ils eux-mêmes ou DevOps ?
func fetch(ctx context.Context, u User) (string, error) { // faire quelque chose en réseau time.Sleep(time.Millisecond * 10) // simulation de retard return u.Name, nil //return "", errors.New("une erreur") } 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: } }() }
Quelles primitives de synchronisation connais-tu en Go?
Un index peut-il ralentir la lecture (SELECT) ?