Entretien d’embauche développeur back-end
L’entretien back-end mêle questions de conception, discussion sur vos projets et souvent un exercice : écrire une petite API, corriger une requête lente ou concevoir un système au tableau.
Le recruteur évalue votre façon de poser les bonnes questions avant de coder et de parler des compromis. Préparez un système que vous avez construit pour en expliquer le fonctionnement et les limites.
Les questions à préparer
01Comment concevriez-vous une API de réservation qui évite les doubles réservations ?
Ce que le recruteur cherche
La question teste votre compréhension de la concurrence et des transactions.
Exemple de réponse
Je commence par demander le volume et le niveau de concurrence attendus. La base de données doit garantir l’unicité, par exemple avec une contrainte d’unicité sur le créneau ou un verrou sur la ligne pendant la transaction. Côté API, je rends la requête idempotente avec une clé fournie par le client, pour qu’un double clic ne crée pas deux réservations. Je teste ensuite le cas de deux requêtes simultanées.
02Une requête SQL est devenue lente en production. Comment procédez-vous ?
Ce que le recruteur cherche
Le recruteur cherche une démarche méthodique, partant des faits.
Exemple de réponse
Je récupère la requête exacte et ses paramètres, puis j’analyse son plan d’exécution avec EXPLAIN ANALYZE. Je regarde si un index manque, si les statistiques sont à jour ou si le volume a changé. Je reproduis sur une copie des données quand c’est possible. Après correction, je vérifie l’effet en production et j’ajoute une alerte si cette requête est critique.
03Quelle différence faites-vous entre authentification et autorisation ?
Ce que le recruteur cherche
Question de base en sécurité applicative.
Exemple de réponse
L’authentification vérifie qui est l’utilisateur, avec un mot de passe, un jeton ou un fournisseur d’identité. L’autorisation vérifie ce qu’il a le droit de faire. L’erreur fréquente est de bien authentifier mais d’oublier de vérifier que la ressource demandée appartient à l’utilisateur. Je fais donc ce contrôle côté serveur, sur chaque endpoint, et je l’écris dans les tests.
04Quand choisiriez-vous un traitement asynchrone ?
Ce que le recruteur cherche
Le recruteur vérifie que vous savez quand ajouter de la complexité.
Exemple de réponse
Quand une tâche est longue, peut échouer chez un tiers ou n’a pas besoin d’être terminée pour répondre à l’utilisateur : envoi d’e-mails, génération de documents, synchronisation avec un partenaire. Je la place dans une file avec un mécanisme de reprise et je rends le traitement idempotent. Je surveille la taille de la file. Si l’utilisateur attend le résultat, je lui donne un statut consultable.
05Racontez-moi un incident de production que vous avez géré.
Ce que le recruteur cherche
L’expérience des incidents est un bon indicateur de maturité.
Exemple de réponse
Un vendredi soir, l’export comptable ne s’est pas terminé. J’ai consulté les journaux et vu qu’une requête prenait beaucoup plus de temps qu’avant. Une montée de version de la base avait modifié le plan d’exécution. J’ai relancé l’export avec un correctif temporaire, puis ajouté un index et une alerte sur la durée du traitement. Le compte rendu a conduit l’équipe à tester les montées de version sur une copie des données.
06Comment gérez-vous une migration de schéma sur une table volumineuse ?
Ce que le recruteur cherche
Les migrations sont une source fréquente d’interruption de service.
Exemple de réponse
J’évite les opérations qui verrouillent la table longtemps. Je procède en plusieurs étapes : ajout de la nouvelle colonne sans valeur par défaut coûteuse, remplissage par lots, puis lecture depuis la nouvelle colonne une fois le code déployé. La suppression de l’ancienne colonne vient plus tard. Je prépare un retour arrière et je teste la migration sur une copie de la base.
07Monolithe ou microservices pour un nouveau produit ?
Ce que le recruteur cherche
La question évalue votre recul face aux modes architecturales.
Exemple de réponse
Pour un nouveau produit avec une petite équipe, je pars d’un monolithe bien découpé en modules. Les microservices apportent de l’indépendance de déploiement mais coûtent cher en exploitation et en cohérence des données. Je n’extrais un service que lorsqu’un besoin réel apparaît : une charge très différente, une équipe séparée ou une contrainte de sécurité particulière.
08Comment prenez-vous en compte le RGPD dans votre code ?
Ce que le recruteur cherche
Les données personnelles sont au cœur de nombreuses applications en France.
Exemple de réponse
Je limite les données collectées à ce qui est nécessaire, j’évite d’écrire des données personnelles dans les journaux et je prévois la suppression ou l’anonymisation à la fin de la durée de conservation. Je m’assure que l’export et l’effacement des données d’un utilisateur sont possibles techniquement. Pour les questions juridiques, je travaille avec le délégué à la protection des données.
Les questions à poser au recruteur
- Comment se déroulent les déploiements et les astreintes dans l’équipe ?
- Quelle part de temps est consacrée à la dette technique ?
- Comment l’équipe surveille-t-elle la production ?
- Quelles sont les principales évolutions d’architecture prévues ?
Votre recherche, en automatique
Lancer mon scan d’offres développeur back-end
JobFast cherche les offres qui vous correspondent sur les grands sites d’emploi, note chacune sur 10 et prépare un CV et une lettre adaptés. Vous relisez, vous validez.
Sans carte bancaire · Sans compte pour commencer
Questions fréquentes
Faut-il se préparer à un entretien de conception de système ?
Oui pour les postes confirmés. On vous demandera de concevoir un service, par exemple un raccourcisseur d’URL ou un système de notifications. Commencez par clarifier les besoins, proposez une solution simple, puis discutez des limites et des améliorations possibles.
Quelles notions réviser avant un entretien back-end ?
Les transactions et niveaux d’isolation, les index, le protocole HTTP et les codes de réponse, l’idempotence, la mise en cache et les bases de la sécurité web. Révisez aussi le fonctionnement de votre framework principal, souvent abordé en détail.