Golang
Parle-moi de ton expérience chez [entreprise] : comment tu es arrivé, sur quel produit tu as travaillé?
D'où provenaient les données ? Les logisticiens les envoyaient-ils ou comment ?
Comment les tâches ont-elles été gérées dans l'équipe — du business à l'analyste jusqu'au leader?
Que peut-on faire pour éviter l'évacuation de la carte dans un service à haute charge ?
func (c *Client) Send(ctx context.Context, messages []Message, maxWorkers int) error { sem := make(chan struct{}, maxWorkers) var wg sync.WaitGroup var resultErr error var once sync.Once for _, msg := range messages { wg.Add(1) go func(msg Message) { defer wg.Done() sem <- struct{}{} defer func() { <-sem }() body, err := json.Marshal(msg) if err != nil { once.Do(func() { resultErr = err; cancel() }) return } req, _ := http.NewRequestWithContext( ctx, http.MethodPost, c.url, bytes.NewReader(body), ) req.Header.Set("Content-Type", "application/json") resp, err := c.httpClient.Do(req) if err != nil { once.Do(func() { resultErr = err; cancel()}) return } defer resp.Body.Close() if resp.StatusCode >= 500 { once.Do(func() { resultErr = fmt.Errorf("server error") cancel()}) return } c.sentCount.Add(1) time.Sleep(time.Second) }(msg) } wg.Wait() }
Parlez-moi des modèles de conception. Qu'est-ce que la verrouillage à double vérification et à quoi sert-il?
Communiques-tu encore avec d'autres entreprises ? Peut-être que tu as déjà des offres ?
Comment avez-vous géré la situation lorsque les comptes lors des transferts atterrissaient sur différents shards?
Comment convertir un nombre en système binaire?
Comment avez-vous procédé à l'optimisation de PostgreSQL et quelles méthodes d'optimisation avez-vous utilisées?
//Il faut décrire le modèle de la bibliothèque. Il y a 3 entités : "Auteur", "Livre", "Lecteur" Physiquement, il n'y a qu'un seul livre et il ne peut être avec qu'un seul lecteur. Il faut créer des tables pour la bibliothèque en tenant compte de cela.
Qu'est-ce que le changement de contexte des goroutines ? Qui le réalise ?
À partir de quel montant considères-tu l'offre en attentes financières?
Quelle est la complexité des opérations avec une map dans le pire cas en cas de collisions?
Où seront situés le tableau et la carte : dans le tas ou sur la pile ?
Comment avez-vous optimisé les requêtes en pratique ? Que regardez-vous lorsque la poignée ralentit ?
Comment fonctionne une table de hachage?
Qu'est-ce qu'un reverse proxy et qu'utilise-t-on généralement pour sa mise en œuvre?
Peut-on mettre un contexte dans un contexte ?
Parlez-moi de la conception du système de modération/orchestrateur — comment l'avez-vous conçu, quelles décisions avez-vous prises?