Fiche d'entretien Java et Spring
Préparation Mohamed Amrane
3 octobre 2025
Table des matières
1 Notions de base en Java 2
1.1 Classe, Objet et Méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Heap vs Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 JDK, JRE, JVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Pointeur et Curseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Modicateurs d'accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.6 Superclass et Subclass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.7 Overloading vs Overriding . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.8 String, StringBuilder, StringBuer . . . . . . . . . . . . . . . . . . . . . . . 2
1.9 Exception vs Erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.10 Abstract vs Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.11 Constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.12 Méthodes statiques vs non statiques . . . . . . . . . . . . . . . . . . . . . . 3
2 Autres notions Java 3
2.1 Objet et exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Bases de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 TDD, ATDD et BDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 Stateful vs Stateless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Outils et frameworks 3
3.1 Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 DevTools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3 Spring Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.4 Conguration Spring Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Méthodologies de projet 4
1
1 Notions de base en Java
1.1 Classe, Objet et Méthode
Classe : Modèle ou plan qui dénit des attributs et des méthodes.
Objet : Instance concrète d'une classe créée avec new.
Méthode : Fonction dénie dans une classe décrivant un comportement.
1.2 Heap vs Stack
Stack : Mémoire rapide, stocke variables locales et appels de méthodes.
Heap : Mémoire utilisée pour stocker les objets créés avec new.
1.3 JDK, JRE, JVM
JDK : Kit de développement Java (compiler + outils).
JRE : Environnement d'exécution Java (JVM + bibliothèques).
JVM : Machine virtuelle qui exécute le bytecode.
1.4 Pointeur et Curseur
Java n'utilise pas de pointeurs explicites, mais des références.
Curseur : Permet de parcourir les résultats d'une requête SQL.
1.5 Modicateurs d'accès
public, protected, default, private.
1.6 Superclass et Subclass
Superclass : Classe parent.
Subclass : Classe enfant qui hérite de la parent.
1.7 Overloading vs Overriding
Overloading : Même nom de méthode mais paramètres diérents.
Overriding : Redénition d'une méthode héritée.
1.8 String, StringBuilder, StringBuer
String : Immuable.
StringBuilder : Mutable, non synchronisé.
StringBuer : Mutable, synchronisé.
1.9 Exception vs Erreur
Exception : Erreurs prévues, gérables via try-catch.
Error : Erreurs graves, non gérables facilement.
2
1.10 Abstract vs Interface
Classe abstraite : Contient méthodes abstraites et concrètes.
Interface : Contrat, peut être implémentée par plusieurs classes.
1.11 Constructeur
Méthode spéciale qui initialise un objet, appelée automatiquement avec new.
1.12 Méthodes statiques vs non statiques
Static : Liée à la classe.
Non-static : Nécessite un objet.
2 Autres notions Java
2.1 Objet et exécution
Les objets sont créés dans le Heap, et leurs méthodes sont exécutées via la Stack.
2.2 Bases de données
Une BDD stocke, organise et gère les données (SQL ou NoSQL).
2.3 TDD, ATDD et BDD
TDD : Tests avant le code.
ATDD : Tests dénis avec les utilisateurs.
BDD : Décrire le comportement attendu ( Given-When-Then ).
2.4 Stateful vs Stateless
Stateful : Conserve l'état (sessions).
Stateless : Chaque requête est indépendante.
3 Outils et frameworks
3.1 Maven
Outil de gestion de projet Java : dépendances, cycle de build, packaging.
3.2 DevTools
Extension Spring Boot qui recharge automatiquement le projet.
3
3.3 Spring Framework
IOC (Inversion of Control).
DI (Dependency Injection).
Spring Boot : Auto-conguration et rapidité de développement.
3.4 Conguration Spring Boot
Fichiers : [Link], [Link].
Annotations importantes : @SpringBootApplication, @Bean, @Configuration,
@Service, @Repository, @Controller.
4 Méthodologies de projet
Méthodes agiles : Scrum, Kanban.
Développement itératif et collaboratif.