26 perguntas e respostas mais importantes da entrevista Maven [para calouros e experientes]

Publicados: 2021-01-21

Índice

Visão geral

Você já sabe que a experiência em Maven vale muito dinheiro hoje ou não estaria aqui. Afinal, o Maven é a ferramenta de escolha para a maioria das principais empresas e, naturalmente, eles estão interessados ​​em contratar pessoas como você para avançar na concorrência.

Agora, seria um mundo perfeito demais onde você soubesse exatamente quais perguntas seriam feitas em sua próxima entrevista de emprego. No entanto, temos a próxima melhor coisa para você: uma lista cuidadosamente selecionada das perguntas e respostas mais comuns da entrevista Maven. Estes podem apenas conseguir o emprego que você está de olho. Então, vamos cavar direto!

Perguntas e respostas da entrevista Maven

Pergunta 1: O que é Maven?

O Apache Maven é uma ferramenta de automação de construção eficaz hospedada pela Apache Software Foundation que é usada para construir e gerenciar projetos escritos em Java. Ele também suporta o gerenciamento de projetos escritos em C/C++, Ruby, Scala e algumas outras linguagens de programação. O Maven emprega uma estrutura de ciclo de vida de compilação padrão para automatizar e compreender a infraestrutura de um projeto.

Pergunta 2: Quais são os objetivos do Maven?

Para ajudar um desenvolvedor a compreender o estado completo do esforço de desenvolvimento de uma maneira que economize tempo, as principais preocupações do Maven são:

  • Para tornar o processo de construção de projetos simples

O Maven dá aos desenvolvedores acesso a mecanismos subjacentes, mas os protege de vários outros detalhes.

  • Para habilitar a uniformidade no sistema de compilação

Projetos Maven são construídos usando um sistema de plugins e o Project Object Model (POM). Familiarizar-se com um projeto pode ajudá-lo a compreender todas as compilações de projetos Maven. Isso é altamente eficiente na economia de tempo.

  • Fornecendo informações valiosas do projeto para aumentar a eficiência

Essas informações são originadas principalmente do POM e parcialmente das fontes do seu projeto. As informações que o Maven fornece incluem as dependências usadas, relatórios de teste de unidade, relatórios de plugins de produtos de análise de código de terceiros, etc.

  • Criando um espaço para inculcar as melhores práticas de desenvolvimento

Isso envolve foco nos princípios atuais de desenvolvimento quando se trata de execução, relatórios de teste de unidade, especificação, etc.

Pergunta 3: Descreva a sequência de implantação do projeto?

O processo de implantação de um projeto inclui as seguintes etapas:

Etapa 1: O código de todos os projetos que estão em andamento são inseridos no SVN ou no repositório de código-fonte. Isso é feito para que o código possa ser marcado.

Passo 2: Todo o código fonte do SVN é baixado.

Etapa 3: A terceira etapa envolve a construção do aplicativo.

Etapa 4: A saída de construção obtida como um arquivo EAR ou arquivo WAR é armazenada em um local comum da rede.

Etapa 5: o arquivo é recuperado da rede e implantado no local de produção.

Etapa 6: Após a conclusão do processo de implantação, a documentação é atualizada com a data e a versão do aplicativo.

Pergunta 4: Quais aspectos são gerenciados pelo Maven?

Os desenvolvedores no Maven gerenciam os seguintes aspectos:

  • Dependências usadas por um projeto
  • SCMs (Gerenciamento de Configuração de Software)
  • Lançamentos e compilações
  • Detalhes da documentação
  • Comunicando
  • Distribuição
  • Lista de e-mails

Pergunta 5: Qual comando permite que você construa rapidamente seu site Maven?

O comando é –

site mvn

Pergunta 6: Quais são os recursos do Maven?

Alguns dos principais recursos do Maven são os seguintes:

  1. Ele incentiva os desenvolvedores a seguir as melhores práticas de desenvolvimento. Isso torna a construção de projetos mais simples e rápida – um novo projeto pode ser iniciado em poucos segundos.
  2. Ele permite o uso consistente, o que significa que não há tempo de aceleração quando novos desenvolvedores entram em um projeto.
  3. O Maven gerencia dependências com eficiência, o que significa que a atualização é feita automaticamente e as dependências transitivas são classificadas.
  4. Permite acesso simultâneo a vários projetos.
  5. Ele contém um extenso repositório de bibliotecas e metadados. Também existem arranjos para permitir o acesso aos maiores e mais recentes projetos de código aberto em tempo real.
  6. Ele permite a compatibilidade com extensões e permite que os usuários escrevam plugins em Java ou outras linguagens de script, como Ruby, C# e Scala.
  7. Há acesso imediato a novos lançamentos e recursos que não requerem configuração extra.
  8. Usando o Maven, os desenvolvedores podem criar vários projetos para imitar tipos de saída predefinidos, como JAR, WAR. Isso mal requer qualquer script.
  9. O Maven pode gerar um site ou PDF usando os mesmos metadados da compilação para produzir relatórios padrão sobre o estado de desenvolvimento de um projeto.
  10. Com quase nenhuma alteração nas configurações, seu sistema de controle de origem pode ser integrado. O Maven permitirá que você gerencie uma versão do projeto com base em uma determinada tag. Esses dados também podem ser publicados em um local de distribuição para que possam ser usados ​​por outros projetos.
  11. Os repositórios centrais de JARs são excepcionalmente valiosos e o Maven encoraja você a usá-los junto com outras dependências. Com isso, quaisquer JARs necessários na construção de um projeto podem ser baixados de um repositório central de JAR. Isso é semelhante ao CPAN do Perl e permite a reutilização de JARs entre projetos. Através da comunicação ativa entre projetos, quaisquer problemas de compatibilidade com versões anteriores podem ser eliminados.

Pergunta 7: Quais são as fases do Ciclo de Vida Limpo?

As fases do ciclo de vida limpo são as seguintes:

  1. pré-limpar
  2. limpar
  3. pós-limpeza

Pergunta 8: Defina POM.

POM (abreviação de Project Object Model) é uma unidade de trabalho fundamental no Maven. Criado como uma extensão XML, é armazenado no diretório base por pom.xml. As informações sobre as diversas configurações feitas pelo Maven estão neste arquivo.

Pergunta 9: Quais são as fases de um ciclo de vida do site?

A seguir estão as fases de um ciclo de vida do site:

  1. pré-local
  2. local
  3. pós-site
  4. implantação do site

Pergunta 10: Quando especificado no POM, quais elementos do POM um perfil pode modificar?

Os seguintes elementos POM podem ser modificados:

<plugins>

<propriedades>

<módulos>

<relatórios>

<repositórios>

<pluginRepositories>

<dependências>

<dependencyManagement>

<gestão de distribuição>

Pergunta 11: Explique o ciclo de vida de compilação do Maven.

Uma sequência lógica de fases definida para especificar a ordem de execução das metas é chamada de Build Lifecycle. Cada fase é uma indicação de um estágio no ciclo de vida.

Confira: As 10 principais perguntas e respostas críticas da entrevista de inicialização do Spring

Pergunta 12: Quais são os 3 ciclos de vida de compilação do Maven?

Os três ciclos de construção do Maven são:

  1. Limpeza: Este estágio é para limpar quaisquer artefatos remanescentes de compilações anteriores. O Clean Lifecycle consiste em três fases: pré-limpeza, limpeza e pós-limpeza.
  2. Padrão (ou compilação): O ciclo de compilação padrão é para onde o aplicativo é compilado.
  3. Site: Qualquer documentação de site relacionada é gerada nesta fase. Existem quatro fases no ciclo de vida do site, a saber: pré-site, site, post-site e site-deploy.

Pergunta 13: Explique um objetivo no Maven.

Uma meta significa uma tarefa específica que é parte integrante da construção e gerenciamento de um projeto. Uma meta pode ou não estar vinculada a fases de construção. Um que está vinculado a zero fases de compilação não precisa ser executado dentro do ciclo de vida da compilação. pode ser feito fora dele por invocação direta.

Pergunta 14: Qual é o propósito do seguinte comando: mvn clean dependency:copy-dependencies package?

O comando acima é usado para limpar o projeto. Em seguida, ele copiará todas as dependências e executará todas as fases do projeto.

Pergunta 15: Explique um perfil de construção na terminologia Maven.

Um perfil de compilação representa um grupo de valores de configuração usando os valores padrão de uma compilação Maven que podem ser definidos ou substituídos. Um perfil de compilação permite a personalização de uma compilação para vários ambientes (por exemplo, ambiente de produção versus ambiente de desenvolvimento)

Pergunta 16: Mencione os três diferentes perfis de construção.

  1. Por usuário: você define o perfil de compilação por usuário no arquivo xml das configurações do Maven (%USER_HOME%/.m2/settings.xml).
  2. Por Projeto: O perfil de compilação por projeto é definido em qualquer um desses dois arquivos – arquivo POM, pom.xml.
  3. Global: Este perfil de compilação deve ser definido no arquivo xml de configurações globais no Maven (%M2_HOME%/conf/settings.xml).

Pergunta 17: Qual é a localização padrão do seu repositório local?

O local padrão é: ~/m2./repository .

Pergunta 18: Escreva o comando para iniciar a instalação do arquivo JAR em seu repositório local?

O comando é: mvn install

Questão 19: Descreva brevemente os diferentes plugins Maven.

Os dois tipos de plugins Maven são:

  1. Plugins de construção: Esses plugins são executados durante o processo de construção. Devem ser configurados no elemento <build/> do arquivo pom.xml.
  2. Plugins de relatórios: São executados quando ocorre a geração do site e devem ser configurados no elemento <reporting/> do arquivo pom.xml.

Pergunta 20: Qual comando é usado para construir seu projeto offline?

O seguinte comando é usado: mvn o pacote

Pergunta 21: Qual é o comando para excluir dependência?

O elemento de exclusão é usado para executar a dependência.

Pergunta 22. Qual é o passo para limpar plugins automaticamente durante uma compilação?

Se você incluir o plugin clean na tag de execução no arquivo pom.xml, o plugin será limpo.

Pergunta 23: Qual é o processo de parar a propagação de plugins para POMs filhos?

Use o seguinte comando: defina <inherited> como false

Pergunta 24: Explique o uso do elemento de execução no arquivo pom?

O elemento <execution> em um arquivo pom contém as informações necessárias para executar um plugin.

Pergunta 25: Mencione o nome do artefato totalmente qualificado de um projeto.

O nome do artefato totalmente qualificado de um projeto é: <groupId>:<artifactId>:<version>

Pergunta 26: Mencione os passos para referenciar uma propriedade definitiva no arquivo pom.xml?

Para isso, os nomes dos elementos XML que são usados ​​na definição do valor são usados ​​pelo nome da propriedade onde “pom” pode funcionar como o alias do elemento do projeto.

O que significa que ${pom.name} é uma referência ao nome do projeto, ${pom.version} indica sua versão e ${pom.build.finalName} é o nome do arquivo final criado no pacote do projeto construído, e assim por diante.

Isso é tudo que há nesta lista de perguntas e respostas para uma entrevista com o Maven. Esperamos que isso seja útil!

Deve ler: Perguntas e respostas da entrevista Jenkins 2021 para calouros e experientes

Aprenda cursos de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Conclusão

Estes cobrem principalmente um pouco mais do conhecimento básico do Maven que serve para equipar alguém para uma entrevista. Embora não seja uma lista exaustiva, ela estabelece as bases para atrair os recrutadores com seu conhecimento do Maven.

Se você estiver interessado em saber mais sobre Jenkins, software full-stack, confira o Programa PG Executivo do upGrad & IIIT-B em Desenvolvimento de Software Full-stack, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos , e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

O que é Maven?

O Maven é uma ferramenta de automação de compilação que baixa as dependências do projeto automaticamente, para que você não precise fazer isso sozinho. É capaz de construir, compilar e testar projetos, então se você estiver trabalhando em muitos projetos diferentes, esta ferramenta é para você. Uma vez instalado, você pode usar comandos simples para gerenciar a construção e teste do seu projeto, e também baixará as dependências do projeto para você, para que você não precise fazer isso manualmente.

O que é Gradle?

Gradle é uma ferramenta de automação de compilação. Uma ferramenta de construção é um aplicativo de software projetado para automatizar a construção de software. Seu principal objetivo é reduzir a quantidade de esforço necessária para construir um produto e gerenciar o processo de construção. Gradle é uma linguagem de compilação natural que pode ser usada para criar um sistema de compilação flexível e programável. Gradle é um projeto de código aberto e pode ser integrado ao processo de construção de uma empresa. É uma ferramenta de compilação mais rápida e inteligente do que Ant, Maven e outras ferramentas. Ele foi projetado para cenários de compilação de vários projetos e com base na convenção sobre a configuração. É uma ferramenta de automação de compilação que cria, testa e publica aplicativos sob demanda. Ele também pode cuidar de todas as dependências.

O que são ferramentas de automação de construção?

Ferramentas de automação de construção como Jenkins, TravisCI e CircleCI são usadas para automatizar seu processo de construção do início ao fim. Isso inclui construir o aplicativo, executar testes de unidade, integrar com um sistema de controle de versão (como git), fazer upload dos artefatos para um repositório privado ou público e gerar um relatório para cada compilação. O benefício é que essas ferramentas podem ser configuradas para executar automaticamente seus processos de compilação, teste e implantação. Uma vez configurados, eles podem fornecer equipes e serviços de integração contínua, o que facilita a entrega contínua e são projetados e implementados para fornecer um pipeline de construção robusto e escalável.