Golang
Comment avez-vous influencé la modification du processus avec l'analyse ?
As-tu de l'expérience avec gRPC et GraphQL ? Parle-moi d'eux.
type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr contient l'adresse ip:port d'une instance spécifique func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO backends []*BackendImpl index int mu sync.Mutex } var _ Backend = &Balancer{} func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { si len(b.backends) == 0 { return nil, fmt.Errorf("Le nombre de backends dans le slice est 0") } b.mu.Lock() index := b.index si b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) return resp, err } // addrs contient les adresses de toutes les instances équilibrées func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs))
Raconte brièvement ce que vous avez fait dans vos emplois précédents et quelles fonctionnalités vous avez réalisées.
Comment fonctionne une map en Go?
Quels modèles architecturaux avez-vous appliqués dans votre travail?
Comment avez-vous optimisé les scripts de recherche?
Parlez-moi des caractéristiques de Kafka — comment est-elle conçue?
Connaissez-vous le mécanisme de croissance de taille égale dans map ? Qu'est-ce que l'évacuation dans map et lors de quelles opérations elle se produit ?
Quelle fonction de la bibliothèque standard doit être utilisée pour extraire une erreur d'un type spécifique?
Quels problèmes peuvent survenir lors du sharding?
Quelles tables et champs sont nécessaires dans la base de données PostgreSQL pour ce messager?
Regarde le schéma de la base de données ci-dessus — que peut-on ajouter, ou tout est en ordre?
Afficher les combinaisons uniques d'utilisateur et d'ID de produit pour tous les achats effectués par des utilisateurs avant qu'ils ne soient bannis. Trier d'abord par nom d'utilisateur, puis par SKU Trouver les utilisateurs ayant effectué des achats pour un montant supérieur à 5000 roubles. Afficher leurs noms au format id utilisateur | prénom | nom | montant des achats
Comment vous évaluez-vous dans le cadre des niveaux — Middle, Middle+, Senior?
Comment votre travail en équipe était-il organisé : processus, artefacts, tests, déploiement ?
Comment générez-vous des mocks pour les tests unitaires?
Quels peuvent être les effets secondaires lors de l'utilisation de goroutines pour traiter un fichier, à quoi faut-il être prêt?
Quelle est la différence entre un canal tamponné et un canal non tamponné en Go?
Pourquoi changez-vous de travail?