Score du test7,5/10couverture 100 %Usage de l’IA : 8/10
Communication : 7,3/10 · 3 critères sur 4
· non prouvé : précision du vocabulaire
Signaux à regarderAucun signal relevéIndicatifs, non décisionnels. Ils disent où regarder dans la vidéo, pas quoi décider.
Sur cette offre
2e sur 2 testés
Prochaine étape proposée par l’analyse
Sur les API critiques avec Django REST Framework, le candidat décrit validation métier, permissions par objet, limitation de débit et versionnement. Sur la fiabilité des paiements, la clé d'idempotence, le verrou et le journal d'audit sont solides. L'optimisation des requêtes SQL passe par la mesure et un index composite. La mise en cache stratégique est maîtrisée, les microservices moins pratiqués. L'usage de l'IA est encadré.
Le candidat a six ans de Django sur un service de paiement de factures pour les PME. Il garantit l'unicité d'un paiement rejoué par une clé d'idempotence appuyée sur une contrainte en base, trace chaque opération dans un journal en ajout seul et règle les lenteurs par la mesure. Le découpage en services reste une décision d'architecture qu'il n'a pas portée.
Détail par exigence
API critiques avec Django REST Framework
indispensableSolide
Place la validation métier dans le serializer, protège l'accès par client et par objet, limite le débit et versionne l'API.
Fiabilité des paiements
indispensableSolide
Garantit l'unicité d'un paiement rejoué, utilise des montants décimaux et conserve un journal d'audit en ajout seul.
Optimisation des requêtes SQL
indispensableSolide
Mesure avant d'optimiser, corrige les requêtes en trop et ajoute un index composite adapté au tri.
Mise en cache stratégique
Solide
Met en cache les données de référence, invalide le solde dans la transaction et connaît le risque d'expiration simultanée.
Microservices et déploiement
Solide
Travaille sur un monolithe modulaire et connaît les principes du découpage, sans l'avoir décidé.
Usage de l'IA
indispensableSolide
Délègue tests et code répétitif en donnant le contexte, fait tout passer par la revue et garde la logique de débit et l'architecture.
Points d'appui
Paiement rejoué traité par clé d'idempotence, contrainte d'unicité et verrou.
Montants en décimal et journal d'audit en ajout seul.
Optimisation SQL menée par la mesure, de cent requêtes à trois.
Permissions par client et par objet.
Points de vigilance
Pas de décision de découpage en services prise personnellement.
Expiration simultanée de clés de cache connue sans incident vécu.
Sujets abordés
API critiques avec Django REST Framework · Fiabilité des paiements · Optimisation des requêtes SQL · Mise en cache stratégique · Microservices et déploiement · Usage de l'IA
Entretien conduit en autonomie par le candidat, réponses transcrites puis analysées.
L'évaluation finale appartient au recruteur : Revelyum n'émet aucune décision automatisée.
En clair
Oui, il peut faire ce job
Guillaume a fait fonctionner pendant six ans un service où l'argent des clients ne doit jamais être débité deux fois, et il sait expliquer comment il s'en est assuré. Il connaît moins la découpe d'un service en plusieurs parties.
Ses points forts
Paiements fiables, sans double débit
Explications précises et chiffrées
Rigueur sur la traçabilité
À creuser en entretien
Peu de décisions d'architecture en plusieurs services
Savoir-être
Structurer sa réponse
Répond en nommant le risque, puis le mécanisme qui le couvre.
Apporte de la rigueur à une équipe qui revoit beaucoup de code et prépare des évolutions de service.
Détail par exigence
API critiques avec Django REST Framework
indispensableSolide · 7,3/10
Validation métier dans un serializer · 7/10Règles au bon endroit.La validation métier vit dans le serializerRéponse
R1
Permissions par client et par objet · 7/10Isolation entre clients.une permission objet, pour qu'un identifiant deviné ne donne jamais accès à la facture d'un autreRéponse
R1
Limiter le débit d'appels · 8/10Seuil adapté au risque.un throttling par clé d'API, avec un seuil plus bas sur la création de paiementsRéponse
R1
Versionner une API utilisée par des clients · 7/10Transition pour les clients.on garde l'ancienne version six moisRéponse
R1
Fiabilité des paiements
indispensableSolide · 7/10
transaction.atomic et select_for_update · 7/10Verrou transactionnel.un select_for_update sur la facture pour que deux requêtes simultanées se mettent en fileRéponse
R2
Requête de paiement rejouée · 7/10Rejeu sans double débit.une clé d'idempotence fournie par le client, stockée avec une contrainte d'unicitéRéponse
R2
DecimalField et arrondis · 7/10Montants exacts.Les montants sont en DecimalField avec deux décimales, jamais en flottantRéponse
R3
Journal d'audit des opérations · 7/10Traçabilité non modifiable.un journal d'audit en ajout seulRéponse
R3
Optimisation des requêtes SQL
indispensableSolide · 7,7/10
Lire un plan EXPLAIN · 8/10Lecture du plan.un EXPLAIN ANALYZE sur la requête la plus lourdeRéponse
R4
Prefetch dans un endpoint de liste · 7/10Gain chiffré.select_related et prefetch_related, ce qui est passé de cent requêtes à troisRéponse
R4
Index composite sur les transactions · 8/10Index adapté au tri.un index composite sur le client puis la date de la transactionRéponse
R4
Mise en cache stratégique
Solide · 7,3/10
Quelles données mettre en cache · 8/10Données stables.les données de référence qui changent rarementRéponse
R5
Invalider un solde après une écriture · 7/10Pas de solde périmé.on l'invalide après chaque écriture dans la même transaction, avec on_commitRéponse
R5
Expiration simultanée de nombreuses clés · 7/10Précaution connue.j'ajoute un petit aléa à la durée de vieRéponse
R5
Microservices et déploiement
Solide · 7/10
Où couper un service · 7/10Principe connu.on coupe aux frontières métierRéponse
R6
Appel synchrone ou message · 7/10Choix argumenté.on préfère un message asynchrone quand l'appelant n'a pas besoin de la réponseRéponse
R6
Configuration par environnement · 7/10Bonne pratique.avec des secrets qui ne sont jamais dans le dépôtRéponse
R6
Usage de l'IA
indispensableSolide · 8/10
S'il code avec un assistant IA (Copilot, Cursor, Claude Code, ChatGPT…) : quelles tâches de développement il lui confie, et lesquelles il garde · 8/10Tâches délimitées.Je lui confie des tests, des serializers répétitifs et des refactorisations mécaniquesRéponse
R7
Son workflow avec l'assistant : découper la demande, lui donner le contexte (fichiers, conventions), tenir la taille du contexte et le coût en tokens, itérer · 8/10Contexte fourni.en lui donnant les fichiers et les conventions du projetRéponse
R7
Comment il relit, teste et corrige le code que l'assistant produit · 8/10Contrôle chaque proposition avant de l'intégrer.Tout passe par la revue et la suite de testsRéponse
R7
Ce qu'il ne confie jamais à l'assistant : données confidentielles, sécurité, décisions d'architecture, cas où il s'est trompé · 8/10Frontière claire.Je ne lui confie jamais la logique de débit ni les données de nos clientsRéponse
R7
Un cas vécu où un assistant IA a changé son code ou son délai, et ce qu'il en a retenu · 8/10Erreur refusée.il a proposé un calcul avec des flottants dans un test de montantsRéponse
R7