Question d'entretien pour Développeur backend

Comment empêchez-vous un changement backend de casser les clients qui consomment votre API ?

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

Réponse rapide

Rendez le contrat vérifiable par une machine. Gardez un schéma, un document OpenAPI ou des définitions protobuf, générés depuis le code ou validés contre lui, et lancez une vérification de compatibilité en CI qui échoue sur un changement cassant comme un champ supprimé ou un type resserré. Ajoutez des tests de contrat pilotés par les consommateurs pour les clients internes, et versionnez les événements comme vous versionnez les endpoints.

Pourquoi les recruteurs posent cette question

Le recruteur veut savoir si la compatibilité est garantie par l'outillage ou par l'espoir que quelqu'un remarque. Il écoute un schéma en gestion de version, un contrôle de diff automatisé, et comment vous couvrez les messages autant que le HTTP. Ça touche aussi à la réalité organisationnelle : comment vous découvrez qui consomme réellement un endpoint avant de le changer.

Comment structurer votre réponse

  • Mettez le contrat en gestion de version et gardez-le synchronisé avec le code.
  • Ajoutez un diff de compatibilité automatisé comme garde-fou en CI.
  • Couvrez les consommateurs internes avec des tests de contrat.
  • Expliquez comment vous trouvez les vrais consommateurs avant de changer quoi que ce soit.

Exemple de réponse

Exemple parlé, à la première personne

Le contrat doit être un fichier que la CI peut comparer, sinon la compatibilité dépend de celui qui relit la pull request. Donc le document OpenAPI vit dans le dépôt et est généré depuis les gestionnaires, ce qui l'empêche de dériver vers la fiction, et il y a un job qui le compare à la version sur la branche principale et échoue sur tout ce qui casse : un champ supprimé, un nouveau paramètre obligatoire, un type restreint. Ajouter est toujours autorisé. Pour les consommateurs internes, j'aime les contrats pilotés par les consommateurs, où chaque client publie le sous-ensemble dont il dépend vraiment et où ma construction vérifie que je les satisfais tous, si bien que je le découvre à la compilation plutôt que par leur astreinte. Les événements reçoivent le même traitement via un registre de schémas avec un mode de compatibilité défini, puisqu'un message cassé est pire qu'un endpoint cassé parce que les consommateurs échouent de façon asynchrone. Et avant de changer quoi que ce soit, je regarde les métriques de requêtes par client, parce que le contrat me dit ce qui est possible et les métriques me disent qui le remarquerait vraiment.

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

  • Qu'est-ce qui compte comme un changement cassant dans une réponse JSON ?
  • Comment géreriez-vous un client qui dépend d'un comportement non documenté ?
  • Comment gérez-vous l'évolution des schémas d'événements sur plusieurs années ?

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