15 questions d'entretien MVC incontournables du printemps
Publié: 2018-03-25Spring est devenu l'un des frameworks Java les plus utilisés pour le développement d'applications Web. Toutes les nouvelles applications Java utilisent par défaut les frameworks Spring core et Spring MVC. Grâce à sa popularité croissante, les recruteurs du monde entier recherchent des candidats qui maîtrisent le framework Spring. Si vous vous présentez pour un entretien pour un rôle de développeur Java, Spring MVC est l'une des premières choses que vous devriez approfondir vos connaissances sur les questions d'entretien du cadre Spring - que vous soyez un débutant ou une personne expérimentée.
Après tout, le framework Spring MVC est le framework Java le plus couramment utilisé, et vous êtes tenu de vous faire poser des questions dans et autour du même, dans n'importe quelle interview Java (ou toute interview connexe) pour laquelle vous vous asseyez. Si vous ne le saviez pas, Spring MVC est un framework robuste basé sur Java qui aide à créer des applications Web. Comme son nom l'indique, il utilise une architecture MVC - Model, View, Controller. Spring MVC offre une manière élégante d'utiliser Spring avec le framework MVC. Sorti en 2002, le framework Spring est un framework open source, ce qui signifie que les développeurs du monde entier peuvent contribuer au développement et aux versions ultérieures du framework.
Apprenez à créer des applications comme Swiggy, Quora, IMDB et plusCela signifie également qu'il existe une communauté toujours active de développeurs pour vous aider dans vos requêtes. Le fait d'être open source ajoute également à la pléthore d'avantages offerts par le framework Spring. Surtout si vous débutez votre carrière en Java, vous aurez besoin de conseils, et la communauté diversifiée de développeurs Java garantit que vous ne manquez d'aucun conseil lorsqu'il s'agit de travailler avec Spring MVC.
Avec autant d'avantages à offrir, il ne devrait y avoir aucun doute quant à la raison pour laquelle Spring MVC est le sujet préféré d'une interview pour vous interroger.
Dans cet article, nous parlerons de 15 questions incontournables de Spring MVC que vous pouvez vous attendre à rencontrer lors de toute interview pour laquelle vous vous asseyez.
1. Qu'est-ce que le framework Spring ?
Spring est un framework open source conçu pour simplifier le développement d'applications. Il a une structure en couches qui permet au développeur d'être sélectif sur les composants qu'il utilise. Il comporte trois composants principaux : Spring Core, Spring AOP et Spring MVC.

De plus, vous pouvez parler de votre expérience avec Spring, le cas échéant. Cela ajoutera beaucoup de poids à votre réponse.
Pourquoi les entreprises cherchent à embaucher des développeurs Full Stack2. Quelles sont les principales fonctionnalités du framework Spring ?
Le framework Spring offre de nombreuses fonctionnalités pour faciliter la vie du développeur. Certains d'entre eux sont:
- Léger : Spring est extrêmement léger, la version de base est d'environ 1 Mo, avec des frais généraux de traitement négligeables.
- Inversion de contrôle (IoC) : l'injection de dépendance ou l' inversion de contrôle est l'une des caractéristiques les plus importantes de Spring. En utilisant IoC, les développeurs n'ont pas besoin de créer un environnement complet pour l'objet et ses dépendances ; ils peuvent simplement créer et tester l'objet qu'ils manipulent à un moment donné. Les dépendances d'objets seront incluses ou appelées lorsque le besoin s'en fera sentir.
- Programmation orientée aspect : Spring prend en charge la programmation orientée aspect. AOP isole les fonctions secondaires de la logique métier du programmeur. Cela fournit non seulement de la modularité, mais rend également le code maintenable.
- Architecture MVC : Spring est livré avec un framework MVC pour les applications Web. Ce cadre est hautement configurable à l'aide de diverses technologies telles que JSP, Tiles, iText et POI.
- Gestion des exceptions JDBC : Spring est livré avec une couche d'abstraction JDBC prédéfinie qui simplifie le processus global de gestion des exceptions.
3. Expliquez un peu plus l'injection de dépendance.
L'inversion de contrôle ou l'injection de dépendance vise à simplifier le processus de création d'objets en suivant un concept simple - ne créez pas d'objets, décrivez simplement comment ils doivent être créés. En utilisant IoC, les objets reçoivent leurs dépendances au moment de la construction par une entité externe qui est responsable de la coordination de chaque objet dans le système. Essentiellement, nous injectons des dépendances dans des objets en utilisant IOC ou Dependency Injection.
4. Expliquez les différents types d'injections de dépendance au printemps ? Quand utiliser lequel ?
Spring fournit aux développeurs les deux types d'injections de dépendance suivants :
- DI basé sur le constructeur : le DI basé sur le constructeur est accompli en passant un certain nombre d'arguments (dont chacun représente une dépendance sur une autre classe) au constructeur d'une classe. Simplement, les dépendances sont données sous la forme de paramètres de constructeur.
- DI basé sur le setter : lorsque vous travaillez avec un constructeur sans argument, vous définissez des valeurs en passant des arguments via la fonction setter pour instancier le bean considéré, cela s'appelle l'injection de dépendance basée sur le setter.
Quand utiliserez-vous lequel d'entre eux, se résume à vos besoins. Cependant, il est recommandé d'utiliser DI basé sur Setter pour les dépendances facultatives et DI basé sur constructeur pour les dépendances obligatoires.
Entretien avec Farooq Adam, co-fondateur, Fynd
5. Qu'est-ce que le framework Spring MVC ?
Spring MVC est l'un des composants principaux du framework Spring. Il est livré avec des composants et des éléments prêts à l'emploi qui aident les développeurs à créer des applications Web flexibles et robustes. Comme son nom l'indique, l'architecture MVC sépare les différents aspects de l'application - la logique d'entrée, la logique métier et la logique de l'interface utilisateur. Il fournit également un couplage lâche entre le M, le V et le C de l'application.
6. Quels sont les avantages du framework Spring MVC par rapport aux autres frameworks MVC ?
Le framework Spring MVC présente des avantages évidents par rapport aux autres frameworks. Certains des avantages sont :
- Séparation claire des rôles – Il existe un objet spécialisé pour chaque rôle, offrant ainsi une séparation claire des rôles.
- Code métier réutilisable – Avec Spring MVC, vous n'avez pas besoin de dupliquer votre code. Vous pouvez utiliser vos objets existants comme commandes au lieu de les mettre en miroir afin d'étendre une classe de base de framework particulière.
- Liaison et validation personnalisables
- Paramètres régionaux et résolution de thème personnalisables
- Mappage de gestionnaire personnalisable et résolution d'affichage
- À partir de Spring 2.0, le framework est livré avec une bibliothèque de balises de formulaire JSP qui facilite grandement l'écriture de formulaires dans les pages JSP.
7. Qu'est-ce que DispatcherServlet ?
Le framework Spring MVC est piloté par les requêtes et est conçu autour d'un servlet central qui gère toutes les requêtes et réponses HTTP. Le DispatcherServlet , cependant, fait bien plus que cela. Il s'intègre de manière transparente au conteneur IoC et vous permet d'utiliser chaque fonctionnalité de Spring.
A la réception d'une requête HTTP, le DispatcherServlet consulte HandlerMapping (ce sont les fichiers de configuration) pour appeler le Controller approprié. Ensuite, le contrôleur appelle les méthodes de service appropriées pour définir les données du modèle. Il renvoie également le nom de la vue à DispatcherServlet. DispatcherServlet, avec l'aide de ViewResolver, récupère la vue définie pour la requête. Une fois la vue finalisée, le DispatcherServlet transmet les données du modèle à View - où elles sont finalement rendues sur le navigateur.
Qu'est-ce que le développement piloté par les tests : guide du débutant
8. Quelle est la classe de contrôleur frontal du Spring MVC ?
Un contrôleur frontal est un contrôleur qui gère toutes les requêtes d'une application Web. En ce qui concerne Spring MVC, DispatcherServlet est ce contrôleur frontal. Lorsqu'une requête Web est envoyée à une application Spring MVC, le DIspatcherServlet s'occupe de tout. Tout d'abord, il prend la demande. Ensuite, il organise les différents composants tels que les gestionnaires de requêtes, les contrôleurs, les résolveurs de vue, etc., tous nécessaires pour gérer la requête. Et enfin, il restitue le contenu sur le navigateur.

9. Qu'est-ce qu'un modèle Viewresolver et comment fonctionne-t-il dans MVC ?
View Resolver est un modèle J2EE qui permet aux applications de choisir dynamiquement la technologie de rendu des données sur le navigateur (View). Toute technologie telle que HTML, JSP, Tapestry, XSLT, JSF ou toute autre technologie de ce type peut être utilisée pour View. Le modèle View Resolver contient le mappage des différentes vues. Le contrôleur renvoie le nom de la vue qui est ensuite transmis à View Resolver pour sélectionner la technologie appropriée.
10. Comment Spring MVC fournit-il un support de validation ?
Spring prend principalement en charge deux types de validations :
- Utilisation des annotations JSR-303 et de toute implémentation de référence, par exemple Hibernate Validator, ou
- Implémentation de l'interface org.springframework.validation.Validator.
11. Un utilisateur obtient une erreur de validation dans d'autres champs en cochant une case, après quoi il la décoche. Quel serait le statut de sélection actuel dans l'objet de commande du Spring MVC ? Comment allez-vous résoudre ce problème ?
C'est l'une des questions les plus difficiles à répondre si vous n'êtes pas au courant du comportement HTTP Post dans Spring MVC.
Lors de la publication HTTP, si vous décochez la case, HTTP n'inclut pas de paramètre de requête pour la case à cocher, ce qui signifie que la sélection mise à jour ne sera pas récupérée. Pour résoudre ce problème, vous pouvez utiliser un champ de formulaire caché qui commence par '_'.
Comment réussir votre premier travail de développement logiciel
12. Comment allez-vous comparer le framework MVC à l'architecture à trois niveaux ?
Une architecture à trois niveaux est un style d'architecture alors que MVC est un modèle de conception.
Cela dit, dans les applications plus importantes, MVC constitue le niveau de présentation d'une architecture à trois niveaux. Le modèle, la vue et le contrôleur ne concernent que la présentation - ils utilisent le niveau intermédiaire pour remplir leurs modèles.
13. Comment utiliser JDBC dans Spring pour optimiser les performances ?
Spring fournit une classe de modèle appelée JDBCTemplate . L'utilisation de JDBC avec ce modèle offre de meilleures performances aux collecteurs.
14. Que voulez-vous dire par un "Bean" dans le contexte du framework Spring ?
Toute classe initialisée par le conteneur IoC est appelée bean dans Spring. Le cycle de vie d'un Spring Bean est géré par Spring IoC Container.
15. Qu'est-ce qu'un « champ d'application » en référence aux haricots de printemps ?
Spring Beans est livré avec les cinq champs d'application suivants :
- Prototype : Chaque fois qu'il y a une demande pour un bean, un prototype séparé est créé à chaque fois.
- Requête : C'est comme le champ d'application précédent, mais uniquement pour les applications basées sur le Web. Pour chaque requête HTTP, Spring crée une nouvelle instance de bean.
- Singleton : Il n'y a qu'un seul bean créé pour chaque conteneur, et il agit comme la portée par défaut de ce bean. Dans toutes ces instances, les beans ne peuvent pas utiliser une variable d'instance partagée car cela peut entraîner une incohérence des données.
- Session : Un bean est créé pour chaque session HTTP
- Global-session : la session globale est créée pour les applications de portlet.
Le framework Spring est extensible, c'est-à-dire que vous pouvez également créer votre propre portée. L'attribut "scope" de l'élément bean est utilisé pour définir la portée.
Comment devenir un développeur Full Stack
Emballer…
Il s'agissait des questions et réponses incontournables de l'entretien Spring qui tournaient autour du framework Spring - et Spring MVC, pour être précis. Si vous êtes un développeur Java cherchant à démarrer avec Spring, il ne pourrait pas y avoir de meilleur moment ! En savoir plus si vous recherchez des questions d'entretien Java.
Passez une partie de votre temps précieux à mettre la main sur les questions d'entretien de Java Spring et vous serez prêt à partir. Les organisations sont à la recherche de développeurs maîtrisant parfaitement ce framework, grâce aux fonctionnalités qu'il a à offrir.

Inscrivez-vous à des cours de génie logiciel dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
