Die 26 wichtigsten Fragen und Antworten zu Maven-Interviews [Für Neueinsteiger und Erfahrene]

Veröffentlicht: 2021-01-21

Inhaltsverzeichnis

Überblick

Sie wissen bereits, dass Fachwissen in Maven heute viel Geld wert ist, sonst wären Sie nicht hier. Schließlich ist Maven das Tool der Wahl für die meisten Top-Unternehmen, und natürlich sind sie sehr daran interessiert, Personen wie Sie einzustellen, um im Wettbewerb voranzukommen.

Nun, es wäre eine zu perfekte Welt, in der Sie genau wüssten, welche Fragen Ihnen in Ihrem nächsten Vorstellungsgespräch gestellt werden. Wir haben jedoch das Nächstbeste für Sie: eine sorgfältig kuratierte Liste der am häufigsten gestellten Fragen und Antworten zu Maven-Interviews. Diese könnten Ihnen nur den Job bringen, den Sie im Auge haben. Also, lass uns gleich einsteigen!

Maven Interview Fragen und Antworten

Frage 1: Was ist Maven?

Apache Maven ist ein effektives Build-Automatisierungstool, das von der Apache Software Foundation gehostet wird und zum Erstellen und Verwalten von in Java geschriebenen Projekten verwendet wird. Es unterstützt auch die Verwaltung von Projekten, die in C/C++, Ruby, Scala und einigen anderen Programmiersprachen geschrieben wurden. Maven verwendet ein standardmäßiges Build-Lifecycle-Framework, um die Infrastruktur eines Projekts zu automatisieren und zu verstehen.

Frage 2: Was sind die Ziele von Maven?

Um einem Entwickler dabei zu helfen, den gesamten Entwicklungsaufwand auf zeitsparende Weise zu verstehen, sind die Hauptanliegen von Maven:

  • Um den Prozess von Bauprojekten einfach zu machen

Maven gibt Entwicklern Zugriff auf zugrunde liegende Mechanismen, schirmt sie jedoch vor mehreren anderen Details ab.

  • Um Einheitlichkeit im Buildsystem zu ermöglichen

Maven-Projekte werden mit einem System von Plugins und dem Project Object Model (POM) erstellt. Wenn Sie sich mit einem Projekt vertraut machen, können Sie alle Builds von Maven-Projekten verstehen. Dies ist sehr effizient, um Zeit zu sparen.

  • Bereitstellung wertvoller Projektinformationen zur Steigerung der Effizienz

Diese Informationen stammen hauptsächlich aus POM und teilweise aus den Quellen Ihres Projekts. Die Informationen, die Maven bereitstellt, umfassen die verwendeten Abhängigkeiten, Unit-Testberichte, Plugin-Berichte von Codeanalyseprodukten von Drittanbietern usw.

  • Einen Raum schaffen, um die besten Entwicklungspraktiken einzuprägen

Dies beinhaltet die Konzentration auf aktuelle Entwicklungsprinzipien in Bezug auf Ausführung, Unit-Testberichte, Spezifikation usw.

Frage 3: Beschreiben Sie den Ablauf der Projektumsetzung?

Der Bereitstellungsprozess eines Projekts umfasst die folgenden Schritte:

Schritt 1: Der Code aller laufenden Projekte wird entweder in das SVN oder in das Quellcode-Repository eingegeben. Dies geschieht, damit der Code markiert werden kann.

Schritt 2: Der gesamte Quellcode von SVN wird heruntergeladen.

Schritt 3: Im dritten Schritt wird die Anwendung erstellt.

Schritt 4: Die als EAR-Datei oder WAR-Datei erhaltene Build-Ausgabe wird an einem gemeinsamen Speicherort im Netzwerk gespeichert.

Schritt 5: Die Datei wird aus dem Netzwerk abgerufen und am Produktionsstandort bereitgestellt.

Schritt 6: Sobald der Bereitstellungsprozess abgeschlossen ist, wird die Dokumentation mit dem Datum und der Version der Anwendung aktualisiert.

Frage 4: Welche Aspekte werden von Maven verwaltet?

Entwickler auf Maven verwalten die folgenden Aspekte:

  • Von einem Projekt verwendete Abhängigkeiten
  • SCMs (Softwarekonfigurationsmanagement)
  • Releases und Builds
  • Dokumentationsdetails
  • Berichterstattung
  • Verteilung
  • Mailingliste

Frage 5: Mit welchem ​​Befehl können Sie schnell Ihre Maven-Site erstellen?

Der Befehl lautet –

mvn-Website

Frage 6: Was sind die Funktionen von Maven?

Einige Schlüsselfunktionen von Maven sind wie folgt:

  1. Es ermutigt Entwickler, die besten Entwicklungspraktiken zu befolgen. Dadurch wird die Projekterstellung einfacher und schneller – ein neues Projekt kann in wenigen Sekunden gestartet werden.
  2. Es ermöglicht eine konsistente Nutzung, was bedeutet, dass es keine Anlaufzeit gibt, wenn neue Entwickler in ein Projekt einsteigen.
  3. Maven verwaltet Abhängigkeiten effizient, was bedeutet, dass die Aktualisierung automatisch erfolgt und transitive Abhängigkeiten sortiert werden.
  4. Es ermöglicht den gleichzeitigen Zugriff auf mehrere Projekte.
  5. Es enthält ein umfangreiches Repository von Bibliotheken und Metadaten. Es gibt auch Vorkehrungen, um den Zugriff auf die neuesten und größten Open-Source-Projekte in Echtzeit zu ermöglichen.
  6. Es ermöglicht die Kompatibilität mit Erweiterungen und ermöglicht es Benutzern, Plugins in Java oder anderen Skriptsprachen wie Ruby, C# und Scala zu schreiben.
  7. Es besteht sofortiger Zugriff auf neue Versionen und Funktionen, die keine zusätzliche Konfiguration erfordern.
  8. Mit Maven können Entwickler zahlreiche Projekte erstellen, um vordefinierte Ausgabetypen wie JAR, WAR zu imitieren. Dies erfordert kaum Skripting.
  9. Maven kann eine Website oder ein PDF mit denselben Metadaten wie der Build generieren, um Standardberichte über den Entwicklungsstand eines Projekts zu erstellen.
  10. Mit kaum Änderungen an Konfigurationen kann Ihr Source Control System integriert werden. Maven ermöglicht es Ihnen dann, eine Projektfreigabe basierend auf einem bestimmten Tag zu verwalten. Diese Daten können auch an einem Verteilungsort veröffentlicht werden, damit sie von anderen Projekten verwendet werden können.
  11. Zentrale Repositories von JARs sind außerordentlich wertvoll und Maven empfiehlt Ihnen, sie zusammen mit anderen Abhängigkeiten zu verwenden. Dadurch können alle JARs, die zum Erstellen eines Projekts benötigt werden, aus einem zentralen JAR-Repository heruntergeladen werden. Dies ähnelt dem CPAN von Perl und ermöglicht die Wiederverwendbarkeit von JARs über Projekte hinweg. Durch die aktive Kommunikation zwischen Projekten können alle Abwärtskompatibilitätsprobleme beseitigt werden.

Frage 7: Was sind die Phasen des Clean Lifecycle?

Die sauberen Lebenszyklusphasen sind wie folgt:

  1. vorreinigen
  2. reinigen
  3. nachreinigen

Frage 8: POM definieren.

POM (kurz für Project Object Model) ist eine grundlegende Arbeitseinheit in Maven. Als XML-Erweiterung erstellt, wird sie im Basisverzeichnis von pom.xml gespeichert. Informationen zu den verschiedenen von Maven vorgenommenen Konfigurationen finden Sie in dieser Datei.

Frage 9: Was sind die Phasen eines Site-Lebenszyklus?

Im Folgenden sind die Phasen eines Site-Lebenszyklus aufgeführt:

  1. vor Ort
  2. Seite? ˅
  3. post-site
  4. Site-Bereitstellung

Frage 10: Wenn im POM angegeben, welche Elemente des POM kann ein Profil ändern?

Die folgenden POM-Elemente können geändert werden:

<Plugins>

<Eigenschaften>

<Module>

<Bericht>

<Speicher>

<Plugin-Repositories>

<Abhängigkeiten>

<Abhängigkeitsverwaltung>

<Verteilungsverwaltung>

Frage 11: Erklären Sie den Build-Lebenszyklus von Maven.

Eine logische Abfolge von Phasen, die definiert ist, um die Reihenfolge der Ausführung von Zielen festzulegen, wird als Build-Lebenszyklus bezeichnet. Jede Phase ist ein Hinweis auf eine Stufe im Lebenszyklus.

Sehen Sie sich an: Die 10 wichtigsten Fragen und Antworten zu Spring Boot-Interviews

Frage 12: Was sind die 3 Build-Lebenszyklen von Maven?

Die drei Build-Zyklen von Maven sind:

  1. Säubern: In dieser Phase werden alle Artefakte entfernt, die von früheren Builds übrig geblieben sind. Der Clean Lifecycle besteht aus drei Phasen: Vorreinigung, Reinigung und Nachreinigung.
  2. Standard (oder Build): Der Standard-Build-Zyklus gibt an, wo die Anwendung erstellt wird.
  3. Standort: In dieser Phase wird jede zugehörige Standortdokumentation generiert. Es gibt vier Phasen im Site-Lebenszyklus, nämlich: Pre-Site, Site, Post-Site und Site-Deployment.

Frage 13: Erklären Sie ein Ziel in Maven.

Ein Ziel bezeichnet eine bestimmte Aufgabe, die integraler Bestandteil des Aufbaus und Managements eines Projekts ist. Ein Ziel kann an Bauphasen gebunden sein oder auch nicht. Eine, die an null Build-Phasen gebunden ist, muss nicht innerhalb des Build-Lebenszyklus ausgeführt werden. es kann außerhalb davon durch direkten Aufruf erfolgen.

Frage 14: Was ist der Zweck des folgenden Befehls: mvn cleandependency:copy-dependencies package?

Der obige Befehl wird verwendet, um das Projekt zu löschen. Es kopiert dann alle Abhängigkeiten und führt alle Phasen des Projekts aus.

Frage 15: Erklären Sie ein Build-Profil in Maven-Terminologie.

Ein Build-Profil stellt eine Gruppe von Konfigurationswerten dar, mit denen Standardwerte eines Maven-Builds festgelegt oder überschrieben werden können. Ein Build-Profil ermöglicht die Anpassung eines Builds an verschiedene Umgebungen (z. B. Produktions- versus Entwicklungsumgebung)

Frage 16: Nennen Sie die drei verschiedenen Build-Profile.

  1. Pro Benutzer: Sie definieren das Build-Profil pro Benutzer in der XML-Datei der Maven-Einstellungen (%USER_HOME%/.m2/settings.xml).
  2. Pro Projekt: Das Build-Profil pro Projekt wird in einer dieser beiden Dateien definiert – POM-Datei, pom.xml.
  3. Global: Dieses Build-Profil ist in der XML-Datei der globalen Einstellungen in Maven (%M2_HOME%/conf/settings.xml) zu definieren.

Frage 17: Was ist der Standardspeicherort Ihres lokalen Repositorys?

Der Standardspeicherort ist: ~/m2./repository .

Frage 18: Schreiben Sie den Befehl zum Starten der Installation der JAR-Datei in Ihr lokales Repository?

Der Befehl lautet: mvn install

Frage 19: Beschreiben Sie kurz die verschiedenen Maven-Plugins.

Die zwei Arten von Maven-Plugins sind:

  1. Plugins erstellen: Diese Plugins werden während des Erstellungsprozesses ausgeführt. Sie sollten im Element <build/> der Datei pom.xml konfiguriert werden.
  2. Reporting-Plugins: Diese werden ausgeführt, wenn die Generierung der Site stattfindet, und müssen im Element <reporting/> der Datei pom.xml konfiguriert werden.

Frage 20: Mit welchem ​​Befehl wird Ihr Projekt offline erstellt?

Der folgende Befehl wird verwendet: mvn o Paket

Frage 21: Wie lautet der Befehl zum Ausschluss von Abhängigkeit?

Das Ausschlusselement wird verwendet, um eine Abhängigkeit auszuführen.

Frage 22. Was ist der Schritt, um Plugins während eines Builds automatisch zu bereinigen?

Wenn Sie das saubere Plugin in das Ausführungstag in der Datei pom.xml einfügen, wird das Plugin bereinigt.

Frage 23: Wie wird die Weitergabe von Plugins an untergeordnete POMs gestoppt?

Verwenden Sie den folgenden Befehl: Setzen Sie <inherited> auf false

Frage 24: Erklären Sie die Verwendung des Ausführungselements in der pom-Datei?

Das Element <execution> in einer pom-Datei enthält die Informationen, die zum Ausführen eines Plugins benötigt werden.

Frage 25: Nennen Sie den vollständig qualifizierten Artefaktnamen eines Projekts.

Der vollständig qualifizierte Artefaktname eines Projekts lautet: <groupId>:<artifactId>:<version>

Frage 26: Erwähnen Sie die Schritte zum Referenzieren einer endgültigen Eigenschaft in der Datei pom.xml?

Dazu werden die XML-Elementnamen, die in der Definition des Werts verwendet werden, vom Eigenschaftsnamen verwendet, wobei „pom“ als Projektelement-Alias ​​fungieren darf.

Das heißt, ${pom.name} ist ein Verweis auf den Projektnamen, ${pom.version} gibt seine Version an und ${pom.build.finalName} ist der endgültige Dateiname, der auf der Verpackung des erstellten Projekts erstellt wurde. und so weiter.

Das ist alles, was in dieser Fragen-und-Antworten-Liste für ein Maven-Interview steht. Wir hoffen, dass dies nützlich ist!

Muss gelesen werden: Jenkins Interview Questions & Answers 2021 für Freshers & Erfahrene

Lernen Sie Softwarekurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Fazit

Diese decken hauptsächlich ein wenig über die Grundkenntnisse von Maven ab, die einen für ein Interview ausrüsten sollen. Obwohl die Liste nicht vollständig ist, legt sie die Grundlage, um die Personalvermittler mit Ihrem Wissen über Maven zu umwerben.

Wenn Sie mehr über Jenkins, Full-Stack-Software, erfahren möchten, schauen Sie sich das Executive PG-Programm in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenge Schulungen und mehr als 9 Projekte bietet und Aufgaben, IIIT-B-Alumni-Status, praktische praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Unternehmen.

Was ist Maven?

Maven ist ein Build-Automatisierungstool, das Projektabhängigkeiten automatisch herunterlädt, sodass Sie dies nicht selbst tun müssen. Es ist in der Lage, Projekte zu erstellen, zu kompilieren und zu testen. Wenn Sie also an vielen verschiedenen Projekten arbeiten, ist dieses Tool genau das Richtige für Sie. Nach der Installation können Sie einfache Befehle verwenden, um das Erstellen und Testen Ihres Projekts zu verwalten, und es lädt auch Projektabhängigkeiten für Sie herunter, sodass Sie dies nicht manuell tun müssen.

Was ist Gradle?

Gradle ist ein Build-Automatisierungstool. Ein Build-Tool ist eine Softwareanwendung, die entwickelt wurde, um das Erstellen von Software zu automatisieren. Sein Hauptzweck besteht darin, den Aufwand für die Erstellung eines Produkts und die Verwaltung des Erstellungsprozesses zu reduzieren. Gradle ist eine natürliche Build-Sprache, die verwendet werden kann, um ein skriptfähiges, flexibles Build-System zu erstellen. Gradle ist ein Open-Source-Projekt und kann in den Build-Prozess eines Unternehmens integriert werden. Es ist ein Build-Tool, das schneller und intelligenter baut als Ant, Maven und andere Tools. Es wurde für Build-Szenarien mit mehreren Projekten entwickelt und basiert auf Konventionen über Konfiguration. Es ist ein Build-Automatisierungstool, das Anwendungen nach Bedarf erstellt, testet und veröffentlicht. Es kann sich auch um alle Abhängigkeiten kümmern.

Was sind Build-Automatisierungstools?

Build-Automatisierungstools wie Jenkins, TravisCI und CircleCI werden verwendet, um Ihren Build-Prozess von Anfang bis Ende zu automatisieren. Dazu gehören das Erstellen der Anwendung, das Ausführen von Komponententests, die Integration in ein Versionskontrollsystem (z. B. Git), das Hochladen der Artefakte in ein privates oder öffentliches Repository und das Generieren eines Berichts für jeden Build. Der Vorteil ist, dass diese Tools so konfiguriert werden können, dass sie Ihre Build-, Test- und Bereitstellungsprozesse automatisch ausführen. Nach der Konfiguration können sie Teams und kontinuierliche Integrationsdienste bereitstellen, was die kontinuierliche Bereitstellung erleichtert, und sie sind so konzipiert und implementiert, dass sie eine robuste und skalierbare Build-Pipeline bereitstellen.