Question d'entretien pour Développeur Python

Comment mettez-vous en place les dépendances et les environnements sur un nouveau projet Python ?

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

Réponse rapide

Déclarez tout dans pyproject.toml et gérez l'environnement avec uv, qui crée l'environnement virtuel, résout les dépendances et écrit un fichier de verrouillage rapidement. Gardez les dépendances directes peu contraintes dans la table du projet, versionnez le fichier de verrouillage pour des installations reproductibles, et séparez les outils de développement dans des groupes de dépendances pour que les images de production n'embarquent pas pytest et ruff.

Pourquoi les recruteurs posent cette question

Le packaging est historiquement le point douloureux de Python, donc le recruteur vérifie que vous êtes à jour plutôt qu'encore sur un flux de travail à base de fichier requirements vieux de dix ans. Il veut la distinction entre dépendances déclarées et fichier de verrouillage, la conscience que pyproject.toml est l'endroit standard pour la configuration, et la preuve que vous avez pensé aux builds reproductibles en CI et dans Docker.

Comment structurer votre réponse

  • Nommez pyproject.toml comme source unique de vérité.
  • Séparez les plages déclarées du fichier de verrouillage.
  • Séparez les groupes de dépendances d'exécution et de développement.
  • Reliez cela à la CI et aux builds de conteneurs.

Exemple de réponse

Exemple parlé, à la première personne

Tout vit dans pyproject.toml : les dépendances, la configuration de ruff, de mypy et de pytest, les métadonnées de build. J'utilise uv pour piloter cela, parce qu'il crée le venv, résout et installe assez vite pour qu'un environnement de CI à froid prenne des secondes plutôt que des minutes, et il gère aussi la version de l'interpréteur pour que personne ne se batte sur le Python présent dans le path. Les dépendances directes reçoivent des contraintes raisonnablement larges, puis uv lock produit l'ensemble résolu exact et ce fichier de verrouillage est versionné. La CI et Docker installent depuis ce verrou figé, donc ce qui tourne en production est bit pour bit ce que j'ai testé. Les outils de développement vont dans un groupe séparé, ce qui garde l'image d'exécution plus petite et évite qu'un linter compromis se retrouve dans le conteneur de production. Dans Docker je copie le verrou et le manifeste d'abord et j'installe avant de copier les sources, pour que le cache de couches serve vraiment. Migrer un vieux projet depuis pip et les fichiers requirements a pris peut-être un après-midi et a réduit notre étape de préparation CI de plusieurs minutes.

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

  • Contre quoi le fichier de verrouillage vous protège-t-il ?
  • Comment gérez-vous une dépendance sans wheel ?
  • Comment gérez-vous plusieurs versions de Python en local ?

Autres questions pour Développeur Python

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