Golang
func main() { c := make(chan int, 1000) var wg sync.WaitGroup wg.Add(100) for i := 0; i < 100; i++ { go func() { defer wg.Done() foo(c) }() } go func() { wg.Wait() close(c) }() sum := 0 for r := range c { sum += r } // fmt.Println(sum) } func foo_req(c chan int) error { r := rand.Int() for i := 0; i < r; i++ { c <- r } }
Quels principes suivez-vous dans votre travail?
Parle-moi plus en détail de ton expérience chez EMCD Tech — qu'y as-tu fait, comment as-tu évolué en deux ans et demi?
Parlez-moi du processus de travail : comment les tâches étaient-elles attribuées, quel référentiel était utilisé, quels étaient les contours ?
Parlez-moi du travail avec les slices en Golang : comment fonctionnent la capacité, la longueur et ce qui se passe en cas de dépassement.
Quels types de mémoire existe-t-il en Go ? Quelle est la différence entre la pile et le tas (heap) ?
Parlez-moi de netpoller en Go.
```go func fail() { panic("Échouer!") } func main() { fmt.Println("Démarrage!") var wg sync.WaitGroup wg.Add(1) go func() { defer func() { if e := recover(); e != nil { fmt.Println(e) } }() fail() wg.Done() }() wg.Wait() fmt.Println("Fin!") } ```
func (r *PayoutRepository) save(p Partner) error { _, err := r.db.Exec( fmt.Sprintf("UPDATE partners SET balance = %s, hold = %s WHERE id = %s", p.Balance, p.Hold, p.ID), ) if err != nil { return err } if err := r.eventPublisher.Publish("BalanceChanged", p); err != nil { return err } return nil }
Quelle est la différence entre les commandes EXPLAIN et EXPLAIN ANALYZE dans PostgreSQL?
Comment rendre une structure de données générique (fonctionnant avec n'importe quel type de valeur) en Go?
Quels domaines de projets envisagez-vous (fintech, commerce de détail, infrastructure, etc.)?
Pourquoi n'a-t-on pas pu construire toute la vitrine côté client et simplement afficher les métriques via le service sur le frontend ? Pourquoi la logique a-t-elle été compliquée côté service ?
Pourquoi avez-vous décidé de rejoindre le marché du travail maintenant, qu'est-ce qui vous a poussé à cette décision?
Parlez-moi de vous et de votre expérience professionnelle précédente, tout ce que vous jugez pertinent pour le poste de développeur Go.
Comment gérer un incident lorsque votre service affecte d'autres services (par exemple, bloque des tables dans la base de données) ?
Comment ça se passe avec l'observabilité, que peux-tu raconter?
Qu'est-ce qu'une extinction gracieuse et comment la mettre en œuvre?
Comment les données sont-elles stockées dans la base de données?
À quoi servent les canaux non tamponnés ? Pourquoi ne peut-on pas toujours utiliser un canal avec un grand tampon ?