L'architecte Java en entretien technique, des modules Spring à la JVM

Un architecte Java fixe ce que des dizaines de développeurs vont construire pendant des années : la frontière entre les modules, les versions de Java et de Spring, la façon d'accéder aux données. Ses erreurs se voient tard, à la première montée de version ou au premier pic de charge, et elles coûtent cher à ce moment-là.

Recevoir la fiche complète

Mis à jour le Par l'équipe Delectus5 min de lecture

La fiche Architecte logiciel Java : technologies, chaîne du poste, une question et la grille d'évaluation

Les offres d'architecte Java publiées en France citent presque toujours Java et Spring Boot, avec des API REST, une base relationnelle et souvent Kafka, Angular côté front et Kubernetes ou OpenShift pour l'hébergement. Beaucoup ajoutent un existant Java EE sur WildFly ou WebLogic. Les questions d'entretien d'un architecte Java doivent donc porter sur des choix de socle, sur les migrations déjà menées et sur ce que le candidat a refusé de construire.

Les versions pèsent sur ces postes. Java 25, la LTS la plus récente, est sortie en septembre 2025, et le support Premier d'Oracle pour Java 17 a pris fin en septembre 2026. Spring Boot 4, sorti en novembre 2025, repose sur Spring Framework 7 et Jakarta EE 11. Beaucoup d'applications tournent encore en Java 8 ou 11 avec Spring Boot 2.7, dont le support open source s'est arrêté en 2023. Qui a conduit une de ces montées sait ce qui casse : les packages javax devenus jakarta, les bibliothèques abandonnées, Spring Security.

Le bon profil sépare un choix réversible d'un choix qui engage l'équipe pour cinq ans, et il écrit le second dans un ADR. Méfiez-vous d'un CV qui pose des microservices sur chaque projet sans dire combien d'équipes les maintenaient. Le PDF contient 30 questions, un cas de 20 minutes et une grille de notation.

Le socle Java sur lequel l'architecte tranche

Java 21 et Java 25 (LTS)

Les deux versions à support long des projets récents. Java 21 a apporté les virtual threads, qui permettent de tenir beaucoup d'appels bloquants sans passer à la programmation réactive. Java 25 est sortie en septembre 2025. Demandez quelle version tourne en production chez le candidat et ce qui bloquait le passage à la suivante.

Spring Boot et Spring Framework

Le cadre de la grande majorité des applications Java d'entreprise. Spring Boot 4 s'appuie sur Spring Framework 7 et sur Jakarta EE 11. Un architecte doit savoir ce que Spring fait derrière les annotations, en particulier les proxies qui portent les transactions, le cache et la sécurité.

Jakarta EE et serveurs d'applications

Le nom actuel de Java EE, confié à la fondation Eclipse. Depuis Jakarta EE 9, les packages javax sont devenus jakarta, ce qui casse la compilation de tout code ancien. WildFly, JBoss EAP et WebLogic restent présents dans beaucoup de SI, et la question d'en sortir revient souvent en entretien.

Spring Modulith et ArchUnit

Deux outils pour garder un monolithe modulaire propre. Spring Modulith vérifie que les modules d'une application Spring Boot n'utilisent pas les classes internes des autres et génère la documentation de leurs liens. ArchUnit écrit les règles d'architecture sous forme de tests JUnit, qui cassent le build quand une couche appelle ce qu'elle ne devrait pas appeler.

JPA, Hibernate et migrations de schéma

La persistance standard en Java. Mal cadrée, elle produit des requêtes N+1, des chargements massifs ou des transactions trop longues. L'architecte pose les règles : chargement paresseux par défaut, projections pour la lecture, schéma versionné avec Flyway ou Liquibase.

Kafka et messagerie

Kafka est la messagerie la plus citée dans les offres d'architecte Java, devant RabbitMQ. Elle découple des applications et diffuse des événements métier. L'architecte décide de ce qui passe en asynchrone et de la façon de publier un événement sans le perdre, puisque la base et le broker ne partagent pas de transaction.

JVM : mémoire, GC et diagnostic

La machine virtuelle qui exécute le code. Le choix du ramasse-miettes (G1 par défaut, ZGC pour des pauses très courtes), la taille du tas dans un conteneur et la lecture d'un heap dump font partie du métier. Java Flight Recorder, jcmd, Micrometer et OpenTelemetry fournissent les mesures.

Conteneurs, Kubernetes et image native

Les applications Java tournent souvent en conteneurs sur Kubernetes ou OpenShift. La JVM lit les limites du conteneur pour dimensionner sa mémoire, encore faut-il régler la part du tas. La compilation native avec GraalVM réduit le temps de démarrage et la mémoire, au prix d'un build plus long et de contraintes sur la réflexion.

Le titre recouvre des postes assez différents. Dans une équipe produit, l'architecte Java tient le socle sur la durée et code encore une bonne partie du temps. Sur une mission de reprise d'existant, il audite, rédige un dossier d'architecture et accompagne plusieurs équipes. Les offres titrées « tech lead / architecte » demandent surtout du code et de la revue. Celles titrées « architecte solutions Java » attendent plus de documentation (modèle C4, ADR) et des passages en comité d'architecture. Fixez la part de code attendue avant l'entretien, car les questions à poser ne sont pas les mêmes.

Les acquis techniques à valider chez un architecte Java

  • Découpage en modules et dépendances
  • Spring et Jakarta EE en profondeur
  • Persistance, transactions et intégration
  • Mémoire et performance de la JVM
  • Montées de version et modernisation
  • Décisions écrites et règles vérifiées en CI

Questions pour un architecte Java, de la modularité à la mémoire

Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.

  1. Question 1 · senior

    Une application Spring Boot de 400 000 lignes met vingt minutes à compiler et chaque équipe casse le code des autres. On vous propose de la découper en douze microservices. Que proposez-vous ?

    Une bonne réponseD'abord un monolithe modulaire : des modules par domaine métier (commande, facturation, catalogue) avec une API publique chacun et des classes internes cachées, des tables possédées par un seul module et des règles vérifiées par Spring Modulith ou ArchUnit. Un build Maven ou Gradle multi-modules avec cache réduit le temps de compilation. Un module ne devient un service séparé que pour une raison mesurée : un rythme de livraison différent, une charge très différente, une équipe autonome qui le possède.

    Signal d'alerteDécouper par couche technique (un service DAO, un service métier), ou douze services qui partagent la même base. Accepter le découpage sans avoir regardé où se trouvent les dépendances.

  2. Question 2 · confirmé à senior

    Quinze applications partagent le même socle et deux équipes veulent des versions différentes de Jackson. Comment gérez-vous les versions de dépendances ?

    Une bonne réponseUne seule source de vérité : un BOM interne qui importe celui de Spring Boot et fixe les versions des bibliothèques communes, ou un version catalog Gradle. La règle de convergence de Maven Enforcer fait échouer le build si deux versions d'une même bibliothèque se retrouvent sur le classpath. Renovate ou Dependabot proposent les montées. Il ne surcharge une version gérée par Spring Boot que pour une raison précise, comme une faille, et il la retire à la montée suivante.

    Signal d'alerteLaisser chaque application choisir ses versions, multiplier les exclusions au hasard, ou recopier des jar dans le dépôt.

  3. Question 3 · confirmé

    Une page qui liste 200 commandes envoie 201 requêtes SQL. Que s'est-il passé, et quelle règle fixez-vous pour l'équipe ?

    Une bonne réponseUn problème N+1 : une relation chargée paresseusement est parcourue dans une boucle, et chaque accès déclenche une requête. Corrections : JOIN FETCH ou entity graph pour ce cas d'usage, @BatchSize, ou mieux une projection DTO pour une page de lecture. Côté règle, il désactive open-in-view, compte les requêtes dans les tests (statistiques Hibernate ou un outil comme datasource-proxy) et fait relire les requêtes générées sur les écrans à fort trafic.

    Signal d'alertePasser toutes les relations en EAGER, qui déplace le problème et charge des données inutiles partout.

  4. Question 4 · senior

    Un service limité à 2 Go de mémoire dans Kubernetes est tué (OOMKilled) sans jamais lever d'OutOfMemoryError. Pourquoi ?

    Une bonne réponseLa JVM consomme plus que le tas : metaspace, piles des threads, buffers directs (Netty par exemple), code cache, structures du GC. Si le tas est réglé trop près de la limite du conteneur, le noyau tue le processus avant que la JVM ne voie un manque. Il règle la taille du tas en pourcentage (MaxRAMPercentage) en laissant de la marge, mesure la mémoire hors tas avec Native Memory Tracking (jcmd VM.native_memory) et vérifie le nombre de threads.

    Signal d'alerteAugmenter -Xmx, ce qui aggrave le problème, ou conclure à une fuite mémoire dans le code sans aucune mesure.

  5. Question 5 · senior

    Une application Java 11 en Spring Boot 2.7 doit passer en Java 21 puis en Spring Boot 4. Comment organisez-vous le chantier ?

    Une bonne réponsePar étapes livrables : dernière version 2.7, suppression des API dépréciées, passage en Java 17 ou 21, puis Spring Boot 3 avec le passage de javax à jakarta, Spring Security 6 et Hibernate 6, avant Spring Boot 4. Les recettes OpenRewrite automatisent une bonne partie des changements, spring-boot-properties-migrator signale les propriétés renommées. Il commence par l'inventaire des dépendances et par des tests de non-régression, puis déploie service par service.

    Signal d'alerteTout faire en une fois, ou proposer une réécriture. Découvrir les dépendances incompatibles en cours de route.

Recevez la fiche d'entretien complète en PDF

La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.

  • 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
  • Le niveau visé pour chaque question
  • Une mise en situation de 20 minutes et ce qu'on attend du candidat
  • La grille d'évaluation de 1 à 4, axe par axe

Recruter un architecte Java : les questions qui reviennent

Architecte Java ou tech lead Java : qu'est-ce qui change dans l'entretien ?

Le tech lead répond de la qualité du code d'une équipe et de ses livraisons. L'architecte Java répond de choix qui touchent plusieurs équipes ou plusieurs années : découpage, versions du socle, modèle de données, intégration avec le reste du SI. En entretien, demandez au tech lead du code et des revues. Demandez à l'architecte une décision qu'il a prise, les options écartées et ce qu'elle a coûté ensuite.

Un architecte Java doit-il encore coder ?

Sur la plupart des postes, oui, au moins pour des prototypes, des revues et le code du socle commun. Un architecte qui n'a pas ouvert un projet Spring Boot depuis des années décrit des schémas que les équipes ne savent pas appliquer. Vérifiez-le simplement : faites-lui lire un extrait de code avec une transaction mal placée ou une requête N+1, et écoutez s'il la repère vite.

Quel exercice donner à un architecte Java ?

Un test technique de code classique dit peu de chose à ce niveau. Une étude de cas de 20 à 30 minutes fonctionne mieux : un existant décrit en quelques lignes, une contrainte de délai ou de charge, et une trajectoire à proposer. Ajoutez la lecture d'un vrai diagramme ou d'un extrait de code. Vous verrez comment la personne pose ses hypothèses, ce qu'elle mesure avant de décider et ce qu'elle remet à plus tard.

Les certifications Java ou Spring comptent-elles pour ce poste ?

Les certifications Oracle Java et Spring attestent une connaissance du langage et du framework. Elles ne disent rien de la capacité à découper une application, à mener une migration ou à arbitrer entre deux options. Pour un architecte, elles pèsent peu face à un historique précis : une montée de version conduite, un monolithe découpé, un incident de performance résolu. Demandez ces exemples avec les chiffres qui vont avec.

Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.

Les fiches voisines

Toutes les fiches →

Voyez Delectus sur vos propres offres.

Commencez gratuitement. Passez à l'échelle quand vous êtes prêt.

Demander une démo

Votre ATS, connecté à Delectus

  • Workable
  • Teamtailor
  • iCIMS
  • Lever
  • SmartRecruiters
  • Jobvite
  • Greenhouse
  • Pinpoint