Utilisez les tests de contrat. Le consommateur définit les requêtes qu'il envoie et la forme de réponse dont il dépend, cette attente est publiée comme un contrat, et le fournisseur la vérifie dans son propre pipeline. Les deux côtés testent alors indépendamment et vite, et un changement cassant fait échouer la build du fournisseur au lieu d'apparaître dans un environnement partagé des jours plus tard.
Pourquoi les recruteurs posent cette question
Dans un parc de microservices, les environnements de bout en bout sont lents, coûteux et à moitié cassés en permanence, donc les recruteurs veulent savoir si vous avez une meilleure réponse que tout démarrer. Le détail précieux, c'est que la vérification tourne dans le pipeline du fournisseur, ce qui est justement ce qui empêche la casse. Savoir qu'un contrat couvre l'usage réel du consommateur et non toute l'API du fournisseur montre une vraie compréhension.
Comment structurer votre réponse
- Nommez le problème des tests de bout en bout sur environnement complet.
- Expliquez les contrats pilotés par le consommateur comme une séquence claire.
- Insistez sur le fait que le fournisseur vérifie le contrat dans sa propre build.
- Précisez ce qu'un contrat couvre et ce qu'il ne couvre pas.
- Dites pour quoi vous gardez malgré tout des tests de bout en bout.
Exemple de réponse
Les environnements de bout en bout complets ne passent pas l'échelle au-delà d'une poignée de services. Ils sont lents, ils exigent que la dernière build de chaque équipe soit saine en même temps, et quand quelque chose passe au rouge la première question est toujours de savoir si c'est un vrai défaut ou l'environnement. Le test de contrat contourne cela. Le consommateur écrit des tests contre un stub local du fournisseur, et ces interactions sont enregistrées comme un contrat : pour cette requête, je dépends de ces champs avec ces types. Ce contrat est publié, et le pipeline du fournisseur le rejoue contre l'implémentation réelle. Si quelqu'un renomme un champ ou change un type, sa build échoue, dans son dépôt, quelques minutes après le changement, avec un message qui nomme le consommateur cassé. C'est là toute la valeur : le retour atterrit là où le changement a été fait. La nuance à énoncer, c'est qu'un contrat ne couvre que ce que le consommateur utilise réellement, pas toute la surface du fournisseur, donc il ne remplace pas les tests fonctionnels du fournisseur, et il vérifie la compatibilité plutôt que la justesse métier. Je garde quand même une petite suite de bout en bout pour les quelques parcours qui méritent vraiment d'être prouvés à travers les services.
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
- Que se passe-t-il quand un fournisseur doit faire un changement cassant volontairement ?
- Comment évitez-vous que les contrats se périment à mesure que les consommateurs évoluent ?
- Comment cela fonctionne-t-il quand le fournisseur est un tiers que vous ne contrôlez pas ?
Autres questions pour Ingénieur QA
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