Testez les parties déterministes rigoureusement et les parties stochastiques de façon comportementale. Testez unitairement les transformations de caractéristiques contre des fixtures, imposez des contrats de schéma et de plage sur les entrées, gardez un test de ligne de référence qui charge le pipeline sérialisé et vérifie que des entrées connues produisent des scores connus, et écrivez des tests comportementaux sur les sorties du modèle (invariance, attentes directionnelles) plutôt que d'exiger un chiffre d'exactitude précis.
Pourquoi les recruteurs posent cette question
Beaucoup de candidats disent qu'on ne peut pas vraiment tester l'apprentissage automatique, et c'est la mauvaise réponse. Les recruteurs veulent entendre que l'essentiel d'un pipeline est du code déterministe ordinaire qui se teste très bien, et que les modèles eux-mêmes sont testables comportementalement. Mentionner un test de non-régression sur une ligne de référence et des contrats de validation des données montre que vous avez évité une panne plutôt que seulement réagi à une panne.
Comment structurer votre réponse
- Faites remarquer que l'essentiel du pipeline est du code déterministe.
- Nommez les tests unitaires sur les transformations et les contrats de schéma sur les entrées.
- Décrivez un test de ligne de référence sur l'artefact sérialisé.
- Ajoutez des tests comportementaux plutôt qu'exiger une métrique précise.
- Dites ce qui a sa place en CI et ce qui tourne selon un calendrier.
Exemple de réponse
L'essentiel d'un pipeline est du code ordinaire et se teste exactement comme du code ordinaire. Les transformations de caractéristiques reçoivent des tests unitaires contre de petites fixtures, y compris les cas moches : valeurs nulles, une catégorie jamais vue à l'entraînement, une valeur négative là où on n'attendait que des positives. Les données d'entrée reçoivent des contrôles de contrat, donc schéma, types, plages et taux de valeurs nulles attendus, exécutés comme un garde-fou avant l'entraînement plutôt que découverts après coup sous forme de modèle bizarre. Puis un test de ligne de référence, où je garde un pipeline sérialisé et une poignée d'entrées fixes avec leurs scores attendus, et la CI échoue si un remaniement les change. Ça m'a attrapé des changements silencieux de prétraitement plus d'une fois. Pour le modèle lui-même je n'exige pas une exactitude au-dessus d'un certain chiffre, parce que c'est instable et que c'est un mauvais garde-fou. J'écris plutôt des tests comportementaux : l'invariance, donc changer un champ non pertinent ne bouge presque pas le score, et des attentes directionnelles, donc augmenter une caractéristique dont on sait qu'elle est liée de façon monotone déplace la prédiction dans le bon sens. Les entraînements complets sont trop lents pour chaque commit, donc ils tournent la nuit, avec un entraînement de fumée rapide sur un échantillon minuscule en CI pour prouver que le pipeline tourne toujours de bout en bout.
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 écririez-vous un test pour un modèle légitimement non déterministe ?
- Quel outil de validation des données utiliseriez-vous, et sur quoi bloqueriez-vous ?
- Comment évitez-vous que les tests de ligne de référence deviennent du bruit de maintenance ?
Autres questions pour Ingénieur machine learning
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