Golang
Avez-vous entendu parler des quaternions ? Savez-vous comment ils sont utilisés en graphisme informatique ?
Qu'est-ce qu'un index ?
À quoi sert HAVING ?
Qu'est-ce qu'un reverse proxy et comment peut-il être mis en œuvre?
Connais-tu le profil de charge en lecture/écriture en RPS?
Qu'est-ce que le sharding et à quoi sert-il ? Comment choisir la clé de sharding pour les tables du service de taxi (conducteurs, clients, commandes) ?
Que penses-tu, quel est le problème avec la solution en mémoire ? Que se passera-t-il si tu redémarres le service ?
Comment organiser la répartition géographique avec trois régions en assurant une cohérence stricte pour les opérations financières ? Quelle réplication utiliser (maître-maître ou maître-esclave) ?
Quelles méthodes d'optimisation des requêtes de bases de données avez-vous utilisées ? Que regardiez-vous dans EXPLAIN ANALYZE et le plan de requête ?
Comment gérer les erreurs en Go ? Qu'est-ce qu'une panique et comment la gérer ?
Charge maximale : 25k lectures / 5k écritures par seconde Volume de nouvelles données : 10 To par an Parallélisme maximal : 120k requêtes simultanées Croissance annuelle des utilisateurs : 30% Latence p99 cible : <150 ms pour les lectures, <400 ms pour les écritures Disponibilité cible : 99,95% Votre tâche est de développer une solution architecturale qui élimine les problèmes actuels, garantit la cohérence et la tolérance aux pannes, et met également en œuvre des mécanismes de traçabilité pour une surveillance complète du cycle de vie de la commande. Décrivez le mécanisme de gestion des défaillances, le plan de migration depuis l'architecture actuelle, et expliquez comment la solution proposée améliorera la fiabilité et la transparence du système.
Avez-vous de l'expérience en conception de systèmes — concevoir une architecture à partir de zéro, la défendre devant l'équipe?
Qu'est-ce que errors.Is et errors.As, à quoi servent-ils et quel problème résolvent-ils?
Comment la annulation du contexte est-elle implémentée ? Que se passe-t-il à l'intérieur ?
Que se passe-t-il si, lors de l'enrichissement, l'un des services est indisponible (par exemple, le service avec le nom complet/données de l'utilisateur) ? Kafka s'arrête-t-il complètement ?
Comment la map est-elle organisée sous le capot en Go?
Quels sont les inconvénients de la méthode de nettoyage en arrière-plan du cache implémentée ? Comment peut-on l'améliorer ?
Comment les données des annuaires ont-elles été mises à jour dans Redis?
Où travaillez-vous actuellement?
Que faisait ton équipe et que faisais-tu?