Cele mai importante 26 de întrebări și răspunsuri la interviu Maven [pentru cei proaspăți și cu experiență]

Publicat: 2021-01-21

Cuprins

Prezentare generală

Știi deja că experiența în Maven valorează o mulțime de dolari astăzi, altfel nu ai fi aici. La urma urmei, Maven este instrumentul de alegere pentru majoritatea întreprinderilor de top și, desigur, sunt dornici să angajeze persoane ca tine pentru a ajunge înainte în competiție.

Acum, ar fi o lume prea perfectă în care să știi exact ce întrebări ți se vor pune la următorul interviu de angajare. Cu toate acestea, avem următorul lucru cel mai bun pentru tine: o listă îngrijită cu cele mai frecvente întrebări și răspunsuri la interviul Maven. Acestea s-ar putea să vă aducă locul de muncă pe care îl urmăriți. Deci, haideți să pătrundem!

Întrebări și răspunsuri la interviu Maven

Întrebarea 1: Ce este Maven?

Apache Maven este un instrument eficient de automatizare a construcției găzduit de Apache Software Foundation, care este folosit pentru a construi și gestiona proiecte scrise în Java. De asemenea, acceptă gestionarea proiectelor scrise pe C/C++, Ruby, Scala și alte câteva limbaje de programare. Maven folosește un cadru implicit pentru ciclul de viață al construirii pentru a automatiza și a înțelege infrastructura unui proiect.

Întrebarea 2: Care sunt obiectivele lui Maven?

Pentru a ajuta un dezvoltator să înțeleagă starea completă a efortului de dezvoltare într-un mod care să economisească timp, preocupările principale ale Maven sunt:

  • Pentru a simplifica procesul de construire a proiectelor

Maven oferă dezvoltatorilor acces la mecanismele de bază, dar îi protejează de alte câteva detalii.

  • Pentru a permite uniformitatea în sistemul de construcție

Proiectele Maven sunt construite folosind un sistem de pluginuri și Modelul obiect al proiectului (POM). Familiarizarea cu un singur proiect vă poate ajuta să înțelegeți toate versiunile de proiecte Maven. Acest lucru este foarte eficient în economisirea de timp.

  • Furnizarea de informații valoroase despre proiect pentru a crește eficiența

Aceste informații provin în principal din POM și parțial din sursele proiectului dvs. Informațiile pe care le oferă Maven includ dependențele utilizate, rapoarte de testare unitară, rapoarte de plugin de la produse de analiză a codului terțelor părți etc.

  • Crearea unui spațiu pentru inculcarea celor mai bune practici de dezvoltare

Aceasta implică concentrarea pe principiile actuale de dezvoltare atunci când vine vorba de execuție, rapoarte de testare unitară, specificații etc.

Întrebarea 3: Descrieți secvența de implementare a proiectului?

Procesul de implementare a unui proiect include următorii pași:

Pasul 1: Codul din toate proiectele care sunt în desfășurare este introdus fie în SVN, fie în depozitul de cod sursă. Acest lucru se face astfel încât codul să poată fi etichetat.

Pasul 2: Se descarcă întregul cod sursă din SVN.

Pasul 3: Al treilea pas implică construirea aplicației.

Pasul 4: Ieșirea de compilare obținută ca fișier EAR sau fișier WAR este stocată într-o locație comună a rețelei.

Pasul 5: Fișierul este preluat din rețea și implementat pe site-ul de producție.

Pasul 6: Odată ce procesul de implementare este finalizat, documentația este actualizată cu data și versiunea aplicației.

Întrebarea 4: Ce aspecte sunt gestionate de Maven?

Dezvoltatorii de pe Maven gestionează următoarele aspecte:

  • Dependențe utilizate de un proiect
  • SCMs (Gestionarea configurației software)
  • Lansări și versiuni
  • Detalii de documentare
  • Raportare
  • Distributie
  • Listă de email-uri

Întrebarea 5: Care comandă vă permite să vă construiți rapid site-ul Maven?

Comanda este -

site-ul mvn

Întrebarea 6: Care sunt caracteristicile lui Maven?

Unele caracteristici cheie ale Maven sunt următoarele:

  1. Încurajează dezvoltatorii să urmeze cele mai bune practici de dezvoltare. Acest lucru face construirea proiectelor mai simplă și mai rapidă – un nou proiect poate fi început în câteva secunde.
  2. Permite o utilizare consecventă, ceea ce înseamnă că nu există un timp de accelerare atunci când noi dezvoltatori se integrează la un proiect.
  3. Maven gestionează eficient dependențele, ceea ce înseamnă că actualizarea se face automat, iar dependențele tranzitive sunt sortate.
  4. Permite accesul simultan la mai multe proiecte.
  5. Conține un depozit extins de biblioteci și metadate. Există, de asemenea, aranjamente pentru a permite accesul la cele mai recente și mai mari proiecte Open Source în timp real.
  6. Permite compatibilitatea cu extensiile și permite utilizatorilor să scrie pluginuri în Java sau în alte limbaje de scripting, cum ar fi Ruby, C# și Scala.
  7. Există acces imediat la noile versiuni și funcții care nu necesită configurare suplimentară.
  8. Folosind Maven, dezvoltatorii pot construi numeroase proiecte pentru a imita tipuri de rezultate predefinite, cum ar fi JAR, WAR. Acest lucru abia dacă necesită scripting.
  9. Maven poate genera un site web sau un PDF folosind aceleași metadate ca și versiunea pentru a produce rapoarte standard privind starea de dezvoltare a unui proiect.
  10. Cu aproape orice modificare a configurațiilor, sistemul dumneavoastră de control al sursei poate fi integrat. Maven vă va permite apoi să gestionați o lansare de proiect pe baza unei anumite etichete. Aceste date pot fi, de asemenea, publicate într-o locație de distribuție, astfel încât să poată fi utilizate de alte proiecte.
  11. Arhivele centrale ale JAR-urilor sunt excepțional de valoroase și Maven vă încurajează să le utilizați împreună cu alte dependențe. Prin aceasta, orice JAR-uri necesare pentru construirea unui proiect pot fi descărcate dintr-un depozit JAR central. Acesta este similar cu CPAN al lui Perl și permite reutilizarea JAR-urilor în cadrul proiectelor. Prin comunicarea activă între proiecte, orice probleme de compatibilitate inversă pot fi eliminate.

Întrebarea 7: Care sunt fazele ciclului de viață curat?

Fazele ciclului de viață curat sunt după cum urmează:

  1. pre-curățare
  2. curat
  3. post-curățare

Întrebarea 8: Definiți POM.

POM (prescurtare pentru Project Object Model) este o unitate de lucru fundamentală în Maven. Creat ca extensie XML, este stocat în directorul de bază de pom.xml. Informațiile referitoare la diferitele configurații realizate de Maven sunt acest fișier.

Întrebarea 9: Care sunt fazele ciclului de viață al unui site?

Următoarele sunt fazele unui ciclu de viață al site-ului:

  1. pre-site
  2. site-ul
  3. post-site
  4. site-deploy

Întrebarea 10: Când este specificat în POM, ce elemente ale POM poate modifica un profil?

Următoarele elemente POM pot fi modificate:

<pluginuri>

<proprietăți>

<module>

<raportare>

<depozite>

<pluginRepositories>

<dependențe>

<dependencyManagement>

<distributionManagement>

Întrebarea 11: Explicați ciclul de viață al construirii lui Maven.

O secvență logică de faze definită pentru a specifica ordinea de execuție a obiectivelor este denumită Build Lifecycle. Fiecare fază este o indicație a unei etape din ciclul de viață.

Consultați: Top 10 întrebări și răspunsuri la interviu Critical Spring Boot

Întrebarea 12: Care sunt cele 3 cicluri de viață de construcție ale Maven?

Cele trei cicluri de construcție ale lui Maven sunt:

  1. Curățare: această etapă este pentru a elimina orice artefacte rămase din versiunile anterioare. Ciclul de viață curat constă din trei faze: pre-curățare, curățare și post-curățare.
  2. Implicit (sau build): Ciclul de build implicit este pentru locul în care este construită aplicația.
  3. Site: Orice documentație aferentă site-ului este generată în această fază. Există patru faze în ciclul de viață al site-ului și anume: pre-site, site, post-site și site-deploy.

Întrebarea 13: Explicați un obiectiv în Maven.

Un scop înseamnă o anumită sarcină care este parte integrantă a construirii și managementului unui proiect. Un obiectiv poate fi sau nu obligat să construiască faze. Unul care este legat de zero faze de construire nu trebuie să fie executat în timpul ciclului de viață al construirii. se poate face în afara ei prin invocare directă.

Întrebarea 14: Care este scopul următoarei comenzi: mvn clean dependency:copy-dependencies package?

Comanda de mai sus este folosită pentru a șterge proiectul. Apoi va copia orice dependențe și va executa toate fazele proiectului.

Întrebarea 15: Explicați un profil de construcție în terminologia Maven.

Un profil de build reprezintă un grup de valori de configurare folosind valorile implicite ale unei build Maven pot fi setate sau suprascrise. Un profil de build permite personalizarea unei build în diferite medii (de exemplu, mediu de producție versus mediu de dezvoltare)

Întrebarea 16: Menționați cele trei profiluri de construcție diferite.

  1. Per utilizator: definiți profilul de compilare per utilizator în fișierul xml al setărilor Maven (%USER_HOME%/.m2/settings.xml).
  2. Per proiect: profilul de compilare per proiect este definit în oricare dintre aceste două fișiere – fișier POM, pom.xml.
  3. Global: acest profil de compilare urmează să fie definit în fișierul xml al setărilor globale din Maven (%M2_HOME%/conf/settings.xml).

Întrebarea 17: Care este locația implicită a depozitului dvs. local?

Locația implicită este: ~/m2./repository .

Întrebarea 18: Scrieți comanda pentru a iniția instalarea fișierului JAR în depozitul dvs. local?

Comanda este: mvn install

Întrebarea 19: Descrieți pe scurt diferitele pluginuri Maven.

Cele două tipuri de pluginuri Maven sunt:

  1. Creați pluginuri: Aceste plugin-uri sunt executate în timpul procesului de construire. Acestea ar trebui să fie configurate în elementul <build/> al fișierului pom.xml.
  2. Pluginuri de raportare: Acestea se execută atunci când are loc generarea site-ului și trebuie să fie configurate în elementul <reporting/> al fișierului pom.xml.

Întrebarea 20: Ce comandă este folosită pentru a vă construi proiectul offline?

Este folosită următoarea comandă: mvn o package

Întrebarea 21: Care este comanda pentru a exclude dependența?

Elementul de excludere este folosit pentru a executa dependența.

Întrebarea 22. Care este pasul pentru a curăța automat pluginurile în timpul unei build?

Dacă includeți pluginul curat în eticheta de execuție din fișierul pom.xml, pluginul va fi curățat.

Întrebarea 23: Care este procesul de oprire a propagării pluginurilor către POM-uri copii?

Utilizați următoarea comandă: setați <moștenit> la fals

Întrebarea 24: Explicați utilizarea elementului de execuție în fișierul pom?

Elementul <execuție> dintr-un fișier pom conține informațiile necesare pentru a executa un plugin.

Întrebarea 25: Menționați numele artefactului complet calificat al unui proiect.

Numele complet calificat al artefactului al unui proiect este: <groupId>:<artifactId>:<versiune>

Întrebarea 26: Menționați pașii pentru a face referire la o proprietate definitivă în fișierul pom.xml?

Pentru a face acest lucru, numele elementelor XML care sunt utilizate în definiția valorii sunt folosite de numele proprietății unde „pom” poate funcționa ca alias al elementului de proiect.

Ceea ce înseamnă că ${pom.name} este o referință la numele proiectului, ${pom.version} indică versiunea acestuia și ${pom.build.finalName} este numele final al fișierului creat pe ambalajul proiectului construit, și așa mai departe.

Asta este tot ce există în această listă de întrebări și răspunsuri pentru un interviu Maven. Sperăm că acest lucru va fi la îndemână!

Trebuie citit: Întrebări și răspunsuri la interviu Jenkins 2021 pentru cei proaspăți și experimentați

Învață cursuri de software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

Acestea acoperă în principal puțin peste cunoștințele de bază ale lui Maven, care sunt menite să-l echipeze pentru un interviu. Deși nu este o listă exhaustivă, pune bazele pentru a corteza recrutorii cu cunoștințele tale despre Maven.

Dacă sunteți interesat să aflați mai multe despre Jenkins, software full-stack, consultați programul Executive PG de la upGrad și IIIT-B în dezvoltarea de software full-stack, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte , și misiuni, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Ce este Maven?

Maven este un instrument de automatizare a construcției care descarcă automat dependențele proiectelor, astfel încât nu trebuie să o faceți singur. Este capabil să construiască, să compileze și să testeze proiecte, așa că dacă lucrați la o mulțime de proiecte diferite, acest instrument este pentru dvs. Odată instalat, puteți utiliza comenzi simple pentru a gestiona construirea și testarea proiectului dvs. și va descărca, de asemenea, dependențele de proiect pentru dvs., astfel încât să nu fie nevoie să o faceți manual.

Ce este Gradle?

Gradle este un instrument de automatizare a construcției. Un instrument de compilare este o aplicație software concepută pentru a automatiza construirea de software. Scopul său principal este de a reduce cantitatea de efort necesară pentru a construi un produs și a gestiona procesul de construcție. Gradle este un limbaj de construcție natural care poate fi folosit pentru a crea un sistem de construcție flexibil și scriptabil. Gradle este un proiect open-source și poate fi integrat în procesul de construire al unei companii. Este un instrument de construcție care construiește mai rapid și mai inteligent decât Ant, Maven și alte instrumente. A fost proiectat pentru scenarii de construire cu mai multe proiecte și se bazează pe convenție asupra configurației. Este un instrument de automatizare a construcției care creează, testează și publică aplicații la cerere. De asemenea, se poate ocupa de toate dependențele.

Ce sunt instrumentele de automatizare a construcției?

Instrumentele de automatizare a construcției, cum ar fi Jenkins, TravisCI și CircleCI, sunt folosite pentru a vă automatiza procesul de construire de la început până la sfârșit. Aceasta include construirea aplicației, rularea testelor unitare, integrarea cu un sistem de control al versiunilor (cum ar fi git), încărcarea artefactelor într-un depozit privat sau public și generarea unui raport pentru fiecare build. Avantajul este că aceste instrumente pot fi configurate pentru a rula automat procesele de construire, testare și implementare. Odată configurate, acestea pot oferi echipe și servicii de integrare continuă, ceea ce facilitează livrarea continuă și sunt proiectate și implementate pentru a oferi un canal de construcție robust și scalabil.