top 20 latest devops interview questions
Preguntas y respuestas más populares de la entrevista de DevOps para completar con éxito cualquier entrevista de DevOps:
Vimos la lista de los mejores Proveedores de servicios DevOps en nuestro último tutorial.
DevOps no se trata solo de herramientas, sino que también es un conjunto de mejores prácticas que nos permiten cerrar la brecha entre los equipos de desarrollo y operaciones en las áreas de integración e implementación continuas mediante el uso de un conjunto integrado de herramientas para automatizar la entrega de software.
Lectura sugerida => Guía introductoria de DevOps
Ahora echemos un vistazo a algunas de las preguntas más frecuentes en la entrevista de DevOps junto con las posibles respuestas que puede dar. Las respuestas pueden variar según el trabajo y las experiencias de cada uno.
Las mejores preguntas de la entrevista de DevOps con respuestas
A continuación se muestra una lista de las preguntas de DevOps más frecuentes en las entrevistas:
Empecemos.
P # 1) Explica DevOps.
Responder:
- DevOps promueve la comunicación y la colaboración entre los equipos de negocios, desarrollo y operaciones. En cierto modo, estamos hablando de unificación.
- DevOps no solo se trata de herramientas, sino también de involucrar a personas y procesos.
- DevOps está inspirado en el proceso Agile.
- DevOps se trata de automatizar los procesos de desarrollo, lanzamiento y operación.
- DevOps ayuda a acelerar la entrega de aplicaciones a los usuarios finales.
- DevOps también se trata de una mejora continua que ayuda a aprender a través de la retroalimentación.
P # 2) Explique algunos prerrequisitos que son útiles para la implementación de DevOps.
Respuesta: Los requisitos previos incluyen:
- Compromiso al nivel superior de la organización.
- Necesidad de que el cambio se comunique en toda la organización.
- Software de control de versiones.
- Herramientas automatizadas para el proceso de cumplimiento.
- Pruebas automatizadas
- Despliegue automatizado
P # 3) ¿Cuáles son las mejores prácticas para la implementación de DevOps?
Responder: La implementación de DevOps varía de una organización a otra. Hoy en día, las organizaciones buscan entregar el software más rápido y, desde ese punto de vista, aquí están mis pensamientos sobre cómo DevOps puede lograr una comunicación eficiente con todas las partes interesadas, incluido el equipo de operaciones.
- Cada organización tiene ciertos objetivos comerciales y la implementación de DevOps debe alinearse con ellos. Debería haber una cierta necesidad de cambio.
- Fomentar la comunicación y la colaboración especialmente entre el desarrollo y las operaciones.
- La automatización es la clave y debe hacerse y llevarse a cabo siempre que sea posible dentro de las etapas de SDLC para facilitar el funcionamiento de DevOps.
- Las herramientas utilizadas en DevOps deberían integrarse muy bien. Desde el punto de vista de cualquier herramienta comercial como IBM Rational CLM o Microsoft TFS, la implementación de DevOps es buena ya que es de un solo proveedor. De manera similar, es necesario buscar herramientas de código abierto que se integren para dar resultados deseados similares.
- La implementación de DevOps no tiene éxito sin las prácticas de Integración Continua y Entrega Continua. Entonces CI de su código con pruebas rigurosas y haciendo CD es la clave para ello.
- Es muy importante para el equipo de operaciones asegurarse de que las aplicaciones funcionen muy bien en los niveles adecuados. Si es necesario, deberán trabajar con los equipos de desarrollo para crear cualquier herramienta que ayude a incorporar las capacidades de supervisión adecuadas en las aplicaciones.
- Finalmente, fomente la retroalimentación de los usuarios finales para permitir una mejora continua que proporciona la clave para mejorar el proceso y entregar software de calidad.
P # 4) ¿Cuáles son los componentes clave de DevOps?
Respuesta: Los componentes clave incluyen:
- Integración continua
- Prueba continua
- Entrega continua
- Monitoreo continuo
P # 5) Explique la integración continua.
Responder: La integración continua es un componente muy importante del proceso ágil. Por lo general, los desarrolladores trabajan en funciones o historias de usuarios dentro de un sprint y envían sus cambios al repositorio de control de versiones.
Una vez que el código está comprometido, todo el trabajo de los desarrolladores está bien integrado y la compilación se realiza de forma regular en función de cada registro o programa. Por lo tanto, la Integración Continua como práctica obliga al desarrollador a integrar sus cambios con los demás para obtener retroalimentación temprana.
¿Qué es un buen descargador de música para Android?
P # 6) Explique la entrega continua.
Responder: Continuous Delivery es una extensión de Continuous Integration que principalmente ayuda a hacer llegar las funciones que los desarrolladores están desarrollando a los usuarios finales lo antes posible. Durante este proceso, pasa por varias etapas de QA, Staging, etc., y luego para su entrega al sistema de PRODUCCIÓN.
P # 7) Explique las pruebas continuas.
Responder: Desde el objetivo anterior de Integración Continua, que es hacer que la aplicación llegue a los usuarios finales, se habilita principalmente la entrega continua. Esto no se puede completar sin una cantidad suficiente de pruebas unitarias y pruebas de automatización.
Por lo tanto, necesitamos validar que el código se produjo e integró con todos los desarrolladores que se desempeñan según lo requerido.
P # 8) Explique el monitoreo continuo.
Responder: A medida que se desarrolla e implementa la aplicación, necesitamos monitorear su desempeño. Supervisión también es muy importante, ya que puede ayudar a descubrir los defectos que podrían no haberse detectado antes.
P # 9) ¿Cómo abordará cuando un proyecto necesite implementar DevOps?
Respuesta: Se pueden utilizar los siguientes enfoques, pero variarán según los escenarios reales del proyecto o de una organización a otra.
Nivel 1: Para cualquier implementación de DevOps, una evaluación del proceso existente y la implementación durante aproximadamente 2 a 3 semanas con un promedio de 5 aplicaciones es imprescindible para medir el proceso AS-IS, identifica las áreas de mejora y proporciona una hoja de ruta para la implementación.
Normalmente, un perfil senior como un arquitecto de DevOps debe participar para realizar esta evaluación.
Etapa 2: Se puede realizar un POC piloto para mostrar el funcionamiento completo de DevOps. Una vez que esto ha sido aceptado y aprobado por los usuarios finales, solo entonces se debe llevar a cabo la implementación real, la transferencia y el despliegue del plan para los proyectos involucrados.
Cualquier parte de la capacitación requerida también deberá impartirse al proceso o las herramientas. Los arquitectos, ingenieros y evaluadores de DevOps deberían participar en esta etapa.
Etapa 3: Los proyectos ahora deberían estar en modo DevOps con todos los componentes de integración / entrega / prueba y monitoreo continuos que se están siguiendo.
P # 10) ¿Se puede aplicar DevOps a un proceso en cascada? Explique la importancia del proceso ágil en la implementación de DevOps.
Responder: En el proceso en cascada, como todos sabemos, inicialmente se recopilan los requisitos completos, luego se diseña el sistema, luego se realiza la implementación del sistema, seguido de las pruebas del sistema y la implementación para los usuarios finales. En este proceso, el problema era que había un gran tiempo de espera para la construcción y la implementación, lo que dificultaba mucho la obtención de comentarios.
La solución al problema anterior fue que el proceso Agile debe aportar agilidad tanto en el desarrollo como en las operaciones. El proceso ágil podría ser el principal o se puede requerir un cierto prerrequisito para la implementación de DevOps. DevOps va de la mano con el proceso Agile.
El área de enfoque es lanzar el software de manera muy oportuna con ciclos de lanzamiento más cortos y comentarios rápidos. Entonces, el enfoque del proceso ágil estará principalmente en la velocidad y en DevOps, funciona bien con la automatización de varias herramientas.
P # 11) ¿Cuál es la diferencia entre la entrega continua y la implementación continua?
Responder: En un Sprint ágil, Por ejemplo, hay muchas características o historias de usuarios que se desarrollan, prueban y están listas para su implementación. Pero según los escenarios y las prioridades de los clientes, no todos se implementarán. Entonces, aquí en la entrega continua, es muy importante mantener el código disponible para su implementación.
En Continous Deployment, todos los cambios desarrollados por el desarrollador pasan por varias etapas para ser implementados en el entorno de PRODUCCIÓN de forma automatizada.
P # 12) ¿Cuál es su experiencia en los proyectos DevOps?
Responder: Explique su rol como ingeniero de DevOps y cómo estaba trabajando como parte del entorno 24 * 7 y tal vez en turnos, los proyectos involucrados en la automatización de la canalización de CI y CD y brindando apoyo a los equipos de proyecto.
Por lo tanto, asumir la responsabilidad total de mantener y extender los entornos para la automatización de DevOps a más y más proyectos y diferentes tecnologías ( Ejemplo: .NET, proyectos J2EE) involucrados dentro de la organización.
Además, explique el proceso ( Ejemplo Agile) y herramientas que participaron en una automatización de extremo a extremo. También puede hablar sobre su experiencia, si la hubiera, en el soporte de DevOps en el entorno de la nube.
P # 13) ¿Cuáles son las 10 mejores herramientas de DevOps que se utilizan en la industria hoy en día?
Respuesta: La lista incluye:
- Jira
- GIT / SVN
- Bitbucket
- Jenkins
- Bambú
- SonarQube
- Artefactorio / Nexus
- Estibador
- Chef / Marioneta / Ansible
- IBM Urbancode Deploy / CA-RA
- Nagios / Splunk
P # 14) ¿Puede explicar los usos de las herramientas mencionadas en la pregunta anterior y cómo se conectan para dar un modelo DevOps (CI / CD)?
donde encuentro la llave de seguridad
Responder:
Planificación
- Jira - Se utiliza para la planificación de proyectos y la gestión de problemas.
Integración continua
- Vamos - Control de versiones
- Jenkins - Herramienta de integración continua de código abierto que también puede ayudar en la entrega continua.
- SonarQube - Análisis de código
- Artefacto JFrog - Administrador de repositorios binarios
Entrega continua
- Chef / Marioneta / Ansible - Gestión de la configuración e implementación de aplicaciones
- IBM Urbancode Deploy / CA RA - Entrega continua
Monitoreo continuo
- Nagios / Splunk
Ejemplo de flujo de trabajo de DevOps:
- Por lo general, en un proceso ágil, las historias de usuario, las tareas, los defectos, etc., se almacenan en JIRA y se asignan a los propietarios y desarrolladores del producto.
- Los desarrolladores recogen las tareas que se les asignan y trabajan en el desarrollo. El código fuente está controlado por versiones y almacenado en GIT. Los desarrolladores envían sus cambios al código fuente en GIT. Eventualmente, el código se comparte entre los desarrolladores que usan GitHub.
- Jenkins, que es la herramienta de integración continua, extrae el código y en cada registro o según un cronograma, la compilación se realiza utilizando herramientas de compilación como Maven o ANT.
- A medida que se producen los archivos WAR de J2EE, también se controlan la versión y se almacenan en un administrador de repositorio binario como Artifactory o Nexus.
- Las pruebas unitarias con JUnit y el análisis de código con SonarQube también se realizan y automatizan
- Una vez que se completa el proceso anterior, la Entrega Continua se realiza a diferentes entornos basados en aprobaciones usando herramientas como IBM UrbanCode Deploy / CA RA Continuous Testing (Pruebas funcionales y de aceptación) se invoca en los entornos de prueba apropiados usando herramientas como Selenium
- El monitoreo continuo sería una actividad continua en el entorno PROD
P # 15) ¿Qué es la administración de configuración en términos de infraestructura y mencione algunas herramientas populares utilizadas?
Responder: La gestión de la configuración consta de prácticas y las diversas herramientas involucradas para automatizar las operaciones de entrega e infraestructura. Se trata de mantener el servidor listo ( Ejemplo Instalación de paquetes del sistema, ajustes de configuración de red) para la implementación de la aplicación una vez desarrollada la aplicación.
Por lo tanto, las operaciones o el administrador del sistema deben garantizar la paridad en diferentes entornos (Dev, QA, PROD, etc.) aprovisionando los sistemas.
Las herramientas utilizadas en este espacio para automatizar las tareas de gestión de la configuración descritas anteriormente son Chef / Marioneta / Ansible
P # 16) ¿Qué herramientas de secuencias de comandos se utilizan en DevOps?
Responder: Python, Ruby
P # 17) Explique los roles típicos involucrados en DevOps.
Responder:
- Arquitecto de DevOps: El líder responsable de todo el proceso de DevOps.
- Ingeniero de DevOps: La persona debe tener experiencia con Agile, SCM o Control de versiones, CI / CD y configurar herramientas de automatización para las mismas, automatización de infraestructura y habilidades de administración de bases de datos. Cualquier desarrollador que tenga habilidades en codificación o secuencias de comandos y tenga la perspicacia para ingresar a la implementación o al administrador del sistema puede calificar para el rol de un ingeniero de DevOps.
P # 18) ¿Ha participado en la implementación de DevOps en la nube? En caso afirmativo, ¿qué plataforma de computación en nube?
Responder:Ejemplos de plataformas de computación en la nube populares:
- AWS: servicios web de Amazon
- Microsoft Azure
- Google Cloud
P # 19) Explique algunas de las métricas que se siguieron para el éxito de DevOps.
como crear un proyecto en eclipse
Responder:
Algunos de los ejemplos son los siguientes:
- El primer factor y el más importante es la velocidad de entrega, lo que significa el tiempo necesario para que cualquier elemento de trabajo ingrese al entorno de producción.
- Lo siguiente sería la implementación y cuánto tiempo tomaría una vez que este proceso esté automatizado.
- Es casi necesario rastrear cuántos defectos se encuentran en diferentes entornos con respecto al entorno de PRODUCCIÓN. Esto es muy importante al considerar las funciones que deben lanzarse más rápido. El uso de metodologías ágiles ayuda mucho y el objetivo principal es reducir los defectos en el nivel de PRODUCCIÓN.
- Normalmente, las implementaciones no fallan, pero es muy importante estar al tanto de este aspecto y tener un mecanismo para retroceder a la versión estable anterior.
- En cualquier implementación de DevOps, las pruebas unitarias son la clave, así como las pruebas funcionales. En función de los cambios de código realizados, a menudo necesitamos ver si estas pruebas se rompen y en qué medida. Es imperativo que la prueba automatizada sea lo suficientemente robusta para soportar cualquier cambio de código.
- Es muy importante medir el tiempo real o promedio que se tarda en recuperarse en caso de una falla en el entorno de PRODUCCIÓN. Esto se denomina tiempo medio de recuperación (MTTR) y debe ser breve. Esto también significa que uno necesita tener herramientas de monitoreo adecuadas para reducir el tiempo de recuperación.
- El rendimiento de la aplicación es otra métrica clave que se debe monitorear, especialmente después de que se realiza cualquier implementación.
- Un factor muy importante para el éxito es la cantidad de errores notificados por los clientes, que depende principalmente de la calidad de la aplicación.
P # 20) ¿Cuáles son sus expectativas desde una perspectiva profesional de DevOps?
Responder: Participar en el proceso de entrega de principio a fin y el aspecto más importante de ayudar a mejorar el proceso para permitir que los equipos de desarrollo y operaciones trabajen juntos y comprendan el punto de vista de los demás.
Conclusión
Esa fue la lista de preguntas de entrevistas de DevOps más populares.
Al comienzo de esta serie de tutoriales de DevOps , llegamos a saber qué es exactamente DevOps, su proceso y ciertas formas posibles de implementarlos.
Es de esperar que las preguntas de DevOps de este tutorial le ayuden a conquistar la entrevista de DevOps y le preparen en el camino de una gran carrera en este campo. Como las preguntas mencionadas son desde una perspectiva de DevOps, también debe dominar el proceso Agile y las herramientas mencionadas en este artículo para CI y CD.
Espero que haya disfrutado de toda la gama de tutoriales de nuestra serie DevOps y estoy seguro de que debe haber adquirido un conocimiento inmenso sobre el concepto DevOps. ¡¡¡Te deseamos todo el éxito !!!
Lectura recomendada
- 9 MEJORES conferencias de DevOps en 2021 que debes seguir
- Funciones de Ansible, integración con Jenkins en DevOps y módulos EC2
- Supervisión del rendimiento de las aplicaciones en DevOps
- Tutorial de AWS CodeCommit para la implementación de DevOps en la nube
- Las mejores herramientas de DevOps de código abierto (con instalación y configuración)
- Colaboración en DevOps
- Gestión de la configuración en prácticas de DevOps
- Entrega continua en DevOps
- Implementación continua en DevOps
- Integración continua en DevOps
- Pruebas continuas en DevOps
- Desmitificando DevOps: tutorial en vídeo (parte 1)
- Automatización de DevOps: cómo se aplica la automatización en la práctica de DevOps
- Práctica de DevOps basada en el manifiesto ágil (Parte 2 - Bloque 1)
- Tutorial de pruebas de DevOps: ¿Cómo afectará DevOps a las pruebas de control de calidad?
- Tutorial de DevOps: la guía definitiva para DevOps (más de 25 tutoriales)
- DevOps con Microsoft VSTS: CI / CD a una aplicación web de Azure
- Cómo desarrollar la colaboración en equipos de DevOps
- Cómo utilizar Microsoft TFS para proyectos JAVA con Eclipse en DevOps
- Importancia de pequeños incrementos de entregas en DevOps