26 questions et réponses d'entrevue Maven les plus importantes [Pour les débutants et les expérimentés]

Publié: 2021-01-21

Table des matières

Aperçu

Vous savez déjà que l'expertise dans Maven vaut beaucoup d'argent aujourd'hui, sinon vous ne seriez pas ici. Après tout, Maven est l'outil de choix pour la plupart des grandes entreprises et, naturellement, elles souhaitent embaucher des personnes comme vous pour prendre de l'avance dans la compétition.

Maintenant, ce serait un monde trop parfait où vous sauriez exactement quelles questions vous seraient posées lors de votre prochain entretien d'embauche. Cependant, nous avons ce qu'il y a de mieux pour vous : une liste soigneusement organisée des questions et réponses les plus fréquemment posées aux entretiens avec Maven. Ceux-ci pourraient bien vous décrocher le travail que vous convoitez. Alors, allons-y !

Questions et réponses de l'entretien Maven

Question 1 : Qu'est-ce que Maven ?

Apache Maven est un outil d'automatisation de génération efficace hébergé par Apache Software Foundation qui est utilisé pour créer et gérer des projets écrits en Java. Il prend également en charge la gestion de projets écrits en C/C++, Ruby, Scala et quelques autres langages de programmation. Maven utilise un cadre de cycle de vie de construction par défaut pour automatiser et comprendre l'infrastructure d'un projet.

Question 2 : Quels sont les objectifs de Maven ?

Afin d'aider un développeur à comprendre l'état complet de l'effort de développement d'une manière qui lui fait gagner du temps, les principales préoccupations de Maven sont :

  • Pour simplifier le processus de construction de projets

Maven donne aux développeurs l'accès aux mécanismes sous-jacents mais les protège de plusieurs autres détails.

  • Pour permettre l'uniformité dans le système de construction

Les projets Maven sont construits à l'aide d'un système de plugins et du Project Object Model (POM). Se familiariser avec un projet peut vous aider à comprendre toutes les versions de projets Maven. C'est très efficace pour gagner du temps.

  • Fournir des informations précieuses sur le projet pour augmenter l'efficacité

Ces informations proviennent principalement de POM et partiellement des sources de votre projet. Les informations fournies par Maven incluent les dépendances utilisées, les rapports de tests unitaires, les rapports de plugins de produits d'analyse de code tiers, etc.

  • Créer un espace pour inculquer les meilleures pratiques de développement

Cela implique de se concentrer sur les principes de développement actuels en matière d'exécution, de rapports de tests unitaires, de spécifications, etc.

Question 3 : Décrivez la séquence de déploiement du projet ?

Le processus de déploiement d'un projet comprend les étapes suivantes :

Étape 1 : Le code de tous les projets en cours est entré soit dans le SVN, soit dans le référentiel de code source. Ceci est fait pour que le code puisse être étiqueté.

Étape 2 : L'intégralité du code source de SVN est téléchargé.

Étape 3 : La troisième étape consiste à créer l'application.

Étape 4 : La sortie de génération obtenue sous forme de fichier EAR ou de fichier WAR est stockée dans un emplacement commun du réseau.

Étape 5 : Le fichier est récupéré du réseau et déployé sur le site de production.

Étape 6 : Une fois le processus de déploiement terminé, la documentation est mise à jour avec la date et la version de l'application.

Question 4 : Quels aspects sont gérés par Maven ?

Les développeurs sur Maven gèrent les aspects suivants :

  • Dépendances utilisées par un projet
  • SCM (Gestion de configuration logicielle)
  • Versions et versions
  • Détails de la documentation
  • Rapports
  • Distribution
  • Liste de diffusion

Question 5 : Quelle commande vous permet de construire rapidement votre site Maven ?

La commande est -

site mvn

Question 6 : Quelles sont les fonctionnalités de Maven ?

Certaines fonctionnalités clés de Maven sont les suivantes :

  1. Il encourage les développeurs à suivre les meilleures pratiques de développement. Cela rend la construction de projet plus simple et plus rapide - un nouveau projet peut être démarré en quelques secondes.
  2. Il permet une utilisation cohérente, ce qui signifie qu'il n'y a pas de temps de montée en puissance lorsque de nouveaux développeurs intègrent un projet.
  3. Maven gère efficacement les dépendances, ce qui signifie que la mise à jour est effectuée automatiquement et que les dépendances transitives sont triées.
  4. Il permet un accès simultané à plusieurs projets.
  5. Il contient un vaste référentiel de bibliothèques et de métadonnées. Des dispositions sont également en place pour permettre l'accès aux derniers et plus grands projets Open Source en temps réel.
  6. Il permet la compatibilité avec les extensions et permet aux utilisateurs d'écrire des plugins en Java ou dans d'autres langages de script tels que Ruby, C# et Scala.
  7. Il y a un accès immédiat aux nouvelles versions et fonctionnalités qui ne nécessitent pas de configuration supplémentaire.
  8. À l'aide de Maven, les développeurs peuvent créer de nombreux projets pour imiter des types de sortie prédéfinis tels que JAR, WAR. Cela ne nécessite pratiquement aucun script.
  9. Maven peut générer un site Web ou un PDF en utilisant les mêmes métadonnées que la construction pour produire des rapports standard concernant l'état de développement d'un projet.
  10. Avec pratiquement aucun changement de configuration, votre système de contrôle source peut être intégré. Maven vous permettra ensuite de gérer une version de projet basée sur une certaine balise. Ces données peuvent également être publiées sur un emplacement de distribution afin de pouvoir être utilisées par d'autres projets.
  11. Les référentiels centraux de fichiers JAR sont extrêmement précieux et Maven vous encourage à les utiliser avec d'autres dépendances. Grâce à cela, tous les fichiers JAR nécessaires à la création d'un projet peuvent être téléchargés à partir d'un référentiel JAR central. Ceci est similaire au CPAN de Perl et permet la réutilisation des fichiers JAR à travers les projets. Grâce à la communication active entre les projets, tout problème de rétrocompatibilité peut être éliminé.

Question 7 : Quelles sont les phases du Clean Lifecycle ?

Les phases du cycle de vie propre sont les suivantes :

  1. pré-nettoyage
  2. nettoyer
  3. post-nettoyage

Question 8 : Définir POM.

POM (abréviation de Project Object Model) est une unité de travail fondamentale dans Maven. Créé en tant qu'extension XML, il est stocké dans le répertoire de base par pom.xml. Les informations concernant les différentes configurations réalisées par Maven se trouvent dans ce fichier.

Question 9 : Quelles sont les phases du cycle de vie d'un site ?

Voici les phases du cycle de vie d'un site :

  1. pré-site
  2. placer
  3. post-site
  4. déploiement de site

Question 10 : Lorsque spécifié dans le POM, quels éléments du POM un profil peut-il modifier ?

Les éléments POM suivants peuvent être modifiés :

<plugins>

<propriétés>

<modules>

<signalement>

<dépôts>

<dépôts de plugins>

<dépendances>

<gestion des dépendances>

<gestion de la distribution>

Question 11 : Expliquez le cycle de vie de construction de Maven.

Une séquence logique de phases définies pour spécifier l'ordre d'exécution des objectifs est appelée cycle de vie de construction. Chaque phase est une indication d'une étape du cycle de vie.

Découvrez: Top 10 des questions et réponses critiques de l'entretien Spring Boot

Question 12 : Quels sont les 3 cycles de vie de build de Maven ?

Les trois cycles de construction de Maven sont :

  1. Nettoyer : cette étape consiste à éliminer tous les artefacts restants des versions précédentes. Le cycle de vie propre se compose de trois phases : pré-nettoyage, nettoyage et post-nettoyage.
  2. Par défaut (ou build) : Le cycle de build par défaut correspond à l'endroit où l'application est construite.
  3. Site : toute documentation de site connexe est générée au cours de cette phase. Il y a quatre phases dans le cycle de vie du site, à savoir : pré-site, site, post-site et déploiement de site.

Question 13 : Expliquez un objectif dans Maven.

Un objectif désigne une tâche particulière qui fait partie intégrante de la construction et de la gestion d'un projet. Un objectif peut ou non être lié à des phases de construction. Celle qui est liée à zéro phase de construction n'a pas besoin d'être exécutée dans le cycle de vie de la construction. cela peut être fait en dehors de lui par invocation directe.

Question 14 : A quoi sert la commande suivante : mvn clean dependency:copy-dependencies package ?

La commande ci-dessus est utilisée pour effacer le projet. Il copiera ensuite toutes les dépendances et exécutera toutes les phases du projet.

Question 15 : Expliquez un profil de construction dans la terminologie Maven.

Un profil de build représente un groupe de valeurs de configuration à l'aide desquelles les valeurs par défaut d'un build Maven peuvent être définies ou remplacées. Un profil de construction permet la personnalisation d'une construction à divers environnements (par exemple, environnement de production ou de développement)

Question 16 : Mentionnez les trois profils de construction différents.

  1. Par utilisateur : Vous définissez le profil de construction par utilisateur dans le fichier xml des paramètres Maven (%USER_HOME%/.m2/settings.xml).
  2. Par projet : Le profil de construction par projet est défini dans l'un de ces deux fichiers - fichier POM, pom.xml.
  3. Global : Ce profil de build est à définir dans le fichier xml des paramètres globaux de Maven (%M2_HOME%/conf/settings.xml).

Question 17 : Quel est l'emplacement par défaut de votre référentiel local ?

L'emplacement par défaut est : ~/m2./repository .

Question 18 : Écrivez la commande pour lancer l'installation du fichier JAR dans votre référentiel local ?

La commande est : mvn install

Question 19 : Décrivez brièvement les différents plugins Maven.

Les deux types de plugins Maven sont :

  1. Plugins de construction : ces plugins sont exécutés pendant le processus de construction. Ils doivent être configurés dans l'élément <build/> du fichier pom.xml.
  2. Plugins de reporting : Ceux-ci s'exécutent lors de la génération du site et doivent subir une configuration dans l'élément <reporting/> du fichier pom.xml.

Question 20 : Quelle commande est utilisée pour construire votre projet hors ligne ?

La commande suivante est utilisée : mvn o package

Question 21 : Quelle est la commande pour exclure la dépendance ?

L' élément d' exclusion est utilisé pour exécuter la dépendance.

Question 22. Quelle est l'étape pour nettoyer automatiquement les plugins lors d'un build ?

Si vous incluez le plugin clean dans la balise d'exécution du fichier pom.xml, le plugin sera nettoyé.

Question 23 : Quel est le processus d'arrêt de la propagation des plugins vers les POM enfants ?

Utilisez la commande suivante : définissez <inherited> sur false

Question 24 : Expliquez l'utilisation de l'élément d'exécution dans le fichier pom ?

L'élément <execution> dans un fichier pom contient les informations nécessaires pour exécuter un plugin.

Question 25 : Mentionnez le nom complet de l'artefact d'un projet.

Le nom d'artefact complet d'un projet est : <groupId> :<artifactId> :<version>

Question 26 : Mentionner les étapes pour référencer une propriété définitive dans le fichier pom.xml ?

Pour ce faire, les noms d'éléments XML qui sont utilisés dans la définition de la valeur sont utilisés par le nom de propriété où « pom » est autorisé à fonctionner comme alias d'élément de projet.

Ce qui signifie que ${pom.name} est une référence au nom du projet, ${pom.version} indique sa version et ${pom.build.finalName} est le nom du fichier final créé sur l'emballage du projet construit, etc.

C'est tout ce qu'il y a dans cette liste de questions et réponses pour une interview Maven. Nous espérons que cela vous sera utile !

Doit lire: Questions et réponses de l'entrevue Jenkins 2021 pour les débutants et les expérimentés

Apprenez des cours de logiciels en ligne 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.

Conclusion

Celles-ci couvrent principalement un peu les connaissances de base de Maven qui sont destinées à en équiper un pour un entretien. Bien qu'il ne s'agisse pas d'une liste exhaustive, elle jette les bases pour séduire les recruteurs grâce à votre connaissance de Maven.

Si vous souhaitez en savoir plus sur Jenkins, le logiciel full-stack, consultez le programme Executive PG de upGrad & IIIT-B en développement de logiciels full-stack, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets. et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Qu'est-ce que Maven ?

Maven est un outil d'automatisation de la construction qui télécharge automatiquement les dépendances du projet, vous n'avez donc pas à le faire vous-même. Il est capable de construire, de compiler et de tester des projets, donc si vous travaillez sur de nombreux projets différents, cet outil est fait pour vous. Une fois installé, vous pouvez utiliser des commandes simples pour gérer la construction et les tests de votre projet, et il téléchargera également les dépendances du projet pour vous, vous n'avez donc pas à le faire manuellement.

Qu'est-ce que Gradle ?

Gradle est un outil d'automatisation de la construction. Un outil de construction est une application logicielle conçue pour automatiser la construction de logiciels. Son objectif principal est de réduire la quantité d'efforts nécessaires pour créer un produit et gérer le processus de construction. Gradle est un langage de construction naturel qui peut être utilisé pour créer un système de construction flexible et scriptable. Gradle est un projet open-source et peut être intégré dans le processus de construction d'une entreprise. C'est un outil de construction qui se construit plus rapidement et plus intelligemment que Ant, Maven et d'autres outils. Il a été conçu pour des scénarios de construction multi-projets et basé sur la convention plutôt que sur la configuration. C'est un outil d'automatisation de la construction qui construit, teste et publie des applications à la demande. Il peut également prendre en charge toutes les dépendances.

Que sont les outils d'automatisation de build ?

Des outils d'automatisation de build tels que Jenkins, TravisCI et CircleCI sont utilisés pour automatiser votre processus de build du début à la fin. Cela inclut la construction de l'application, l'exécution de tests unitaires, l'intégration à un système de contrôle de version (tel que git), le téléchargement des artefacts dans un référentiel privé ou public et la génération d'un rapport pour chaque build. L'avantage est que ces outils peuvent être configurés pour exécuter automatiquement vos processus de construction, de test et de déploiement. Une fois configurés, ils peuvent fournir des équipes et des services d'intégration continue, ce qui facilite la livraison continue et ils sont conçus et mis en œuvre pour fournir un pipeline de construction robuste et évolutif.