0% ont trouvé ce document utile (0 vote)
4 vues3 pages

Différences clés en Java et Spring Framework

Le document présente des concepts clés en Java, Spring Framework, Spring Data JPA, Hibernate, Angular, ainsi que des notions de microservices et DevOps. Il aborde des différences entre divers éléments comme les comparaisons d'objets, les structures de données, les annotations Spring, et les mécanismes de gestion des transactions. De plus, il explique des concepts Angular tels que le data binding et les Observables, ainsi que des outils comme Docker.

Transféré par

H ala
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues3 pages

Différences clés en Java et Spring Framework

Le document présente des concepts clés en Java, Spring Framework, Spring Data JPA, Hibernate, Angular, ainsi que des notions de microservices et DevOps. Il aborde des différences entre divers éléments comme les comparaisons d'objets, les structures de données, les annotations Spring, et les mécanismes de gestion des transactions. De plus, il explique des concepts Angular tels que le data binding et les Observables, ainsi que des outils comme Docker.

Transféré par

H ala
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Java (Core)

1. Différence entre == et .equals() en Java ?

 == compare les références mémoire.


 .equals() compare le contenu des objets (si la méthode est bien redéfinie).

2. Différence entre ArrayList et LinkedList ?

 ArrayList : Accès rapide (O(1)) mais coûteux pour l’insertion/suppression au milieu.


 LinkedList : Insertion/Suppression rapide (O(1) si en tête ou queue) mais accès lent
(O(n)).

3. Qu’est-ce qu’un HashMap et comment fonctionne-t-il ?

 Une structure clé-valeur utilisant un tableau et des listes chaînées (hashing).


 Collision gérée par chaînage ou arbre rouge-noir (JDK 8+).

Spring Framework

4. Différence entre @Component, @Service, et @Repository ?

 @Component : Générique, pour n'importe quel bean Spring.


 @Service : Spécifique aux services métier.
 @Repository : Spécifique à la couche DAO (avec gestion des exceptions automatiques).

5. Comment fonctionne la gestion des transactions avec Spring ?

 Via l’annotation @Transactional.


 Peut être appliquée sur une méthode ou une classe.
 Gère automatiquement commit/rollback selon les exceptions levées.

6. Cycle de vie d’un Bean dans Spring ?

1. Instanciation.
2. Injection des dépendances.
3. @PostConstruct (initialisation).
4. Utilisation du bean.
5. @PreDestroy (nettoyage avant suppression).

7. Différence entre Spring Boot et Spring MVC ?

 Spring MVC : Framework pour construire des applications web MVC.


 Spring Boot : Facilite la configuration (auto-configuration, serveur embarqué).

8. À quoi sert Spring Security ?


 Gestion de l'authentification et de l'autorisation.
 Utilise des filtres (UsernamePasswordAuthenticationFilter,
JwtAuthenticationFilter).

Spring Data JPA & Hibernate

9. Différence entre fetch = [Link] et fetch = [Link] ?

 Lazy : Chargement différé (meilleure perf).


 Eager : Chargement immédiat (peut causer des problèmes de performance).

10. Qu’est-ce qu’un EntityManager et un Session en Hibernate ?

 EntityManager : Interface JPA pour gérer les entités (CRUD, transactions).


 Session : Interface Hibernate pour gérer la persistance des objets.

Angular

11. Différence entre ngOnInit et constructor ?

 constructor : Exécuté lors de l’instanciation du composant.


 ngOnInit : Exécuté après l’initialisation des données (bon endroit pour l’appel aux API).

12. Comment fonctionne le data binding dans Angular ?

 Interpolation ({{}}) : Affichage dans le HTML.


 Property Binding ([attr]) : Modifie les propriétés d'un élément HTML.
 Event Binding ((event)) : Gère les événements utilisateur.
 Two-way Binding ([(ngModel)]) : Synchronisation bi-directionnelle.

13. Différence entre @Input() et @Output() ?

 @Input() : Permet de recevoir des données d’un parent.


 @Output() : Permet d’émettre des événements au parent.

14. Que sont les Observables et Promises ?

 Promise : Exécute une seule valeur asynchrone et ne peut pas être annulée.
 Observable : Flux de données asynchrones pouvant être annulé et manipulé (RxJS).

15. Comment intercepter des requêtes HTTP en Angular ?


 Via un interceptor (HttpInterceptor).
 Permet de gérer les tokens JWT, logs, erreurs globales.

Bonus : Microservices & DevOps

16. Qu’est-ce que Docker ?

 Un outil de conteneurisation qui permet d'encapsuler une application et ses dépendances.

17. Différence entre Monolithe et Microservices ?

 Monolithe : Application unique et centrale.


 Microservices : Modules indépendants communiquant via API REST ou messages.

Vous aimerez peut-être aussi