Las 26 preguntas y respuestas más importantes de la entrevista Maven [para principiantes y experimentados]

Publicado: 2021-01-21

Tabla de contenido

Visión de conjunto

Ya sabe que la experiencia en Maven vale mucho dinero hoy o no estaría aquí. Después de todo, Maven es la herramienta elegida por la mayoría de las principales empresas y, naturalmente, están interesadas en contratar personas como usted para salir adelante en la competencia.

Ahora, sería un mundo demasiado perfecto en el que supieras exactamente qué preguntas te harían en tu próxima entrevista de trabajo. Sin embargo, tenemos lo mejor para usted: una lista cuidadosamente seleccionada de las preguntas y respuestas más frecuentes de la entrevista de Maven. Estos podrían conseguirle el trabajo que está buscando. Entonces, ¡vamos a profundizar!

Preguntas y respuestas de la entrevista de Maven

Pregunta 1: ¿Qué es Maven?

Apache Maven es una herramienta de automatización de compilación eficaz alojada por Apache Software Foundation que se utiliza para compilar y administrar proyectos escritos en Java. También admite la gestión de proyectos escritos en C/C++, Ruby, Scala y algunos otros lenguajes de programación. Maven emplea un marco de ciclo de vida de compilación predeterminado para automatizar y comprender la infraestructura de un proyecto.

Pregunta 2: ¿Cuáles son los objetivos de Maven?

Para ayudar a un desarrollador a comprender el estado completo del esfuerzo de desarrollo de una manera que ahorre tiempo, las principales preocupaciones de Maven son:

  • Para simplificar el proceso de construcción de proyectos.

Maven brinda a los desarrolladores acceso a los mecanismos subyacentes, pero los protege de varios otros detalles.

  • Para permitir la uniformidad en el sistema de construcción

Los proyectos de Maven se crean utilizando un sistema de complementos y el Modelo de objetos del proyecto (POM). Familiarizarse con un proyecto puede ayudarlo a comprender todas las compilaciones de proyectos de Maven. Esto es muy eficiente en el ahorro de tiempo.

  • Proporcionar información valiosa del proyecto para aumentar la eficiencia.

Esta información proviene principalmente de POM y parcialmente de las fuentes de su proyecto. La información que proporciona Maven incluye las dependencias utilizadas, informes de pruebas unitarias, informes de complementos de productos de análisis de código de terceros, etc.

  • Crear un espacio para inculcar las mejores prácticas de desarrollo

Esto implica centrarse en los principios de desarrollo actuales cuando se trata de ejecución, informes de prueba de unidad, especificación, etc.

Pregunta 3: Describa la secuencia de implementación del proyecto.

El proceso de implementación de un proyecto incluye los siguientes pasos:

Paso 1: el código de todos los proyectos que están en progreso se ingresa en el SVN o en el repositorio de código fuente. Esto se hace para que el código pueda ser etiquetado.

Paso 2: se descarga todo el código fuente de SVN.

Paso 3: El tercer paso consiste en construir la aplicación.

Paso 4: El resultado de la compilación obtenido como archivo EAR o archivo WAR se almacena en una ubicación común de la red.

Paso 5: el archivo se recupera de la red y se implementa en el sitio de producción.

Paso 6: Una vez que se completa el proceso de implementación, la documentación se actualiza con la fecha y la versión de la aplicación.

Pregunta 4: ¿Qué aspectos gestiona Maven?

Los desarrolladores de Maven gestionan los siguientes aspectos:

  • Dependencias utilizadas por un proyecto
  • SCM (gestión de configuración de software)
  • Lanzamientos y compilaciones
  • Detalles de la documentación
  • Informes
  • Distribución
  • Lista de correo

Pregunta 5: ¿Qué comando le permite construir rápidamente su sitio Maven?

El comando es -

sitio mvn

Pregunta 6: ¿Cuáles son las características de Maven?

Algunas características clave de Maven son las siguientes:

  1. Alienta a los desarrolladores a seguir las mejores prácticas de desarrollo. Esto hace que la creación de proyectos sea más simple y rápida: se puede iniciar un nuevo proyecto en unos segundos.
  2. Permite un uso constante, lo que significa que no hay tiempo de aceleración cuando los nuevos desarrolladores se incorporan a un proyecto.
  3. Maven administra de manera eficiente las dependencias, lo que significa que la actualización se realiza automáticamente y las dependencias transitivas se ordenan.
  4. Permite el acceso simultáneo a múltiples proyectos.
  5. Contiene un extenso repositorio de bibliotecas y metadatos. También existen acuerdos para permitir el acceso a los últimos y más grandes proyectos de código abierto en tiempo real.
  6. Habilita la compatibilidad con extensiones y permite a los usuarios escribir complementos en Java u otros lenguajes de secuencias de comandos como Ruby, C# y Scala.
  7. Hay acceso inmediato a nuevas versiones y funciones que no requieren configuración adicional.
  8. Con Maven, los desarrolladores pueden crear numerosos proyectos para imitar tipos de salida predefinidos, como JAR, WAR. Esto apenas requiere secuencias de comandos.
  9. Maven puede generar un sitio web o PDF utilizando los mismos metadatos que la compilación para producir informes estándar sobre el estado de desarrollo de un proyecto.
  10. Con apenas cambios de configuración, su sistema de control de fuente puede integrarse. Luego, Maven le permitirá administrar el lanzamiento de un proyecto en función de una determinada etiqueta. Estos datos también se pueden publicar en una ubicación de distribución para que puedan ser utilizados por otros proyectos.
  11. Los repositorios centrales de JAR son excepcionalmente valiosos y Maven lo alienta a usarlos junto con otras dependencias. A través de esto, cualquier JAR necesario para construir un proyecto se puede descargar desde un repositorio JAR central. Esto es similar al CPAN de Perl y permite la reutilización de archivos JAR entre proyectos. A través de la comunicación activa entre proyectos, se pueden eliminar los problemas de compatibilidad con versiones anteriores.

Pregunta 7: ¿Cuáles son las fases del ciclo de vida limpio?

Las fases del ciclo de vida limpio son las siguientes:

  1. limpieza previa
  2. limpio
  3. limpieza posterior

Pregunta 8: Defina POM.

POM (abreviatura de Project Object Model) es una unidad de trabajo fundamental en Maven. Creado como una extensión XML, pom.xml lo almacena en el directorio base. La información sobre las diversas configuraciones realizadas por Maven es este archivo.

Pregunta 9: ¿Cuáles son las fases del ciclo de vida de un sitio?

Las siguientes son las fases del ciclo de vida de un sitio:

  1. pre-sitio
  2. sitio
  3. post-sitio
  4. implementación del sitio

Pregunta 10: Cuando se especifica en el POM, ¿qué elementos del POM puede modificar un perfil?

Los siguientes elementos POM se pueden modificar:

<complementos>

<propiedades>

<módulos>

<informe>

<repositorios>

<repositorios de complementos>

<dependencias>

<gestión de dependencias>

<gestión de distribución>

Pregunta 11: Explique el ciclo de vida de compilación de Maven.

Una secuencia lógica de fases definidas para especificar el orden de ejecución de los objetivos se denomina Ciclo de vida de construcción. Cada fase es una indicación de una etapa en el ciclo de vida.

Echa un vistazo a: Las 10 principales preguntas y respuestas críticas de la entrevista Spring Boot

Pregunta 12: ¿Cuáles son los 3 ciclos de vida de compilación de Maven?

Los tres ciclos de construcción de Maven son:

  1. Limpiar: esta etapa es para eliminar cualquier artefacto que quede de construcciones anteriores. El ciclo de vida limpio consta de tres fases: limpieza previa, limpieza y limpieza posterior.
  2. Predeterminado (o compilación): el ciclo de compilación predeterminado es para donde se compila la aplicación.
  3. Sitio: Cualquier documentación relacionada con el sitio se genera en esta fase. Hay cuatro fases en el ciclo de vida del sitio: pre-sitio, sitio, post-sitio e implementación del sitio.

Pregunta 13: Explique un objetivo en Maven.

Un objetivo significa una tarea particular que es parte integral de la construcción y gestión de un proyecto. Un objetivo puede o no estar vinculado a las fases de construcción. Uno que está vinculado a cero fases de compilación no tiene que ejecutarse dentro del ciclo de vida de la compilación. se puede hacer fuera de ella por invocación directa.

Pregunta 14: ¿Cuál es el propósito del siguiente comando: mvn clean dependency:copy-dependencies package?

El comando anterior se utiliza para borrar el proyecto. Luego copiará las dependencias y ejecutará todas las fases del proyecto.

Pregunta 15: Explique un perfil de compilación en la terminología de Maven.

Un perfil de compilación representa un grupo de valores de configuración mediante los cuales se pueden establecer o anular los valores predeterminados de una compilación de Maven. Un perfil de compilación permite la personalización de una compilación para varios entornos (por ejemplo, entorno de producción versus entorno de desarrollo)

Pregunta 16: Mencione los tres perfiles de construcción diferentes.

  1. Por usuario: define el perfil de compilación por usuario en el archivo xml de la configuración de Maven (%USER_HOME%/.m2/settings.xml).
  2. Por proyecto: el perfil de compilación por proyecto se define en cualquiera de estos dos archivos: archivo POM, pom.xml.
  3. Global: este perfil de compilación debe definirse en el archivo xml de configuración global en Maven (%M2_HOME%/conf/settings.xml).

Pregunta 17: ¿Cuál es la ubicación predeterminada de su repositorio local?

La ubicación predeterminada es: ~/m2./repositorio .

Pregunta 18: ¿Escriba el comando para iniciar la instalación del archivo JAR en su repositorio local?

El comando es: mvn install

Pregunta 19: Describa brevemente los diferentes complementos de Maven.

Los dos tipos de complementos de Maven son:

  1. Complementos de compilación: estos complementos se ejecutan durante el proceso de creación. Deben someterse a configuración en el elemento <build/> del archivo pom.xml.
  2. Complementos de informes: se ejecutan cuando se produce la generación del sitio y deben configurarse en el elemento <reporting/> del archivo pom.xml.

Pregunta 20: ¿Qué comando se usa para construir su proyecto fuera de línea?

Se utiliza el siguiente comando: mvn o paquete

Pregunta 21: ¿Cuál es el comando para excluir la dependencia?

El elemento de exclusión se utiliza para ejecutar la dependencia.

Pregunta 22. ¿Cuál es el paso para limpiar complementos automáticamente durante una compilación?

Si incluye el complemento limpio dentro de la etiqueta de ejecución en el archivo pom.xml, el complemento se limpiará.

Pregunta 23: ¿Cuál es el proceso para detener la propagación de complementos a los POM secundarios?

Use el siguiente comando: establezca <heredado> en falso

Pregunta 24: ¿Explica el uso del elemento de ejecución en el archivo pom?

El elemento <execution> en un archivo pom contiene la información necesaria para ejecutar un complemento.

Pregunta 25: Mencione el nombre de artefacto completamente calificado de un proyecto.

El nombre de artefacto completo de un proyecto es: <groupId>:<artifactId>:<version>

Pregunta 26: ¿Mencione los pasos para hacer referencia a una propiedad definitiva en el archivo pom.xml?

Para ello, los nombres de los elementos XML que se utilizan en la definición del valor son utilizados por el nombre de la propiedad donde "pom" puede funcionar como el alias del elemento del proyecto.

Lo que significa que ${pom.name} es una referencia al nombre del proyecto, ${pom.version} indica su versión y ${pom.build.finalName} es el nombre del archivo final creado en el paquete del proyecto construido. y así.

Eso es todo lo que hay en esta lista de preguntas y respuestas para una entrevista de Maven. ¡Esperamos que esto sea útil!

Debe leer: Preguntas y respuestas de la entrevista de Jenkins 2021 para principiantes y experimentados

Aprenda cursos de software en línea de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.

Conclusión

Estos cubren principalmente un poco sobre el conocimiento básico de Maven que están destinados a equipar a uno para una entrevista. Si bien no es una lista exhaustiva, sienta las bases para atraer a los reclutadores con su conocimiento de Maven.

Si está interesado en obtener más información sobre Jenkins, el software de pila completa, consulte el programa Executive PG de upGrad & IIIT-B en desarrollo de software de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, más de 9 proyectos. , y asignaciones, estado de ex alumnos de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.

¿Qué es Maven?

Maven es una herramienta de automatización de compilación que descarga automáticamente las dependencias del proyecto, por lo que no tiene que hacerlo usted mismo. Es capaz de construir, compilar y probar proyectos, por lo que si está trabajando en muchos proyectos diferentes, esta herramienta es para usted. Una vez instalado, puede usar comandos simples para administrar la construcción y las pruebas de su proyecto, y también descargará las dependencias del proyecto para que no tenga que hacerlo manualmente.

¿Qué es Gradle?

Gradle es una herramienta de automatización de compilación. Una herramienta de compilación es una aplicación de software diseñada para automatizar la creación de software. Su propósito principal es reducir la cantidad de esfuerzo requerido para construir un producto y administrar el proceso de construcción. Gradle es un lenguaje de compilación natural que se puede usar para crear un sistema de compilación flexible y programable. Gradle es un proyecto de código abierto y se puede integrar en el proceso de creación de una empresa. Es una herramienta de compilación que construye de manera más rápida e inteligente que Ant, Maven y otras herramientas. Fue diseñado para escenarios de compilación de varios proyectos y se basó en la convención sobre la configuración. Es una herramienta de automatización de compilación que crea, prueba y publica aplicaciones bajo demanda. También puede encargarse de todas las dependencias.

¿Qué son las herramientas de automatización de compilación?

Las herramientas de automatización de compilación, como Jenkins, TravisCI y CircleCI, se utilizan para automatizar su proceso de compilación de principio a fin. Esto incluye compilar la aplicación, ejecutar pruebas unitarias, integrarse con un sistema de control de versiones (como git), cargar los artefactos en un repositorio público o privado y generar un informe para cada compilación. El beneficio es que estas herramientas se pueden configurar para ejecutar automáticamente sus procesos de compilación, prueba e implementación. Una vez configurados, pueden proporcionar equipos y servicios de integración continua, lo que facilita la entrega continua y están diseñados e implementados para proporcionar una canalización de construcción robusta y escalable.