Utilisez le motif strangler : placez une façade devant la capacité, construisez le nouveau service derrière, et déplacez le trafic progressivement avec un feature flag pendant que le monolithe reste le repli. Séparez les données en dernier, en général par double écriture et reprise d'historique jusqu'à ce que le nouveau stockage fasse autorité, et gardez une phase de vérification où les deux chemins tournent et où les résultats sont comparés avant de supprimer l'ancien code.
Pourquoi les recruteurs posent cette question
Ça teste le jugement en migration, ce qui constitue l'essentiel du travail backend senior. Le recruteur veut des étapes incrémentales avec un retour arrière à chaque stade, la conscience que la séparation des données est plus dure que celle du code, et une définition du terminé qui inclut la suppression de l'ancien chemin. Les candidats qui décrivent une réécriture et un week-end de bascule vous racontent comment l'incident est arrivé.
Comment structurer votre réponse
- Commencez par une couture : faites passer les appels par une façade ou une interface.
- Déplacez le trafic progressivement derrière un flag, en gardant le retour arrière peu coûteux.
- Traitez la séparation des données explicitement avec double écriture et reprise d'historique.
- Définissez la fin comme la suppression de l'ancien chemin, avec vérification avant ça.
Exemple de réponse
Je créerais d'abord une couture. Même à l'intérieur du monolithe, tous les appelants de cette capacité passent par une seule interface, ce qui est souvent un refactoring qui vaut le coup en soi parce qu'il révèle à quel point la frontière est emmêlée. Ensuite le nouveau service implémente le même contrat, et la façade route un petit pourcentage du trafic vers lui derrière un flag, en commençant par les appels en lecture seule où une mauvaise réponse coûte peu. Je fais tourner les deux en mode ombre pendant un temps, en envoyant la même requête aux deux et en comparant les réponses, parce que ça attrape les cas limites que personne n'a documentés. Les données sont la partie difficile : je double-écris, je reprends l'historique, je réconcilie, et seulement ensuite je fais du nouveau stockage la source de vérité, le monolithe lisant depuis le service plutôt que depuis les tables partagées. Chaque étape a un retour arrière qui consiste à basculer un flag. Et la migration n'est pas finie tant que l'ancien code et ses tables ne sont pas supprimés ; j'ai vu des migrations strangler caler à quatre-vingt-dix pour cent et laisser deux systèmes à maintenir pendant des années, ce qui est pire que l'une ou l'autre option seule.
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 marcheQuestions de relance à prévoir
- Comment traiteriez-vous une transaction qui traversait l'ancienne frontière ?
- Comment comparez-vous les résultats en mode ombre sans doubler les effets de bord ?
- Qu'est-ce qui vous ferait arrêter et annuler toute la migration ?
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