Ce que l'on demande lors d'un entretien Python, comment répondre sur le GIL, asyncio et le typage, et comment répéter la conversation avec un formateur IA.
Un entretien Python évalue non pas une liste de bibliothèques, mais la compréhension du fonctionnement interne du langage. Un candidat qui connaît la syntaxe mais ne peut pas expliquer pourquoi son code ralentit sur cent mille enregistrements perd face à celui qui comprend le modèle d'exécution.
| Étape | Ce qui est évalué |
|---|---|
| Présélection | expérience, stack, attentes salariales |
| Théorie du langage | GIL, mémoire, typage, itérateurs |
| Live coding | comment vous écrivez et raisonnez à voix haute |
| Architecture / systèmes | comment vous concevez un service, une base de données, des files d'attente |
Global Interpreter Lock empêche plusieurs threads d’exécuter simultanément du bytecode. D’où la conclusion pratique : les threads sont utiles pour les E/S, tandis que pour la charge CPU, il faut des processus ou un déport vers un service séparé. Une réponse sans cette conclusion est considérée comme superficielle.
On attend non pas des définitions, mais le choix de l’outil adapté à la tâche : des milliers de requêtes réseau simultanées — asyncio ; des calculs lourds — multiprocessing ; des bibliothèques bloquantes — un pool de threads. Savoir expliquer ce choix est l’essentiel.
Les annotations de type n’ont pas d’impact à l’exécution, mais elles détectent des erreurs lors de la vérification. On demande souvent à propos de `Optional`, `Union`, `Protocol` et des generics : à quoi ils servent et comment vous les utilisez dans un projet.
Classique : argument par défaut mutable (`def f(x, y=[])`), copie par référence versus `deepcopy`, hachabilité des clés de dictionnaire. Ici, on vérifie si vous avez déjà attrapé ce genre de bugs dans du code réel.
Différence entre une liste et un générateur, évaluation paresseuse, `yield`, à quoi servent `itertools`. On donne généralement un exercice : traiter un gros fichier sans le charger en mémoire.
Selon votre stack : Django ORM face au SQL brut, requêtes N+1, transactions, index. Pour FastAPI — dépendances, validation Pydantic, endpoints asynchrones.
pytest, fixtures, mocks, couverture. Docker, migrations, CI. On vérifie si vous menez le code jusqu'en production, et pas seulement jusqu'à « ça marche en local ».
La structure qui fonctionne : thèse → justification → exemple → limite.
«Pour cette tâche, je prendrais asyncio. La raison : la charge est réseau, pas de calcul, et les threads ne feraient qu'ajouter des changements de contexte. Sur le projet précédent, c'est ainsi qu'on a supprimé les blocages lors de l'appel à une API externe. Limite : s'il y a une bibliothèque synchrone à l'intérieur, elle bloquera la boucle d'événements — il faudra la déporter dans un executor».
La dernière phrase est ce qui distingue un praticien : il sait où sa solution casse.
Une semaine à raison de 30–40 minutes avec de la pratique : passer en revue les sept thèmes ci-dessus, dire les réponses à voix haute et dérouler une fois un dialogue complet. Si un thème (par exemple asyncio) vous est obscur, commencez par le maîtriser, sinon la structure de la réponse ne vous sauvera pas.
Oui, mais dans des proportions différentes. Les équipes produit donnent plus souvent des tâches pratiques (optimiser une requête, analyser un pipeline), les grandes entreprises tech — des problèmes classiques sur les tableaux, les chaînes de caractères, les tables de hachage. Il vaut mieux préciser le format auprès du recruteur.
Dites-le franchement et montrez votre raisonnement : à quoi cela ressemble, comment vous vérifieriez. L’intervieweur distingue presque toujours « je ne sais pas, mais je réfléchis » de l’affabulation, et la seconde est un véritable point négatif.
Non. On interroge généralement sur la stack indiquée dans l’offre d’emploi. Mais la compréhension des principes (routage, dépendances, interactions avec la base de données) se transpose d’un framework à l’autre, et c’est plus valorisé que la connaissance d’une API spécifique.
Par une fourchette, et non par un seul chiffre, en vous appuyant sur le marché. Une analyse détaillée se trouve dans l’article Négociation salariale.
Décrivez la situation en une phrase — « entretien développeur Python, FastAPI, quatre ans d'expérience » — et déroulez le dialogue dans le simulateur. Le coach posera des questions sur votre rôle et analysera les réponses après la conversation.
Parcourez les sept thèmes et cochez ceux où la réponse ne tient pas. Ensuite, déroulez le dialogue complet : ouvrez HintMeTalk AI, mode « Coach », décrivez l’offre d’emploi en une phrase. Après l’analyse, on voit quelles réponses sont faibles — généralement deux ou trois sur dix.
La préparation générale à tout entretien — dans l’article préparation à l’entretien. L’entretien front-end est analysé séparément.
Entraînez cette compétence dans HintMeTalk AI
Ouvrir l’app