top 20 latest devops interview questions
Questions et réponses des entretiens DevOps les plus populaires pour réussir tout entretien DevOps:
Nous avons vu la liste des meilleurs Fournisseurs de services DevOps dans notre dernier tutoriel.
DevOps ne concerne pas seulement les outils mais c'est aussi un ensemble de bonnes pratiques qui nous permettent de combler le fossé entre les équipes de développement et d'exploitation dans les domaines de l'intégration et du déploiement continus en utilisant un ensemble intégré d'outils pour automatiser la livraison de logiciels.
Lecture suggérée => Guide d'introduction au DevOps
Examinons maintenant certaines des questions les plus fréquemment posées lors de l'entretien DevOps ainsi que les réponses que vous pouvez donner. Les réponses peuvent varier en fonction de son propre travail et de ses propres expériences.
Meilleures questions d'entrevue DevOps avec réponses
Vous trouverez ci-dessous une liste des questions DevOps les plus fréquemment posées lors des entretiens:
Commençons.
Q # 1) Expliquez DevOps.
Répondre:
- DevOps favorise la communication et la collaboration entre les équipes commerciales, de développement et d'exploitation. D'une certaine manière, nous parlons d'unification.
- DevOps ne concerne pas seulement les outils, mais également l'implication des personnes et des processus.
- DevOps s'inspire du processus Agile.
- DevOps consiste à automatiser les processus de développement, de publication et d'exploitation.
- DevOps contribue à la vitesse de livraison des applications aux utilisateurs finaux.
- DevOps est également une question d'amélioration continue qui aide à apprendre grâce au feedback.
Q # 2) Expliquez quelques prérequis utiles pour l'implémentation DevOps.
Réponse: Les pré-requis comprennent:
- Engagement au plus haut niveau de l'organisation.
- Nécessité de communiquer le changement dans toute l'organisation.
- Logiciel de contrôle de version.
- Des outils automatisés pour la conformité à traiter.
- Test automatisé
- Déploiement automatisé
Q # 3) Quelles sont les meilleures pratiques pour la mise en œuvre DevOps?
Répondre: L'implémentation DevOps varie d'une organisation à une autre. Aujourd'hui, les organisations cherchent à livrer le logiciel plus rapidement et de ce point de vue, voici mes réflexions sur la façon dont DevOps peut apporter une communication efficace avec toutes les parties prenantes, y compris l'équipe des opérations.
- Chaque organisation a certains objectifs commerciaux et la mise en œuvre de DevOps doit s'y conformer. Il devrait y avoir un certain besoin de changement.
- Encourager la communication et la collaboration en particulier entre le développement et les opérations.
- L'automatisation est la clé et doit être réalisée et réalisée dans la mesure du possible dans les étapes SDLC pour faciliter le fonctionnement de DevOps.
- Les outils utilisés dans DevOps devraient s'intégrer très bien. Du point de vue de tout outil commercial comme IBM Rational CLM ou Microsoft TFS, l'implémentation de DevOps est bonne car elle provient d'un seul fournisseur. De même, il faut se pencher sur des outils open source qui s'intègrent pour donner des résultats similaires souhaités.
- La mise en œuvre de DevOps n'est pas réussie sans les pratiques d'intégration continue et de livraison continue. Ainsi, la CI de votre code avec des tests rigoureux et la réalisation de CD en est la clé.
- Il est très important pour l'équipe Ops de s'assurer que les applications fonctionnent très bien aux niveaux appropriés. Si nécessaire, ils devront travailler avec les équipes de développement pour créer des outils qui aideraient à intégrer les bonnes capacités de surveillance dans les applications.
- Enfin, encouragez les commentaires des utilisateurs finaux pour permettre une amélioration continue qui fournit la clé pour améliorer le processus et fournir un logiciel de qualité.
Q # 4) Quels sont les composants clés de DevOps?
Réponse: Les principaux composants comprennent:
- Intégration continue
- Test continu
- Livraison continue
- Contrôle continu
Q # 5) Expliquez l'intégration continue.
Répondre: L'intégration continue est une composante très importante du processus Agile. En règle générale, les développeurs travaillent sur des fonctionnalités ou des user stories dans un sprint et valident leurs modifications dans le référentiel de contrôle de version.
Une fois le code validé, tout le travail des développeurs est bien intégré et la construction est effectuée régulièrement en fonction de chaque enregistrement ou calendrier. Par conséquent, l'intégration continue en tant que pratique oblige le développeur à intégrer ses modifications aux autres afin d'obtenir un retour rapide.
comment créer un faux identifiant de messagerie d'entreprise
Q # 6) Expliquez la livraison continue.
Répondre: La livraison continue est une extension de l'intégration continue qui aide principalement à fournir les fonctionnalités que les développeurs développent aux utilisateurs finaux dès que possible. Au cours de ce processus, il passe par différentes étapes d'AQ, de Staging, etc., puis de livraison au système de PRODUCTION.
Q # 7) Expliquez les tests continus.
Répondre: À partir de l'objectif ci-dessus de l'intégration continue, qui est de fournir l'application aux utilisateurs finaux, nous permettons principalement une livraison continue. Cela ne peut pas être effectué sans une quantité suffisante de tests unitaires et d'automatisation.
Par conséquent, nous devons valider que le code est produit et intégré à tous les développeurs qui fonctionnent comme requis.
Q # 8) Expliquez la surveillance continue.
Répondre: Au fur et à mesure que l'application est développée et déployée, nous devons surveiller ses performances. Surveillance est également très important car cela pourrait aider à découvrir les défauts qui n'auraient peut-être pas été détectés plus tôt.
Q # 9) Comment aborderez-vous lorsqu'un projet doit implémenter DevOps?
Réponse: Les approches suivantes peuvent être utilisées, mais cela variera en fonction des scénarios de projet réels ou d'une organisation à l'autre
l'étape du cycle de développement logiciel au cours de laquelle la programmation est effectuée est:
Étape 1: Pour toute implémentation DevOps, une évaluation du processus existant et de l'implémentation pendant environ 2 à 3 semaines avec une moyenne de 5 applications est indispensable pour évaluer le processus AS-IS, identifier les domaines d'amélioration et fournir une feuille de route pour la mise en œuvre.
En règle générale, un profil senior tel qu'un architecte DevOps doit être impliqué pour mener cette évaluation.
Étape 2: Un POC pilote peut être fait pour présenter le fonctionnement de bout en bout de DevOps. Une fois que cela a été accepté et approuvé par les utilisateurs finaux seulement, la mise en œuvre, le transfert et le déploiement du plan pour les projets concernés doivent être effectués.
Toute formation requise devra également être transmise au processus ou aux outils. Les architectes, ingénieurs et testeurs DevOps devraient être impliqués à ce stade.
Étape 3: Les projets devraient maintenant être en mode DevOps avec tous les composants d'intégration / livraison / test et surveillance continus qui sont suivis.
Q # 10) DevOps peut-il être appliqué à un processus Waterfall? Expliquez l'importance du processus Agile dans l'implémentation DevOps.
Répondre: Dans le processus en cascade, comme nous le savons tous, les exigences complètes sont initialement rassemblées, puis le système est conçu, la mise en œuvre du système est ensuite effectuée, suivie de tests du système et déployée auprès des utilisateurs finaux. Dans ce processus, le problème était qu'il y avait un temps d'attente énorme pour la construction et le déploiement, ce qui rendait très difficile l'obtention des commentaires.
La solution au problème ci-dessus était que le processus Agile doit apporter de l'agilité à la fois dans le développement et les opérations. Le processus agile peut être le principal ou un certain pré-requis peut être requis pour l'implémentation DevOps. DevOps va de pair avec le processus Agile.
L'objectif principal est de publier le logiciel dans les meilleurs délais avec des cycles de publication plus courts et des retours rapides. Ainsi, le processus agile se concentrera principalement sur la vitesse et dans DevOps, cela fonctionne bien avec l'automatisation de divers outils
Q # 11) Quelle est la différence entre la livraison continue et le déploiement continu?
Répondre: Dans un sprint agile, Par exemple, il existe de nombreuses fonctionnalités ou user stories développées, testées et prêtes à être déployées. Mais en fonction des scénarios et des priorités des clients, tous ne seraient pas déployés. Donc, ici en livraison continue, il est très important de garder le code facilement disponible pour le déploiement.
En Déploiement Continu, tous les changements développés par le développeur passent par différentes étapes pour être déployés dans l'environnement PRODUCTION de manière automatisée.
Q # 12) Quelle est votre expertise sur les projets DevOps?
Répondre: Expliquez votre rôle en tant qu'ingénieur DevOps et comment vous travailliez dans le cadre de l'environnement 24 * 7 et peut-être par équipes, les projets impliqués dans l'automatisation du pipeline CI et CD et le soutien aux équipes de projet.
Par conséquent, prendre l'entière responsabilité de maintenir et d'étendre les environnements d'automatisation DevOps à de plus en plus de projets et de technologies différentes ( Exemple: .NET, projets J2EE) impliqués au sein de l'organisation.
Expliquez également le processus ( Exemple Agile) et des outils impliqués dans une automatisation de bout en bout. Vous pouvez également parler de votre expérience, le cas échéant, en matière de support DevOps sur l'environnement Cloud.
Q # 13) Quels sont les 10 meilleurs outils DevOps utilisés dans l'industrie aujourd'hui?
Réponse: La liste comprend:
- Jira
- GIT / SVN
- Bitbucket
- Jenkins
- Bambou
- SonarQube
- Artifactory / Nexus
- Docker
- Chef / Marionnette / Ansible
- IBM Urbancode Deploy / CA-RA
- Nagios / Splunk
Q # 14) Pouvez-vous expliquer les utilisations des outils mentionnés dans la question ci-dessus et comment ils se connectent pour donner un modèle DevOps (CI / CD)?
Répondre:
Planification
- Jira - Utilisé pour la planification de projet et la gestion des problèmes
Intégration continue
- Aller - Contrôle de version
- Jenkins - Outil d'intégration continue Open Source qui peut également aider à la livraison continue.
- SonarQube - Analyse de code
- JFrog Artifactory - Gestionnaire de référentiel binaire
Livraison continue
- Chef / Marionnette / Ansible - Gestion de la configuration et déploiement d'applications
- IBM Urbancode Deploy / CA RA - Livraison continue
Contrôle continu
- Nagios / Splunk
Exemple de workflow DevOps:
- Généralement, dans un processus Agile, les user stories, les tâches, les défauts, etc. sont tous stockés dans JIRA et affectés aux Product Owners et Developers.
- Les développeurs reprennent les tâches qui leur sont assignées et travaillent au développement. Le code source est contrôlé par version et stocké dans GIT. Les développeurs valident leurs modifications au code source dans GIT. Finalement, le code est partagé entre les développeurs utilisant GitHub.
- Jenkins, qui est l'outil d'intégration continue, extrait le code et à chaque enregistrement ou en fonction d'un calendrier, la construction est effectuée à l'aide d'outils de construction tels que Maven ou ANT.
- Au fur et à mesure que les fichiers WAR J2EE sont produits, ils sont également contrôlés par version et stockés dans un gestionnaire de référentiel binaire comme Artifactory ou Nexus.
- Les tests unitaires utilisant JUnit et l'analyse de code avec SonarQube sont également effectués et automatisés
- Une fois le processus ci-dessus terminé, la livraison continue est effectuée dans différents environnements en fonction des approbations à l'aide d'outils tels que IBM UrbanCode Deploy / CA RA Continuous Testing (Functional and Acceptance Testing) est invoqué dans les environnements de test appropriés à l'aide d'outils tels que Selenium.
- La surveillance continue serait une activité continue dans l'environnement PROD
Q # 15) Qu'est-ce que la gestion de la configuration en termes d'infrastructure et mentionnez quelques outils populaires utilisés?
Répondre: La gestion de la configuration comprend les pratiques et les différents outils impliqués pour automatiser les opérations de livraison et d'infrastructure. Il s'agit de garder le serveur prêt ( Exemple Installation des packages système, des paramètres de configuration réseau) pour le déploiement de l'application une fois l'application développée.
Ainsi, les Ops ou l'administrateur système doivent assurer la parité dans différents environnements (Dev, QA, PROD, etc.) en provisionnant les systèmes.
Les outils utilisés dans cet espace pour automatiser les tâches de gestion de configuration décrites ci-dessus sont Chef / Marionnette / Ansible
Q # 16) Quels outils de script sont utilisés dans DevOps?
Répondre: Python, Rubis
Q # 17) Expliquez les rôles typiques impliqués dans DevOps.
Répondre:
- Architecte DevOps: Le leader responsable de l'ensemble du processus DevOps.
- Ingénieur DevOps: La personne doit avoir de l'expérience avec Agile, SCM ou contrôle de version, CI / CD et mise en place d'outils d'automatisation pour les mêmes compétences, en automatisation de l'infrastructure et en gestion de base de données. Tout développeur qui a des compétences en codage ou en script et a la perspicacité nécessaire pour se lancer dans le déploiement ou l'administrateur système peut se qualifier pour le rôle d'ingénieur DevOps.
Q # 18) Avez-vous été impliqué dans la mise en œuvre de DevOps dans le cloud? Si oui, quelle plateforme de cloud computing?
Répondre:Exemples de plates-formes de cloud computing populaires:
- AWS - Amazon Web Services
- Microsoft Azure
- Google Cloud
Q # 19) Expliquez quelques-unes des mesures qui ont été suivies pour le succès de DevOps.
Répondre:
Certains des exemples sont les suivants:
- Le premier et le plus important facteur est la rapidité de livraison, c'est-à-dire le temps nécessaire à tout élément de travail pour entrer dans l'environnement de production.
- Ensuite, il y aurait le déploiement et le temps qu'il faudrait une fois ce processus automatisé.
- Il est presque nécessaire de suivre le nombre de défauts détectés dans différents environnements par rapport à l'environnement de PRODUCTION. Ceci est très important pour considérer les fonctionnalités qui doivent être publiées plus rapidement. L'utilisation de méthodologies Agile aide beaucoup et l'objectif principal est de réduire les défauts au niveau de la PRODUCTION.
- Normalement, les déploiements n'échouent pas mais il est très important de garder une trace de cet aspect et de disposer d'un mécanisme pour revenir à la version stable précédente.
- Dans toute implémentation DevOps, les tests unitaires sont la clé ainsi que les tests fonctionnels. Sur la base des modifications de code effectuées, nous devons souvent vérifier si ces tests sont interrompus et dans quelle mesure. Il est impératif que le test automatisé soit suffisamment robuste pour supporter tout changement de code.
- Il est très important de mesurer le temps réel ou moyen qu'il faut pour récupérer en cas de panne dans l'environnement de PRODUCTION. Ceci est appelé temps moyen de récupération (MTTR) et devrait être court. Cela signifie également qu'il faut disposer d'outils de surveillance appropriés pour réduire le temps de récupération.
- Les performances de l'application sont une autre métrique clé qui doit être surveillée, en particulier après la fin des déploiements.
- Un facteur très important de succès est le nombre de bogues signalés par les clients qui dépend principalement de la qualité de l'application.
Q # 20) Quelles sont vos attentes du point de vue de carrière de DevOps?
la différence entre c et c ++
Répondre: Participer au processus de livraison de bout en bout et à l’aspect le plus important de l’amélioration du processus afin de permettre aux équipes de développement et d’exploitation de travailler ensemble et de comprendre le point de vue de l’autre.
Conclusion
C'était la liste des questions d'entrevue DevOps les plus populaires.
Au début de cette série de tutoriels DevOps , nous avons appris ce qu'est exactement DevOps, son processus et certaines manières possibles de les mettre en œuvre.
Les questions DevOps de ce didacticiel devraient, espérons-le, vous aider à conquérir l'entrevue DevOps et vous mettre sur la voie d'une grande carrière dans ce domaine. Les questions mentionnées étant du point de vue DevOps, vous devez également maîtriser le processus Agile et les outils mentionnés dans cet article pour CI et CD.
J'espère que vous avez apprécié toute la gamme de tutoriels de notre série DevOps et je suis sûr que vous devez avoir acquis d'immenses connaissances sur le concept DevOps !! Nous vous souhaitons tout le succès !!!
lecture recommandée
- 9 MEILLEURES conférences DevOps en 2021 à suivre
- Rôles Ansible, intégration avec Jenkins dans DevOps et modules EC2
- Surveillance des performances des applications dans DevOps
- Tutoriel AWS CodeCommit pour l'implémentation de DevOps dans le cloud
- Meilleurs outils DevOps Open Source (avec installation et configuration)
- Collaboration dans DevOps
- Gestion de la configuration dans les pratiques DevOps
- Livraison continue dans DevOps
- Déploiement continu dans DevOps
- Intégration continue dans DevOps
- Tests continus dans DevOps
- Démystifier DevOps: didacticiel vidéo (partie 1)
- Automatisation DevOps: comment l'automatisation est-elle appliquée dans la pratique DevOps
- Pratique DevOps basée sur le manifeste Agile (Partie 2 - Bloc 1)
- Tutoriel de test DevOps: quel sera l'impact de DevOps sur les tests d'assurance qualité?
- Tutoriel DevOps: Le guide ultime de DevOps (plus de 25 tutoriels)
- DevOps avec Microsoft VSTS: CI / CD vers une application Web Azure
- Comment développer la collaboration dans les équipes DevOps
- Comment utiliser Microsoft TFS pour les projets JAVA avec Eclipse dans DevOps
- Importance de petits incréments de livraisons dans DevOps