Golang
Pourquoi êtes-vous passé de [entreprise] à [entreprise] ?
Quels critères utilises-tu pour sélectionner les entreprises, sur quoi te bases-tu?
Pouvons-nous passer une tranche en paramètre d'une fonction?
Comment les tâches arrivent-elles en travail ? Parlez-moi de ce processus.
Parle-moi des bases de données — avec lesquelles tu as travaillé et avec lesquelles tu travailles actuellement?
Question sur le service lent Prenons l'exemple de la création d'une commande. Il y a une requête au service et une réponse, entre ces deux actions, nous enregistrons dans l'analyse les produits commandés (par exemple, pour compter la popularité des produits). Le service d'analyse fonctionne lentement ou timeout parfois, et nous ne parvenons pas à répondre à temps, perdant ainsi des commandes. Que faire pour ne plus perdre de commandes et donc d'argent? Imaginer comment paralléliser la commande et l'analyse.
Comment les erreurs sont-elles gérées en Go ? Quelle est la différence entre errors.Is et errors.As ?
Précision de la zone de responsabilité : machine à états, Outbox Transactionnelle, verrouillages optimistes
Imaginez une situation : vous ne pouvez pas trouver de terrain d'entente avec un testeur dans votre équipe qui vous 'cherche des noises' en permanence. Comment allez-vous interagir ?
Qu'est-ce que les brokers de messages ? Les connaissez-vous ? En quoi RabbitMQ diffère-t-il de Kafka ?
Que se passera-t-il si il faut abandonner Kafka et le remplacer par un autre broker de messages? Comment isoler Kafka des services externes?
Comment fonctionne le processus de sortie ? Comment s'est déroulé la dernière sortie avec votre participation ?
Que faut-il faire pour que le serveur REST API (dépôt de code) commence à fonctionner dans Kubernetes?
Parlez-moi de l'arrêt gracieux : qu'est-ce que c'est, que se passe-t-il lors de celui-ci, comment est-il appelé ? Quels processus le service exécute dans Kubernetes après avoir reçu SIGTERM ?
Selon vous, où commence le highload ? Quelle est la frontière entre highload et non-highload ?
Vous avez un service qui génère de nombreuses goroutines. Comment limiteriez-vous le nombre de goroutines en cours d'exécution simultanément?
Qu'est-ce qu'un appel système (syscall) ?
Parlez-moi plus en détail des projets en Go
Laquelle des options suivantes est la plus probable de se produire lors de la tentative de lancer un très grand nombre de goroutines (par exemple, des dizaines de milliers) sans contrôle supplémentaire? - Le problème principal sera causé par le verrouillage du mutex global dans le runtime, ce qui entraînera un arrêt complet de l'exécution du programme - Le planificateur de Go exécutera les goroutines en petits groupes de manière séquentielle, donc leur nombre croissant n'affectera presque pas la consommation de mémoire - La création massive de goroutines peut entraîner une consommation importante de mémoire et des coûts supplémentaires pour le planificateur; dans de tels cas, un pool de workers est approprié - Si le nombre de goroutines dépasse le nombre de processeurs logiques, Go commencera automatiquement à rejeter de nouvelles exécutions de goroutines avec une panique
Parle-moi de Kubernetes — qu'est-ce que c'est, en quoi il diffère de Docker, quels sont ses composants principaux?