Question d'entretien pour Développeur backend

Vous construisez un produit B2B. Comment isolez-vous les données d'un client de celles d'un autre ?

Ce que le recruteur cherche à évaluer, comment structurer votre réponse et un exemple parlé à adapter.

Réponse rapide

Les trois options sont un schéma partagé avec une colonne d'identifiant de tenant, un schéma par tenant, et une base par tenant, en arbitrant entre simplicité opérationnelle et isolation. Le schéma partagé passe le mieux à l'échelle et coûte le moins cher mais exige que le filtre de tenant soit appliqué structurellement, par exemple avec la sécurité au niveau ligne ou une couche de données qui l'applique toujours. Une base par tenant donne l'isolation la plus forte et la restauration par client la plus simple, à un vrai coût opérationnel.

Pourquoi les recruteurs posent cette question

C'est une question d'architecture aux conséquences commerciales évidentes : elle influe sur le coût d'intégration, les voisins bruyants, les engagements de conformité et la façon dont vous restaurez les données d'un seul client. Le recruteur veut une discussion d'arbitrage, pas un favori. Mentionner la sécurité au niveau ligne, l'effort de migration sur des milliers de schémas, et la sauvegarde et l'export par tenant lui dit que vous avez pensé au-delà de la première réunion de conception.

Comment structurer votre réponse

  • Présentez les trois modèles sur un axe isolation contre coût.
  • Indiquez votre choix par défaut et les conditions qui le changeraient.
  • Expliquez comment vous appliquez la frontière structurellement, pas par convention.
  • Traitez l'exploitation : migrations, sauvegardes, restauration par tenant et voisins bruyants.

Exemple de réponse

Exemple parlé, à la première personne

Mon choix par défaut est un schéma partagé avec un identifiant de tenant sur chaque table, parce que c'est le moins cher à exploiter et qu'intégrer un client est une insertion plutôt qu'un travail de provisionnement. Le danger est évident, une clause where manquante fuit des données entre clients, donc je ne laisse jamais ça à la discipline. J'utilise la sécurité au niveau ligne avec le tenant défini depuis la session authentifiée, pour que même une requête écrite à la main ne renvoie rien en dehors du tenant, et j'ajoute des tests qui tentent délibérément de lire les lignes d'un autre tenant. Je passe à un schéma ou une base par tenant quand il y a un vrai déclencheur : un client avec une exigence contractuelle de résidence des données, une poignée de comptes grands comptes assez gros pour constituer leur propre charge, ou un régime de conformité qui veut une séparation démontrable. Les coûts sont ceux que les gens sous-estiment : une migration tourne désormais sur chaque schéma, le pooling de connexions devient plus dur, et il faut de l'automatisation pour le provisionnement et la restauration par tenant. J'ai aussi dû traiter les voisins bruyants séparément, avec des limites de débit par tenant, parce que l'isolation des données n'est pas l'isolation de la capacité.

Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.

Voir comment ça marche

Questions de relance à prévoir

  • Comment restaureriez-vous les données d'un seul client depuis une sauvegarde dans un schéma partagé ?
  • Comment exécutez-vous une migration de schéma sur des milliers de tenants en toute sécurité ?
  • Comment empêchez-vous un gros tenant de dégrader tous les autres ?

Autres questions pour Développeur backend

Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.

Prédire mes questions

Répétez les questions difficiles avant qu'on vous les pose

Entraînez-vous avec un copilote en direct, puis présentez-vous prêt. Un Session Pass à $29 vous accompagne pendant l'entretien, sans abonnement et sans engagement.

Obtenir GhostPilot