Aller au contenu
  1. Préparation entretien/
🎯 Préparation entretien

Questions Backend

Les questions qui reviennent le plus souvent dans un entretien technique backend — classées par thème, avec une réponse directe et un lien vers l’article complet pour aller plus loin.

Un entretien technique backend revient presque toujours sur les mêmes fondamentaux : principes de conception, bases de données, API, conteneurisation. Les questions ci-dessous sont classées par thème — cliquez sur une question pour voir la réponse, et suivez le lien vers l’article complet pour creuser le sujet.

Principes de conception (SOLID)

Explique SOLID
SOLID regroupe cinq principes de conception orientée objet : Single Responsibility (une classe, une seule raison de changer), Open/Closed (ouvert à l’extension, fermé à la modification), Liskov Substitution (une sous-classe doit pouvoir remplacer sa classe mère sans casser le comportement attendu), Interface Segregation (préférer plusieurs interfaces spécifiques à une seule interface générale) et Dependency Inversion (dépendre d’abstractions, pas d’implémentations concrètes). Ensemble, ils visent un code plus facile à faire évoluer et à tester.

Lire l'article complet →

Quelle différence entre couplage fort et couplage faible ?
Le couplage mesure à quel point deux modules dépendent l’un de l’autre. Un couplage fort signifie qu’une modification dans un module oblige presque toujours à modifier l’autre. Un couplage faible, obtenu notamment via des interfaces et l’injection de dépendance, permet de faire évoluer ou remplacer un module sans toucher au reste du système.

Lire l'article complet →

Bases de données

Explique une transaction SQL
Une transaction regroupe plusieurs opérations SQL en une seule unité indivisible : soit toutes les opérations réussissent et sont validées (COMMIT), soit une échoue et tout est annulé (ROLLBACK). Les transactions garantissent les propriétés ACID — Atomicité, Cohérence, Isolation, Durabilité — indispensables dès qu’une opération métier touche plusieurs tables, comme un virement bancaire.

Lire l'article complet →

Pourquoi un index accélère une requête ?
Sans index, la base doit parcourir toutes les lignes d’une table pour trouver celles qui correspondent à un critère (full table scan). Un index construit une structure arborescente triée (souvent un B-Tree) sur une ou plusieurs colonnes, ce qui permet à la base de retrouver les lignes recherchées en un nombre d’étapes logarithmique plutôt que linéaire — au prix d’un coût supplémentaire à l’écriture.

Lire l'article complet →

API et protocoles

Différence entre REST et SOAP
REST est un style d’architecture qui s’appuie sur les verbes HTTP standards (GET, POST, PUT, DELETE), transporte généralement du JSON, et considère chaque ressource comme une URL. SOAP est un protocole plus strict et plus verbeux, basé sur XML, avec un contrat formel (WSDL) et des standards intégrés pour la sécurité et les transactions. REST domine aujourd’hui pour les API web grand public grâce à sa simplicité ; SOAP reste présent dans certains systèmes d’entreprise ou bancaires qui exigent des garanties contractuelles fortes.
Comment optimiser une API ?
Plusieurs leviers, souvent combinés : mettre en cache les réponses qui changent peu (HTTP cache, Redis), paginer les listes plutôt que tout renvoyer d’un coup, éviter le problème N+1 en base de données, compresser les réponses, ne renvoyer que les champs nécessaires, et surveiller les temps de réponse réels via du monitoring plutôt que deviner où se situe le goulot d’étranglement.

Lire l'article complet →

Conteneurisation et orchestration

Explique Docker
Docker permet d’empaqueter une application avec toutes ses dépendances (code, runtime, librairies, configuration) dans un conteneur : une unité isolée et portable qui s’exécute de façon identique sur n’importe quelle machine. Contrairement à une machine virtuelle, un conteneur partage le noyau du système hôte, ce qui le rend beaucoup plus léger et rapide à démarrer.

Lire l'article complet →

Explique Kubernetes
Kubernetes orchestre des conteneurs à grande échelle : il décide où les faire tourner, les redémarre automatiquement s’ils tombent, les fait évoluer en nombre selon la charge (scaling), et gère leur mise en réseau. Là où Docker répond à comment empaqueter une application, Kubernetes répond à comment faire tourner des centaines de conteneurs de façon fiable en production.

Lire l'article complet →