PrepMentor
← Retour au blogGuide

Comment se préparer à un entretien Java/Spring Boot en 2026

22 avr. 2026·8 min de lecture

Les questions les plus fréquentes posées par les recruteurs français en entretien Java, avec des réponses structurées pour chaque niveau (junior, mid, senior).

Java reste l'un des langages les plus demandés sur le marché français en 2026, en particulier dans la banque, l'assurance, la grande distribution et l'industrie. Spring Boot s'est imposé comme le framework de référence pour les architectures backend, et la maîtrise du couple Java + Spring Boot est devenue un prérequis quasi systématique pour les postes de développeur backend.

Cet article passe en revue les sujets que les recruteurs techniques français abordent le plus souvent en entretien, avec des angles d'attaque concrets pour préparer vos réponses. Il s'adresse à la fois aux profils juniors qui découvrent l'écosystème et aux profils confirmés qui veulent éviter les pièges classiques.

1. Les fondamentaux Java systématiquement testés

Avant même d'aborder Spring, attendez-vous à des questions de fond sur le langage. Trois grands blocs reviennent dans la quasi-totalité des entretiens.

Concurrence et threads

C'est le sujet le plus discriminant. Les questions classiques portent sur la différence entre synchronized et un ReentrantLock, le rôle de volatile, le fonctionnement de ConcurrentHashMap, et les pools de threads via ExecutorService. Depuis Java 21, les virtual threads (Project Loom) sont un sujet d'actualité — savoir les expliquer, même brièvement, fait la différence sur des postes seniors.

JVM, mémoire et garbage collection

Un développeur Java confirmé doit savoir distinguer la heap de la stack, comprendre les générations (young/old), et avoir des notions sur les garbage collectors modernes (G1 par défaut depuis Java 9, ZGC pour les très grosses heaps). On vous demandera rarement de tuner un GC à l'entretien, mais vous devez pouvoir expliquer pourquoi un OutOfMemoryError peut survenir.

Collections, streams et nouveautés du langage

La différence entre HashMap, LinkedHashMap et TreeMap est un classique absolu. L'API Stream est attendue dès le niveau mid : maîtriser map, filter, reduce, collect, et savoir quand préférer une boucle classique pour des raisons de lisibilité ou de performance. Les records, les sealed classes et le pattern matching (Java 17+) sont à connaître au moins en surface.

2. Spring Core : ce qu'il faut absolument maîtriser

Spring repose sur quelques concepts qui reviennent en boucle. Si vous ne devez retenir que l'essentiel, focalisez-vous sur ces quatre points.

  • Inversion de contrôle et injection de dépendances : préférez l'injection par constructeur (recommandation officielle Spring) plutôt que par champ avec @Autowired. Sachez expliquer pourquoi : testabilité, immutabilité, détection des dépendances circulaires.
  • Scopes des beans : singleton par défaut, mais prototype, request, session existent. Une question piège classique est : que se passe-t-il si on injecte un bean prototype dans un singleton ?
  • `@Transactional` : sujet ultra-fréquent. Comprendre que l'annotation fonctionne via un proxy AOP — donc un appel interne dans la même classe ne déclenche pas la transaction.
  • Profils Spring : @Profile("dev"), fichiers application-{profile}.yml, et activation via SPRING_PROFILES_ACTIVE. Indispensable pour les environnements multiples.

3. Spring Boot : l'angle pratique

Les questions Spring Boot sont plus pragmatiques. On cherche à valider que vous avez réellement mis en production une application, pas juste suivi un tutoriel.

Auto-configuration

Comprendre comment @SpringBootApplication combine @Configuration, @EnableAutoConfiguration et @ComponentScan. La question piège : comment désactiver une auto-configuration que vous ne voulez pas (@SpringBootApplication(exclude = ...)) ?

Actuator et observabilité

Connaître les endpoints /health, /metrics, /info, leur exposition par défaut, et comment sécuriser ces endpoints en production. C'est un signal fort de maturité opérationnelle.

Tests

Différence entre @SpringBootTest (charge le contexte complet, lent) et les slice tests (@WebMvcTest, @DataJpaTest, plus rapides). Mockito pour les mocks unitaires, Testcontainers pour les tests d'intégration avec une vraie base PostgreSQL — c'est devenu le standard sur les projets sérieux.

4. JPA, Hibernate et le piège du N+1

Aucune entreprise ne vous embauchera sans valider votre maîtrise de la persistance. Le sujet le plus discriminant en entretien : le problème du N+1 select. Vous devez savoir l'expliquer, le détecter, et le résoudre via JOIN FETCH, @EntityGraph, ou des projections DTO.

  • Différence entre FetchType.LAZY et FetchType.EAGER — et pourquoi LAZY est presque toujours préférable.
  • Le dirty checking d'Hibernate : modifier une entité managée la persiste automatiquement à la fin de la transaction.
  • Cycle de vie d'une entité : transient → managed → detached → removed.
  • Pourquoi on n'expose jamais une entité JPA directement dans un contrôleur REST : risque de sérialisation cyclique, fuite de structure interne, problèmes de lazy loading hors transaction.

5. Architecture et design d'API REST

Sur les postes mid et senior, attendez-vous à un exercice de system design : on vous demande de concevoir une API ou un mini-service. Les attentes sont structurées :

  1. Distinguer correctement les codes HTTP : 200 OK, 201 Created, 204 No Content, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 409 Conflict, 422 Unprocessable Entity.
  2. Comprendre l'idempotence et savoir quels verbes le sont (GET, PUT, DELETE) ou non (POST, PATCH).
  3. Penser à la pagination, au filtrage, au versioning d'API.
  4. Anticiper les questions de sécurité : authentification JWT, rate limiting, CORS, validation d'entrée avec @Valid.

6. Différencier les attentes par niveau

Tous les recruteurs n'attendent pas la même chose selon le niveau visé. Voici un repère réaliste basé sur les retours du marché français.

  • Junior (0-2 ans) : maîtrise des fondamentaux Java, capacité à lire et modifier du code Spring existant, comprendre une architecture MVC, écrire des tests unitaires basiques.
  • Mid (2-5 ans) : autonomie sur la mise en place d'une feature complète (controller → service → repository → tests), bonne hygiène avec JPA, maîtrise des transactions, expérience d'au moins une mise en production.
  • Senior (5+ ans) : capacité à arbitrer des choix d'architecture, comprendre les trade-offs (synchrone/asynchrone, monolithe/microservices, SQL/NoSQL), encadrer du code junior, mener un débat technique constructif.

7. La question RH cachée derrière chaque entretien technique

Une erreur fréquente : se concentrer uniquement sur les réponses techniques. Les recruteurs évaluent aussi votre manière de réfléchir. Verbalisez votre raisonnement, posez des questions de clarification, admettez les limites de vos connaissances honnêtement. Un candidat qui dit "je n'ai jamais utilisé ZGC mais voici comment je m'y prendrais pour comprendre s'il convient" passe mieux qu'un candidat qui invente une réponse approximative.

Pour aller plus loin

Si vous postulez sur des postes backend, consultez aussi notre page dédiée au métier de développeur backend avec les stacks et profils les plus recherchés. La documentation officielle Spring (spring.io/guides) reste la meilleure ressource pour approfondir un sujet précis avant un entretien — privilégiez-la aux tutoriels datés.

Mettez ces conseils en pratique dès maintenant

PrepMentor simule de vrais entretiens techniques avec une IA spécialisée sur le marché français. Premier entretien gratuit, sans carte bancaire.

Démarrer un entretien gratuit →

À lire aussi