26 domande e risposte più importanti per l'intervista a Maven [per matricole ed esperti]

Pubblicato: 2021-01-21

Sommario

Panoramica

Sai già che l'esperienza in Maven vale un sacco di soldi oggi o non saresti qui. Dopotutto, Maven è lo strumento preferito dalla maggior parte delle migliori aziende e, naturalmente, sono desiderose di assumere persone come te per andare avanti nella competizione.

Ora, sarebbe un mondo troppo perfetto in cui sapessi esattamente quali domande ti sarebbero state poste nel tuo prossimo colloquio di lavoro. Tuttavia, abbiamo la prossima cosa migliore per te: un elenco attentamente curato delle domande e risposte più frequenti sull'intervista a Maven. Questi potrebbero semplicemente farti ottenere il lavoro che stai guardando. Quindi, scaviamo subito!

Domande e risposte per l'intervista a Maven

Domanda 1: Cos'è Maven?

Apache Maven è un efficace strumento di automazione della compilazione ospitato da Apache Software Foundation che viene utilizzato per creare e gestire progetti scritti in Java. Supporta anche la gestione di progetti scritti su C/C++, Ruby, Scala e pochi altri linguaggi di programmazione. Maven utilizza un framework del ciclo di vita di build predefinito per automatizzare e comprendere l'infrastruttura di un progetto.

Domanda 2: Quali sono gli obiettivi di Maven?

Al fine di aiutare uno sviluppatore a comprendere lo stato dello sforzo di sviluppo completo in un modo che fa risparmiare tempo, le preoccupazioni principali di Maven sono:

  • Per semplificare il processo di costruzione dei progetti

Maven offre agli sviluppatori l'accesso ai meccanismi sottostanti ma li protegge da molti altri dettagli.

  • Per abilitare l'uniformità nel sistema di compilazione

I progetti Maven sono costruiti utilizzando un sistema di plugin e il Project Object Model (POM). Familiarizzare con un progetto può aiutarti a comprendere tutte le build dei progetti Maven. Questo è altamente efficiente nel risparmiare tempo.

  • Fornire preziose informazioni sul progetto per aumentare l'efficienza

Queste informazioni provengono principalmente da POM e in parte dalle fonti del tuo progetto. Le informazioni fornite da Maven includono le dipendenze utilizzate, i rapporti sui test delle unità, i rapporti sui plug-in da prodotti di analisi del codice di terze parti, ecc.

  • Creare uno spazio per inculcare le migliori pratiche di sviluppo

Ciò implica concentrarsi sugli attuali principi di sviluppo quando si tratta di esecuzione, rapporti sui test unitari, specifiche, ecc.

Domanda 3: Descrivi la sequenza di implementazione del progetto?

Il processo di implementazione di un progetto comprende i seguenti passaggi:

Passaggio 1: il codice di tutti i progetti in corso viene immesso nell'SVN o nel repository del codice sorgente. Questo viene fatto in modo che il codice possa essere taggato.

Passaggio 2: viene scaricato l'intero codice sorgente da SVN.

Passaggio 3: il terzo passaggio prevede la creazione dell'applicazione.

Passaggio 4: l'output della build ottenuto come file EAR o file WAR viene archiviato in una posizione comune della rete.

Passaggio 5: il file viene recuperato dalla rete e distribuito nel sito di produzione.

Passaggio 6: una volta completato il processo di distribuzione, la documentazione viene aggiornata con la data e la versione dell'applicazione.

Domanda 4: Quali aspetti sono gestiti da Maven?

Gli sviluppatori su Maven gestiscono i seguenti aspetti:

  • Dipendenze utilizzate da un progetto
  • SCM (gestione della configurazione del software)
  • Rilasci e build
  • Dettagli della documentazione
  • Segnalazione
  • Distribuzione
  • Lista di posta

Domanda 5: quale comando ti consente di creare rapidamente il tuo sito Maven?

Il comando è –

sito mvn

Domanda 6: Quali sono le caratteristiche di Maven?

Alcune caratteristiche chiave di Maven sono le seguenti:

  1. Incoraggia gli sviluppatori a seguire le migliori pratiche di sviluppo. Ciò rende la creazione di progetti più semplice e veloce: un nuovo progetto può essere avviato in pochi secondi.
  2. Consente un utilizzo coerente, il che significa che non ci sono tempi di accelerazione quando i nuovi sviluppatori entrano a far parte di un progetto.
  3. Maven gestisce in modo efficiente le dipendenze, il che significa che l'aggiornamento viene eseguito automaticamente e le dipendenze transitive vengono ordinate.
  4. Consente l'accesso simultaneo a più progetti.
  5. Contiene un ampio repository di librerie e metadati. Sono inoltre in atto disposizioni per consentire l'accesso in tempo reale ai più recenti e più grandi progetti Open Source.
  6. Consente la compatibilità con le estensioni e consente agli utenti di scrivere plug-in in Java o altri linguaggi di scripting come Ruby, C# e Scala.
  7. È possibile accedere immediatamente a nuove versioni e funzionalità che non richiedono una configurazione aggiuntiva.
  8. Utilizzando Maven, gli sviluppatori possono creare numerosi progetti per imitare tipi di output predefiniti come JAR, WAR. Questo richiede a malapena alcuno script.
  9. Maven può generare un sito Web o un PDF utilizzando gli stessi metadati della build per produrre report standard relativi allo stato di sviluppo di un progetto.
  10. Con pochissime modifiche alle configurazioni, il tuo sistema di controllo del codice sorgente può essere integrato. Maven ti consentirà quindi di gestire una versione del progetto in base a un determinato tag. Questi dati possono anche essere pubblicati in una posizione di distribuzione in modo che possano essere utilizzati da altri progetti.
  11. I repository centrali dei JAR sono eccezionalmente preziosi e Maven ti incoraggia a usarli insieme ad altre dipendenze. In questo modo, tutti i JAR necessari per la creazione di un progetto possono essere scaricati da un repository JAR centrale. Questo è simile al CPAN di Perl e consente il riutilizzo dei JAR tra i progetti. Attraverso la comunicazione attiva tra i progetti, è possibile eliminare eventuali problemi di compatibilità con le versioni precedenti.

Domanda 7: Quali sono le fasi di Clean Lifecycle?

Le fasi del ciclo di vita pulito sono le seguenti:

  1. pre-pulito
  2. pulire
  3. post-pulizia

Domanda 8: Definisci POM.

POM (abbreviazione di Project Object Model) è un'unità di lavoro fondamentale in Maven. Creato come estensione XML, viene archiviato nella directory di base da pom.xml. Le informazioni riguardanti le varie configurazioni effettuate da Maven sono in questo file.

Domanda 9: Quali sono le fasi di un ciclo di vita del sito?

Di seguito sono elencate le fasi di un ciclo di vita del sito:

  1. pre-sito
  2. posto
  3. post-sito
  4. distribuzione del sito

Domanda 10: Quando specificato nel POM, quali elementi del POM possono modificare un profilo?

È possibile modificare i seguenti elementi POM:

<plugin>

<proprietà>

<moduli>

<segnalazione>

<repository>

<pluginRepository>

<dipendenze>

<Gestione delle dipendenze>

<gestione della distribuzione>

Domanda 11: spiega il ciclo di vita della build di Maven.

Una sequenza logica di fasi definite per specificare l'ordine di esecuzione degli obiettivi è denominata Build Lifecycle. Ogni fase è un'indicazione di una fase del ciclo di vita.

Dai un'occhiata: Le 10 domande e risposte critiche per le interviste sugli stivali a molla

Domanda 12: quali sono i 3 cicli di vita delle build di Maven?

I tre cicli di costruzione di Maven sono:

  1. Pulisci: questa fase serve a ripulire tutti gli artefatti rimasti dalle build precedenti. Il Clean Lifecycle è composto da tre fasi: pre-clean, clean e post-clean.
  2. Predefinito (o build): il ciclo di build predefinito è relativo al luogo in cui viene creata l'applicazione.
  3. Sito: in questa fase viene generata qualsiasi documentazione relativa al sito. Ci sono quattro fasi nel ciclo di vita del sito: pre-site, site, post-site e site-deploy.

Domanda 13: Spiega un obiettivo in Maven.

Un obiettivo indica un compito particolare che è parte integrante della costruzione e della gestione di un progetto. Un obiettivo può o non può essere vincolato a fasi di costruzione. Uno che è legato a zero fasi di compilazione non deve essere eseguito all'interno del ciclo di vita della compilazione. può essere fatto al di fuori di esso per invocazione diretta.

Domanda 14: Qual è lo scopo del seguente comando: pacchetto mvn clean dependency:copy-dependencies?

Il comando precedente viene utilizzato per cancellare il progetto. Quindi copierà tutte le dipendenze ed eseguirà tutte le fasi del progetto.

Domanda 15: Spiega un profilo di costruzione nella terminologia Maven.

Un profilo Build rappresenta un gruppo di valori di configurazione utilizzando i quali è possibile impostare o sovrascrivere i valori predefiniti di una build Maven. Un profilo di build consente la personalizzazione di una build in vari ambienti (ad es. Ambiente di produzione rispetto a quello di sviluppo)

Domanda 16: menziona i tre diversi profili di costruzione.

  1. Per utente: definisci il profilo di build per utente nel file xml delle impostazioni Maven (%USER_HOME%/.m2/settings.xml).
  2. Per progetto: il profilo di build per progetto è definito in uno di questi due file: file POM, pom.xml.
  3. Globale: questo profilo di build deve essere definito nel file xml delle impostazioni globali in Maven (%M2_HOME%/conf/settings.xml).

Domanda 17: qual è la posizione predefinita del tuo repository locale?

La posizione predefinita è: ~/m2./repository .

Domanda 18: scrivere il comando per avviare l'installazione del file JAR nel repository locale?

Il comando è: mvn install

Domanda 19: Descrivi brevemente i diversi plugin Maven.

I due tipi di plugin Maven sono:

  1. Plugin di compilazione: questi plug-in vengono eseguiti durante il processo di creazione. Dovrebbero essere configurati nell'elemento <build/> del file pom.xml.
  2. Plugin di segnalazione: vengono eseguiti al momento della generazione del sito e devono essere configurati nell'elemento <reporting/> del file pom.xml.

Domanda 20: quale comando viene utilizzato per creare il tuo progetto offline?

Viene utilizzato il comando seguente: mvn o package

Domanda 21: qual è il comando per escludere la dipendenza?

L' elemento di esclusione viene utilizzato per eseguire la dipendenza.

Domanda 22. Qual è il passaggio per pulire automaticamente i plugin durante una build?

Se includi il plug-in clean all'interno del tag di esecuzione nel file pom.xml, il plug-in verrà pulito.

Domanda 23: Qual è il processo di arresto della propagazione dei plug-in ai POM figlio?

Utilizzare il comando seguente: impostare <ereditato> su false

Domanda 24: Spiega l'uso dell'elemento di esecuzione nel file pom?

L'elemento <execution> in un file pom contiene le informazioni necessarie per eseguire un plugin.

Domanda 25: menzionare il nome dell'artefatto completo di un progetto.

Il nome dell'elemento completo di un progetto è: <groupId>:<artifactId>:<version>

Domanda 26: menzionare i passaggi per fare riferimento a una proprietà definitiva nel file pom.xml?

A tale scopo, i nomi degli elementi XML utilizzati nella definizione del valore vengono utilizzati dal nome della proprietà in cui "pom" può funzionare come alias dell'elemento del progetto.

Ciò significa che ${pom.name} è un riferimento al nome del progetto, ${pom.version} indica la sua versione e ${pom.build.finalName} è il nome del file finale creato sulla confezione del progetto creato, e così via.

Questo è tutto ciò che c'è in questa lista di domande e risposte per un'intervista a Maven. Speriamo che questo sia utile!

Da leggere: Domande e risposte per l'intervista a Jenkins 2021 per matricole ed esperti

Impara i corsi di software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Conclusione

Questi principalmente coprono un po 'più delle conoscenze di base di Maven che hanno lo scopo di equipaggiarne uno per un'intervista. Sebbene non sia un elenco esaustivo, getta le basi per corteggiare i reclutatori con la tua conoscenza di Maven.

Se sei interessato a saperne di più su Jenkins, il software full-stack, dai un'occhiata al programma Executive PG di upGrad & IIIT-B in Full-stack Software Development, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, oltre 9 progetti e incarichi, status di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Cos'è Maven?

Maven è uno strumento di automazione della compilazione che scarica automaticamente le dipendenze del progetto, quindi non devi farlo da solo. È in grado di creare, compilare e testare progetti, quindi se stai lavorando su molti progetti diversi, questo strumento fa per te. Una volta installato, puoi utilizzare semplici comandi per gestire la creazione e il test del tuo progetto e scaricherà anche le dipendenze del progetto per te, quindi non devi farlo manualmente.

Cos'è Gradle?

Gradle è uno strumento di automazione delle build. Uno strumento di compilazione è un'applicazione software progettata per automatizzare la creazione di software. Il suo scopo principale è ridurre la quantità di lavoro necessaria per costruire un prodotto e gestire il processo di costruzione. Gradle è un linguaggio di build naturale che può essere utilizzato per creare un sistema di build flessibile e con script. Gradle è un progetto open source e può essere integrato nel processo di creazione di un'azienda. È uno strumento di costruzione che costruisce più velocemente e in modo più intelligente di Ant, Maven e altri strumenti. È stato progettato per scenari di build multi-progetto e basato sulla convenzione sulla configurazione. È uno strumento di automazione della compilazione che compila, testa e pubblica applicazioni su richiesta. Può anche prendersi cura di tutte le dipendenze.

Cosa sono gli strumenti di automazione delle build?

Strumenti di automazione della build come Jenkins, TravisCI e CircleCI vengono utilizzati per automatizzare il processo di creazione dall'inizio alla fine. Ciò include la creazione dell'applicazione, l'esecuzione di unit test, l'integrazione con un sistema di controllo della versione (come git), il caricamento degli artefatti in un repository privato o pubblico e la generazione di un report per ogni build. Il vantaggio è che questi strumenti possono essere configurati per eseguire automaticamente i processi di compilazione, test e distribuzione. Una volta configurati, possono fornire team e servizi di integrazione continua, che facilitano la distribuzione continua e sono progettati e implementati per fornire una pipeline di build robusta e scalabile.