Top 100 des questions et réponses des entretiens DevOps

2 janvier 2022

DevOps est une pratique consistant à combiner les développements logiciels et les opérations informatiques. L'objectif principal est de réduire le cycle de vie du développement des systèmes et de fournir une livraison continue avec des logiciels de haute qualité.

DevOps est la culture de développement logiciel qui relie les processus de développement, d'exploitation et d'assurance qualité en un ensemble continu d'actions. Il fournit des communications interfonctionnelles, des responsabilités de bout en bout et des collaborations et est une extension du Méthodologie agile .

Table des matières



Principales questions et réponses des entretiens DevOps

1. Expliquer DevOps en termes simples ?

DevOps est une pratique consistant à combiner les développements logiciels et les opérations informatiques. L'objectif principal est de réduire le cycle de vie du développement des systèmes et de fournir une livraison continue avec des logiciels de haute qualité.

2. DevOps est-il différent de la méthodologie Agile ?

DevOps Agile
C'est une pratique où nous réunissons les équipes de développement et d'exploitation.Il s'agit d'une approche itérative qui se concentre principalement sur les commentaires des clients et les versions rapides.
Il se concentre sur des tests et une livraison constantsIl se concentre sur les changements constants.
Cela nécessite une grande équipe.Cela nécessite une petite équipe.
Son objectif principal est davantage la préparation opérationnelle et commercialeIl se concentre principalement sur la préparation fonctionnelle et non fonctionnelle.
Il vise à fournir des solutions commerciales de bout en bout et une livraison rapide.Il cible principalement le développement de logiciels.
Questions d'entretien DevOps

3. Énumérez-en quelques-uns principes de DevOps ?

Quelques principes de DevOps sont :

    Versions incrémentielles :DevOps encourage les développeurs à contribuer le dernier code aussi souvent que possible, généralement plusieurs fois par jour. Dans l'environnement DevOps, un projet unique est divisé en petits morceaux et les équipes sont invitées à soumettre leur code par incréments, ce qui facilite le dépannage.Automatisation: DevOps prend en charge l'automatisation, où l'automatisation des flux de travail permet aux développeurs de se concentrer uniquement sur l'écriture de code et le développement des nouvelles fonctionnalités requises.Pipeline DevOps: DevOps vise à créer des pipelines, où un pipeline représente un système reproductible composé d'étapes où le code doit passer avant d'être déployé en productionIntégration continue:DevOps encourage les développeurs à soumettre leur code au référentiel de code central plusieurs fois par jour.
  1. Livraison continue
  2. Contrôle continu
  3. Il prend en charge le contrôle de version.
  4. Il prend en charge le partage de commentaires.

4. Pouvez-vous nommer certains des outils DevOps populaires ?

Certains des outils populaires sont :

    Aller.Utilisé pour Code, Build.Gradle.Utilisé pour la construction.Sélénium.Utilisé pour l'essai.Jenkins. Utilisé pour construire, tester, déployer.Fantoche.Utilisé pour déployer, exploiter.Chef.Utilisé pour déployer, exploiter.Docker.Utilisé pour construire, déployer, exploiter.Gouverneurs. Utilisé pour construire, déployer, exploiter.

5. Nommez les différentes phases impliquées dans le cycle de vie DevOps ?

Les différentes phases impliquées dans DevOps sont :

    Développement continu:Cette phase est impliquée dans la planification et le codage du logiciel. Nous décidons de la vision du projet lors de la phase de planification. Les développeurs commencent à développer le code pour l'application donnée. Nous n'avons pas d'outils DevOps pour la planification, mais nous avons quelques outils pour maintenir le code.Intégration continue: Cette étape est l'étape importante de l'ensemble du cycle de vie DevOps. Il s'agit d'une pratique de développement logiciel dans laquelle les développeurs sont tenus de valider plus fréquemment les modifications apportées au code source. Cela se fait sur une base quotidienne ou hebdomadaire.Tests continus: Dans cette phase, le logiciel développé est continuellement testé pour les bogues. Nous utilisons des outils de test automatisés comme TestNG, JUnit, Sélénium , etc.Contrôle continu: C'est une phase qui implique tous les facteurs opérationnels de l'ensemble du processus DevOps, où des informations importantes telles que l'utilisation du logiciel sont enregistrées et traitées pour connaître les tendances et identifier les zones problématiques.Rétroaction continue: Le développement de l'application est amélioré en analysant les résultats des opérations du logicielDéploiement continu: C'est une phase où le code est déployé sur les serveurs de production, et elle s'assure que le code est correctement utilisé sur tous les serveurs.Opérations continues: Toutes les opérations DevOps sont principalement basées sur la continuité avec l'automatisation complète des processus de publication, et cela permet aux organisations d'accélérer de manière continue le délai global de mise sur le marché.

6. Nommez quelques opérations de base de DevOps w.r.t Application Development ?

Les opérations de base sont :

  1. Création de code
  2. Couverture de code
  3. Tests unitaires
  4. Emballage
  5. Déploiement

7. Différencier livraison continue et déploiement continu ?

Livraison continue Déploiement continu
Il garantit que les applications et services métier fonctionnent comme prévu.Cela rend le développement logiciel et le processus de publication plus rapides et plus robustes.
Garantit la sécurité du code déployé en production.Chaque modification qui passe par les tests automatisés est automatiquement déployée en production.

8. Expliquez les avantages d'IaC (Infrastructure as Code) par rapport à AWS ?

  1. Haute visibilité
  2. Déploiement et orchestration automatisés
  3. Stabilité avec contrôle de version
  4. Réutilisabilité et évolutivité

9. Expliquer les étapes pour mettre en œuvre DevOps dans votre organisation ?

Plan de mise en œuvre DevOps

Les étapes de mise en œuvre de DevOps dans une organisation sont répertoriées ci-dessous :

Étape 1: Créer une équipe compétente : Identifier les ressources qualifiées.

Étape 2: Commencez par de petites initiatives : il est toujours sûr, pour commencer, de petits prototypes.

Étape 3: Suivre Principes Agile : les organisations doivent suivre les principes Agile ainsi que les méthodologies DevOps pour obtenir des résultats remarquables.

Étape 4: Préparez l'environnement : Les outils qui feront partie de la configuration DevOps doivent être identifiés, et cela doit être fait de manière à ce que toute organisation, petite ou grande, puisse se les permettre.

Voir également Top 100 des questions et réponses d'entrevue JavaScript

Étape 5 : Commentaires des clients : Le client doit être impliqué à chaque étape afin que vous puissiez obtenir des commentaires précieux.

10. Citez quelques avantages techniques et commerciaux de DevOps ?

Avantages techniques :

  1. Problèmes moins complexes à gérer
  2. Détection précoce et correction plus rapide des défauts
  3. Livraison continue du logiciel

Avantages commerciaux :

  1. Environnements d'exploitation stables
  2. Amélioration des communications et des collaborations entre les équipes
  3. Livraison plus rapide des fonctionnalités

Questions d'entretien DevOps

11. Quel langage de script est préféré par les ingénieurs DevOp ?

Python semble être populaire auprès des ingénieurs DevOps.

12. Quel rôle joue la gestion de la configuration dans DevOps ?

  1. Il aide à automatiser les tâches fastidieuses et permet à l'organisation de gagner en agilité.
  2. La gestion de la configuration est une technique permettant de maintenir les systèmes informatiques, les serveurs et les logiciels dans un état stable souhaité.
  3. Il est utile de répliquer avec précision l'environnement avec les configurations et les logiciels appropriés.

13. Qu'est-ce que le contrôle de version ?

Le contrôle de version, connu sous le nom de contrôle de source, est un outil clé utilisé par les équipes DevOps performantes pour réduire le temps de développement et augmenter le taux de déploiements réussis. Le contrôle de version aide les équipes d'ingénierie logicielle à coopérer aux vitesses requises par l'environnement informatique actuel en constante évolution.

14. Pouvez-vous décrire les principaux KPI DevOps (indicateurs de performance clés) ?

Les indicateurs de performance clés DevOps importants sont :

  1. Fréquence de déploiement.
  2. Modifier le taux d'échec.
  3. Temps moyen de récupération (MTTR)
  4. Délai de mise en œuvre.
  5. Modifier le volume.
  6. Taux d'échappement des défauts.
  7. Billets clients.
  8. Ressources DevOps.

quinze. Quelle est l'utilité de DevOps pour les développeurs ?

DevOps est utile aux développeurs pour corriger le bogue et implémenter rapidement de nouvelles fonctionnalités. Il aide également à communiquer entre les membres de l'équipe.

16. Quel rôle joue AWS dans DevOps ?

Les rôles:

  1. Construit pour l'échelle
  2. Automatisation
  3. Sécurise
  4. Grand écosystème de partenaires
  5. Services flexibles

17. Nommez les types de requêtes HTTP ?

Les types:

  1. AVOIR
  2. DIRIGER
  3. METTRE
  4. PUBLIER
  5. PIÈCE
  6. EFFACER
  7. TRACE
  8. RELIER
  9. OPTIONS

18. Qu'est-ce que l'IaC et comment est-il lié à la gestion de la configuration ?

IaC

L'infrastructure en tant que code, également connue sous le nom d'IaC, est un processus d'écriture et de déploiement des fichiers de définition lisibles par machine qui peuvent générer des composants de service ; par conséquent, il prend en charge la livraison de systèmes d'entreprise et de processus informatiques.

IaC est un type de gestion de la configuration qui peut coder les ressources d'infrastructure de l'organisation dans les fichiers. Ces fichiers d'infrastructure sont ensuite exécutés sur un système de contrôle de version comme Git.

19. Que vérifieriez-vous si un serveur de construction Linux commençait soudainement à devenir lent ?

Si un serveur de construction Linux commence soudainement à ralentir, vous devez résoudre le problème comme suit.

    Dépannage au niveau du système : comme les problèmes liés à la RAM, les problèmes liés à l'espace disque, les problèmes de lecture-écriture d'E / S de disque, les problèmes de matériel réseau et les problèmes de montageDépannage au niveau de l'application: Si l'application ne se comporte pas correctement. Cliquez ensuite sur le fichier journal des applications OU sur le fichier journal du serveur d'applications OU sur le fichier journal du serveur Web et comprenez les problèmes.Dépannage des services dépendants: Ceux-ci incluent les problèmes liés au réseau, les problèmes liés à l'antivirus, les problèmes liés au pare-feu.

20. Pouvez-vous énumérer les composants clés de DevOps ?

Les composants clés de DevOps sont :

  1. Intégration continue.
  2. Livraison continue.
  3. Microservices.
  4. Infrastructure en tant que code.
  5. Surveillance et journalisation.
  6. Communication et coopération

21. Faire la différence entre un système de contrôle de version centralisé et distribué ?

Contrôle de version centralisé Contrôle de version distribué
Ici, le client doit obtenir une copie locale de la source à partir du serveur, effectuer les modifications et valider les modifications du client dans la source centrale sur le serveur.Ici, chaque client a également une succursale locale et a un historique complet sur celle-ci. Le client doit pousser les modifications vers la branche, qui seront ensuite poussées vers le référentiel du serveur.
Ils sont faciles à apprendre et à configurer.Ils sont difficiles pour les débutants. Diverses commandes doivent être mémorisées.
Travailler sur les branches est difficile dans CVS. Les visages des développeurs fusionnent les conflits.Travailler sur les branches est facile dans DVS. Les développeurs font face à moins de conflits.

22. Pouvez-vous énumérer quelques plates-formes cloud utilisées pour la mise en œuvre de DevOps ?

  1. Services Web Amazon
  2. Google Cloud
  3. Microsoft Azure

23. Nommez la commande git qui peut télécharger n'importe quel référentiel de GitHub sur votre ordinateur ?

Git clone est la commande utilisée pour télécharger n'importe quel référentiel à partir de GitHub à l'ordinateur.

24. Énumérez les avantages d'utiliser un système de contrôle de version ?

Certains des avantages de l'utilisation du contrôle de version sont répertoriés ci-dessous :

    Sauvegardes automatiques: Si vous supprimez accidentellement certains fichiers, vous pouvez les restaurer. Si vous avez modifié quelque chose et souhaitez l'annuler, VCS peut le faire.Partage sur plusieurs ordinateurs: Les VCS sont conçus de manière à aider plusieurs personnes à éditer les fichiers texte de manière interactive. Cela facilite le partage entre plusieurs ordinateurs.Contrôle de version et branchement : Supposons que vous ayez publié des notes de cours au format pdf et que vous souhaitiez corriger d'autres fautes de frappe tout en travaillant simultanément sur les notes pour l'année prochaine. Aucun problème. Vous n'avez qu'à corriger les fautes de frappe une seule fois, puis VCS les combinera avec les autres versions.

25. Différencier dépôt nu et dépôt Git ?

Un référentiel Git nu peut être défini comme un référentiel créé sans arbre de travail. Vous n'avez pas à travailler directement dans le référentiel distant, il n'y a donc pas de concept d'arborescence de travail, juste des données de référentiel nues.

Un dépôt Git est un. git/ dossier à l'intérieur du projet. Ce référentiel nous aide à suivre toutes les modifications apportées aux fichiers du projet. Cela construit une histoire au fil du temps. Cela signifie que si vous supprimez un. git/ dossier, puis vous supprimez également l'historique du projet.

26. Qu'est-ce qu'une marionnette dans DevOps ?

Puppet peut être défini comme un outil de gestion et de déploiement de configuration logicielle open source. Il est généralement utilisé sur Linux et Windows pour extraire des chaînes sur différents serveurs d'applications à la fois.

27. Nommez la commande CLI utilisée pour renommer les fichiers ?

Git mv est la commande CLI utilisée pour renommer les fichiers.

28. Qu'est-ce que la construction ?

Le développement de logiciels W.R.T, la construction, fait référence au processus de conversion de fichiers et d'autres actifs sous la responsabilité d'un développeur en produit logiciel dans sa forme finale.

29. Faire la différence entre Git Fetch et Git Pull ?

Récupération de Git Git-Pull
Il s'agit d'une commande qui indique à votre git local de récupérer les dernières informations de métadonnées à partir de l'original.Il apporte les modifications depuis le référentiel distant.
Il télécharge uniquement les nouvelles données à partir d'un référentiel distantIl met à jour la branche HEAD actuelle avec les nouvelles modifications du serveur distant
Il n'intègre aucune nouvelle donnée dans les fichiers de travailIl télécharge de nouvelles données et les intègre aux fichiers de travail actuels

30. Définir l'authentification à deux facteurs ?

L'authentification à deux facteurs est une technique de sécurité où l'utilisateur doit fournir deux facteurs d'authentification différents pour les vérifier.

Questions et réponses de l'entretien DevOps

31. Définir Git Stash ?

Cachette Git

Considérez un scénario dans lequel vous souhaitez changer de branche, mais vous travaillez sur la partie incomplète de votre projet. Vous ne voulez pas vous engager dans le travail à moitié fait. Git stashing nous permet de le faire. La commande git stash nous permet de valider la branche actuelle sans changer de branche.

La figure ci-dessus montre les propriétés et le rôle du stockage.

Git enregistre temporairement les données en toute sécurité sans engagement. Stashing prend l'état désordonné du répertoire de travail et du conflit de fusion et l'enregistre temporairement pour une utilisation future.

32. Définissez le terme Canary Release ?

La version Canary est un processus visant à réduire le risque d'introduction de la nouvelle version logicielle dans la production en appliquant lentement les modifications à un petit sous-ensemble d'utilisateurs avant de la déployer sur l'ensemble de l'infrastructure et de la rendre accessible à tous.

33. Qu'est-ce que la création de branches dans Git ?

La création de branches est une fonctionnalité disponible dans les systèmes de contrôle de version modernes. Au lieu de copier les fichiers du répertoire vers l'autre répertoire, Git stocke généralement une branche comme référence à un commit. Ici, une branche définit la pointe d'une série de commits (ce n'est pas un conteneur pour les commits).

34. Qu'est-ce que le vagabond ?

Un vagabond peut être défini comme un outil de construction et de gestion machine virtuelle environnements dans un seul flux de travail. Vagrant réduit le temps de configuration de l'environnement de développement et augmente la parité de production.

35. Différencier Git Merge et Git Rebase ?

Allez fusionner Rebase Git
Il ne réécrit pas l'historique des commits.Il réécrit l'historique des commits.
Il applique tous les commits uniques de la branche.Il obtient tous les commits uniques des deux branches et les applique les uns après les autres.

36. Comment les conflits de fusion peuvent-ils être résolus dans Git ?

Un conflit de fusion peut être défini comme un événement qui se produit lorsque Git n'est pas en mesure de résoudre automatiquement les différences de code entre les deux commits.

Git fusionnera automatiquement les modifications lorsque les commits se trouveront sur différentes lignes ou branches.

Pour résoudre les conflits de fusion, suivez les étapes indiquées :

  1. Ouvrez le Git Bash.
  2. Accédez au référentiel Git local qui a le conflit de fusion.
  3. Générez une liste des fichiers affectés par le conflit de fusion.
  4. Ouvrez l'éditeur de texte, comme Atom, et accédez au fichier qui contient les conflits de fusion.
  5. Pour voir le point de départ du conflit de fusion, recherchez dans le fichier le marqueur de conflit<<<<<<<. When you open the file in the text editor, you will notice the changes from the HEAD or the base branch after the line <<<<<<>>>>>> NOM DE BRANCHE.
  6. Ensuite, décidez soit de ne conserver que les modifications de votre branche, soit de ne conserver que les modifications de l'autre branche, qui peuvent intégrer les modifications des deux branches. Maintenant, vous pouvez supprimer les marqueurs de conflit<<<<<<>>>>>> et apportez les modifications nécessaires que vous souhaitez dans la fusion finale.
  7. Mettez en scène vos changements.
  8. Enfin, validez vos modifications avec un commentaire.

37. Nommez la commande qui peut trouver une liste de fichiers qui ont été modifiés dans un commit particulier ?

Git diff-tree –r {commit hash} est la commande qui peut trouver la liste des fichiers qui ont été modifiés.

38. Expliquez comment le code d'infrastructure est exécuté dans AWS ?

L'infrastructure en tant que code résout les anciens problèmes tels que la mise en place et la configuration des ressources informatiques qui étaient un processus manuel et sujet aux erreurs. Aujourd'hui, nous sommes en mesure de définir un fichier de configuration et de faire tourner les ressources informatiques de manière cohérente, automatique et prévisible à partir de ce fichier.

Sur AWS, le service CloudFormation fournit les fonctionnalités Infrastructure as Code. CloudFormation utilise des modèles et des fichiers de configuration définis au format JSON ou YAML, qui sont au format lisible par l'homme et peuvent être facilement modifiés, que vous pourrez ensuite utiliser pour spécifier les ressources que vous souhaitez configurer.

Voir également Top 100 des questions et réponses d'entrevue Ansible

39. C'est quoi Chef ?

Chef peut être défini comme une technologie de gestion de la configuration utilisée pour automatiser le provisionnement de l'infrastructure. Il a été développé sur la base du langage Ruby DSL. Dans DevOps, nous utilisons Chef pour déployer et gérer les serveurs et les applications en interne et sur le cloud.

40. Pouvez-vous expliquer l'architecture Maître-Esclave de Jenkins ?

Architecture maître-esclave de Jenkins

Jenkins utilise l'architecture maître-esclave pour gérer les builds distribués. Dans cette architecture Jenkins, Maître et Esclave communiquent via le protocole TCP/IP.

Maître Jenkins

Le serveur Jenkins principal est le maître. Le maître a les tâches mentionnées suivantes à gérer :

  1. Il planifie les tâches de build.
  2. Il enverra les builds aux esclaves pour une exécution réelle.
  3. Il surveillera les esclaves en ligne et hors ligne selon les besoins.
  4. Il enregistre et présente les résultats de la génération.
  5. Une instance Master de Jenkins peut exécuter directement les tâches de build.

Jenkins Esclave

Un esclave peut être défini comme un exécutable Java qui s'exécutera sur une machine distante.

Les caractéristiques de Jenkins Les esclaves sont :

  1. Il reçoit les requêtes de l'instance maître Jenkins.
  2. Les esclaves peuvent s'exécuter sur un système d'exploitation différent.
  3. L'objectif principal d'un esclave est d'effectuer les tâches qui lui ont été confiées, ce qui inclut l'exécution des tâches de construction envoyées par le maître.
  4. Nous pouvons configurer un projet pour qu'il s'exécute sur une machine esclave particulière, ou simplement nous pouvons laisser Jenkins choisir l'esclave disponible.

Questions et réponses de l'entretien DevOps

41. Mentionnez le Prérequis DevOps ?

  1. Compréhension des conteneurs.
  2. Vous devez comprendre les outils et technologies DevOps.
  3. Il faut avoir une connaissance des langages de script.
  4. Vous devriez obtenir une formation et une certification DevOps.
  5. Bonne connaissance des outils d'automatisation.
  6. Essais pratiques.
  7. Excellentes compétences en communication et en collaboration
  8. Bonne connaissance des fondamentaux du réseautage.

42. Définir Jenkinsfile ?

Un fichier Jenkins peut être défini comme un fichier texte composé de la définition d'un pipeline Jenkins et archivé dans le contrôle de source. Il suppose qu'il existe déjà un référentiel de contrôle de source qui a été configuré pour le projet et qu'un pipeline a déjà été défini dans Jenkins.

43. Citez quelques principaux outils de surveillance du réseau ?

Certains grands surveillance du réseau les outils sont :

  1. Glaçage 2
  2. Wireshark
  3. Nagios
  4. OpenNMS
  5. Splunk

44.Définir les aspects clés du pipeline Jenkins ?

Les concepts suivants sont les aspects clés :

Pipeline : Il s'agit d'un modèle défini par l'utilisateur d'un pipeline de CD. Le code du Pipeline définit l'ensemble du processus de construction, qui comprend les étapes de construction de l'application, de test, puis de livraison.

Nœud : C'est une machine faisant partie de l'environnement Jenkins qui est capable d'exécuter un Pipeline.

Étape : Il définit un sous-ensemble conceptuellement distinct de tâches exécutées tout au long du pipeline, telles que les étapes de construction, de test et de déploiement, et est utilisé par plusieurs plug-ins pour visualiser l'état du pipeline Jenkins.

Étape: Une seule tâche, essentiellement une étape, indique à Jenkins ce qu'il doit faire à un moment précis.

45. Expliquer les étapes pour activer le son de connexion au démarrage dans Ubuntu ?

Pour activer le son de démarrage dans Ubuntu, suivez les étapes :

  1. Lancez le Demande de démarrage utilitaire depuis le tableau de bord.
  2. Ensuite, cliquez sur Ajouter pour ajouter le nouveau programme de démarrage et :

Remplissez le Nom et Commenter des boites.

  1. Pour jouer n'importe quel autre .ogg , .oga , son lors de la connexion, vous pouvez utiliser la commande paplay dans le Commander boîte.

46. ​​Nommez les deux types de pipelines dans Jenkins ?

Pipeline scripté : Il est principalement basé sur le script Groovy en tant que langage spécifique au domaine. Un ou plusieurs blocs de nœuds effectuent le travail de base tout au long du pipeline.

Pipeline déclaratif : Il fournit une syntaxe basique et conviviale pour définir le pipeline. Où le bloc de pipeline spécifie le travail effectué tout au long du pipeline

47. Comment obtenir la couleur actuelle de l'écran actuel sur le bureau Ubuntu ?

Vous devez ouvrir l'image d'arrière-plan dans l'éditeur d'images Gimp et utiliser l'outil pipette pour sélectionner la couleur souhaitée sur un point spécifique. Il donne la valeur RVB de la couleur à ce point spécifié.

48. Comment créer une sauvegarde dans Jenkins ?

Jenkins dispose d'un plugin de sauvegarde qui peut être utilisé pour sauvegarder les paramètres de configuration liés à Jenkins.

Suivez les étapes ci-dessous pour avoir une sauvegarde :

  1. Cliquez sur Gérer Jenkins et cliquez sur l'option 'Gérer les plugins'.
  2. Dans l'onglet Disponible, recherchez 'Backup Plugin'. Cliquez sur Installer sans redémarrer. et redémarrez l'instance Jenkins
  3. Allez maintenant dans Gérer Jenkins et faites défiler vers le bas pour voir l'option 'Backup Manager'. Clique dessus.
  4. Cliquez sur Configuration.
  5. Ici, le champ important à définir est de nommer le répertoire pour votre sauvegarde. Assurez-vous qu'il se trouve sur l'autre lecteur sur lequel votre instance Jenkins est configurée. Ensuite, cliquez sur le bouton Enregistrer.
  6. Cliquez sur « Sauvegarder la configuration de Hudson » dans l'écran du gestionnaire de sauvegarde pour démarrer la sauvegarde.

49. Définir Memcached ?

Memcaché est un système de mise en cache de mémoire distribuée à usage général. Il est principalement utilisé pour augmenter la vitesse des sites Web dynamiques basés sur une base de données en mettant en cache les données et les objets dans la RAM afin de réduire le nombre de fois qu'une source de données externe doit être lue.

50. Pouvez-vous nommer trois mécanismes de sécurité que Jenkins utilise pour authentifier les utilisateurs ?

  1. Jenkins utilise une base de données interne pour stocker les données et les informations d'identification des utilisateurs.
  2. Jenkins utilise le serveur Lightweight Directory Access Protocol pour authentifier les utilisateurs.
  3. Jenkins se configure pour engager le mécanisme d'authentification utilisé par le serveur d'applications déployé.

Questions et réponses de l'entretien DevOps

51. Mentionnez quelques avantages de Memcached ?

    Temps de réponse inférieurs à la milliseconde: il conserve ses données dans la mémoire principale du serveur ; ils n'ont pas à faire des allers-retours répétés sur le disque.Simplicité et facilité d'utilisation: Il est conçu de manière simple et générique, ce qui le rend puissant et facile à utiliser dans tout développement d'applicationÉvolutivité: Son architecture distribuée et multithread facilite la mise à l'échelleCommunauté: Il s'agit d'un projet open-source soutenu par une communauté dynamique.

52. Comment redémarrer Jenkins manuellement à l'aide de commandes ?

  1. (Jenkins_url)/restart : il redémarre avec force sans attendre que les builds soient terminés.
  2. (Jenkins_url)/safe restart : il permet à toutes les versions en cours de se terminer avant de redémarrer

53. Pouvez-vous partager une seule instance d'un Memcache entre plusieurs projets ?

Oui, nous pouvons partager une seule instance de Memcached entre différents projets. Memcache est une zone de stockage de mémoire et vous pouvez exécuter plusieurs serveurs Memcache. Ainsi, nous pouvons exécuter différents processus Memcache sur le même hôte, et ils sont complètement indépendants.

54. Nommez les différentes exceptions dans Selenium WebDriver ?

Une exception peut être définie comme une erreur qui se produit au moment de l'exécution du programme.

Quelques-unes des exceptions dans le pilote Web Selenium sont :

    WebDriverException: Ici, webdriver agit immédiatement après la 'fermeture' du navigateurTimeoutException: Ici, la commande ne s'est pas terminée dans le temps imparti. Par exemple, l'élément ne s'est pas affiché à l'heure indiquée. Cela se produit lorsque vous travaillez avec des attentes.Exception SessionNotFound :Ici, le pilote Web agit immédiatement après avoir 'quitté' le navigateurNoSuchWindowExceptionNoSuchWindowException: Webdriver bascule vers une fenêtre invalide, qui n'est pas disponible.NoSuchFrameException :Webdriver essaie de passer à un cadre invalide, qui n'est pas disponible.ElementNotSelectableException :Un élément est désactivé, c'est-à-dire qu'il ne peut pas être cliqué ou sélectionné même s'il est présent dans le DOM.

55. Comment minimiser les pannes du serveur Memcached ?

  1. Le code est l'une des options pour minimiser les pannes de serveur car il peut modifier la liste des serveurs Memcached avec moins de travail.
  2. Lorsqu'une instance échoue, plusieurs autres tombent en panne, ce qui augmente la charge sur le serveur de base de données lorsque les données perdues sont rechargées à cause de la demande du client.
  3. Une façon consiste à transférer l'instance de Memcached sur une nouvelle machine en utilisant l'adresse IP de la machine perdue.

56. Pouvez-vous tester une application sur un navigateur Android utilisant du sélénium ?

Selenium peut tester une application sur le navigateur Android à l'aide du pilote Android. Vous pouvez utiliser le framework Selendroid ou Appium pour tester les applications natives, les applications Web dans le navigateur Android.

57. Comment mettre à jour Memcached lorsque les données changent ?

Nous pouvons mettre à jour Memcached par :

  1. Effacer le cache de manière proactive
  2. Réinitialiser le cache

58. Nommez les différents types de tests pris en charge par Selenium ?

Les différents types de tests sont :

Test fonctionel – Il s'agit d'un type de test boîte noire dans lequel les cas de test sont basés sur la spécification du logiciel.

Les tests de régression – Cela aide à trouver de nouvelles erreurs, régressions, etc., dans divers domaines fonctionnels et non fonctionnels du code après la modification.

59. Qu'advient-il des données lorsque le serveur est arrêté dans Memcached ?

Les données stockées dans Memcached sont supprimées car les données stockées dans Memcached ne sont pas durables.

60. Pouvez-vous nous dire quels sont les anti-modèles de DevOps ?

Certains des mythes sur DevOps sont :

  1. DevOps est un processus :
  2. Agile équivaut à DevOps ?
  3. Renommer votre équipe ops/dev/n'importe quelle équipe en tant que DevOps
  4. Démarrez un groupe DevOps distinct.
  5. La prise de contrôle hostile
  6. DevOps est un mot à la mode.
  7. Vendez DevOps comme une solution miracle.
  8. DevOps signifie Développeurs gérant la production.
  9. DevOps est une gestion des versions axée sur le développement.
  10. Nous ne pouvons pas faire de DevOps - Nous sommes uniques.
  11. Nous ne pouvons pas faire de DevOps - Nous avons les mauvaises personnes.
  12. Collaboration quand les choses tournent en rond

Questions et réponses de l'entretien DevOps

61. Décrivez quelques stratégies de branchement ?

    Branchement de fonctionnalités: Un modèle de branche de fonctionnalité conservera toutes les modifications apportées à une fonctionnalité spécifique à l'intérieur de la branche. Lorsque les fonctionnalités sont entièrement testées et validées par des tests automatisés, la branche est ensuite fusionnée dans le maître.Libérer la ramification: Une fois que la branche développée a suffisamment de fonctionnalités pour la version, nous pouvons cloner cette branche pour former la branche Release. La création de cette branche démarrera le prochain cycle de publication, donc aucun nouvel ensemble de fonctionnalités ne pourra être ajouté après ce point. Seules les corrections de bogues et autres tâches orientées vers la version doivent être placées dans cette branche. Une fois qu'elle est prête à être expédiée, la version sera fusionnée dans le maître et elle sera étiquetée avec un numéro de version. De plus, il devrait être fusionné avec la branche de développement, qui peut avoir progressé depuis le lancement de la version.Branchement de tâches :Ici, chaque tâche est implémentée sur sa propre branche qui inclut la clé de tâche dans le nom de la branche. Il devient facile de voir quel code implémente quelle tâche. Vous devez simplement rechercher la clé de tâche dans le nom de la branche.
Voir également Top 100 des questions et réponses d'entrevue JavaScript

62. Qu'est-ce que Git ?

Git peut être défini comme un système de contrôle de version distribué Open Source. Il fournit des fonctionnalités telles que les branches et les fusions. Il possède un référentiel distant qui est stocké sur le serveur et un référentiel local qui est stocké sur l'ordinateur de chaque développeur.

63. Qu'est-ce que Git bisect ?

La commande git bisect est une commande qui permet d'accélérer le processus d'identification des bogues. Cela nous permet d'identifier le problème plus rapidement. Avec git bisect, nous pouvons définir une plage de commits que vous soupçonnez d'avoir un code problématique, puis nous utilisons des méthodes d'élimination binaire pour trouver le problème.

64. Comment configurer un script qui s'exécute chaque fois qu'un référentiel reçoit de nouveaux commits via push ?

Nous avons trois façons de configurer le script pour qu'il s'exécute chaque fois qu'un référentiel reçoit de nouveaux commits via push.

  1. Le crochet de pré-réception dans le référentiel de destination est invoqué lorsque des validations sont poussées vers lui. Tout script lié à ce hook sera exécuté avant la mise à jour de l'une des références. C'est un crochet utile pour exécuter les scripts qui aident à appliquer les politiques de développement.
  2. Le crochet de mise à jour fonctionne de la même manière que le crochet de pré-réception et il est également déclenché avant toute mise à jour. Mais, ce hook de mise à jour n'est appelé qu'une seule fois à chaque fois que le commit a été poussé vers le référentiel de destination.
  3. Le crochet post-réception dans le référentiel est appelé après que les mises à jour ont été acceptées dans le référentiel de destination défini. C'est l'endroit idéal pour configurer les scripts de déploiement simples, envoyer des e-mails de notification aux responsables du référentiel, etc.

65. Qu'est-ce que l'intégration continue ?

L'intégration continue est une pratique consistant à automatiser l'intégration des modifications de code de divers contributeurs dans un seul projet logiciel. Le système de contrôle de version est également complété par d'autres vérifications telles que des tests de qualité de code automatisés et des outils de révision du style de syntaxe, etc.

66. Expliquez les facteurs de succès de l'Intégration Continue ?

  1. Automatisez la construction
  2. Faites en sorte que la construction s'auto-teste
  3. Tout le monde s'engage à la ligne de base tous les jours
  4. Chaque commit doit être construit
  5. Il maintient un référentiel de code
  6. Test dans un clone de l'environnement de production
  7. Facilitez l'obtention des derniers livrables
  8. Chacun peut voir les résultats de la dernière version
  9. Gardez la construction rapide
  10. Déploiement automatisé

67. Énumérez quelques-uns des plugins utiles dans Jenkins ?

  1. Projets Maven 2.
  2. Aller.
  3. Amazon EC2.
  4. Editeur HTML.
  5. Copier l'artefact.
  6. Rejoindre.
  7. Boules vertes.

68. Comment sécuriser Jenkins ?

  1. Assurez-vous que Jenkins est intégré au répertoire des utilisateurs de l'entreprise avec le plugin approprié.
  2. Assurez-vous que la matrice/matrice du projet est autorisée à affiner l'accès.
  3. Automatisez le processus de définition des droits ou privilèges dans Jenkins avec un script personnalisé de contrôle de version.
  4. Assurez-vous que la sécurité globale est activée.
  5. Limitez l'accès physique aux données/dossiers Jenkins.
  6. Assurez-vous d'exécuter périodiquement des audits de sécurité.

69. Expliquez les avantages des tests d'automatisation ?

  1. Cycle de rétroaction plus rapide
  2. L'équipe gagne du temps
  3. Dépenses professionnelles réduites
  4. Couverture de test plus élevée
  5. Réutilisabilité de la suite de tests
  6. Délai de mise sur le marché plus rapide
  7. De meilleures informations
  8. Précision améliorée
  9. Les tests automatisés offrent plus de fonctionnalités
  10. Moins de stress pour l'équipe d'assurance qualité
  11. Déterminez rapidement la stabilité de votre construction
  12. Élimine l'erreur humaine

70. Quels sont les aspects clés des outils de test continu ?

    L'évaluation des risques: Il couvre principalement les tâches d'atténuation des risques, la dette technique et l'optimisation de la couverture des tests pour s'assurer que la construction est prête à passer à l'étape suivante.Analyse de politique:Il s'assure que tous les processus sont alignés sur l'activité croissante de l'organisation.Traçabilité des exigences :Il s'assure que les exigences réelles sont respectées et élimine les retouches. Une évaluation d'objet identifie les exigences qui sont à risque ou qui nécessitent une validation supplémentaire.Analyse avancée: Il utilise l'automatisation dans des domaines tels que l'analyse de code statique et l'évaluation/la hiérarchisation de la portée pour prévenir les défauts et accomplir davantage à chaque itération.Optimisation des tests: Il s'assure que les tests donnent des résultats précis. Les aspects incluent la gestion des données de test, la maintenance des tests et la gestion de l'optimisation des tests.Virtualisation des services :Il s'assure d'accéder aux environnements de test du monde réel.

Questions et réponses de l'entretien DevOps

71. Comment implémenter les tests d'automatisation dans DevOps ?

  1. Vous devez construire les flux d'automatisation progressivement et vous devez augmenter la couverture au fil du temps.
  2. Il faut commencer par tester une chose à la fois.
  3. Vous devez créer des cas de test automatisés indépendants et autonomes.
  4. Assurer la propriété collective de l'automatisation des tests.

72. Définir Selenium IDE ?

Selenium IDE, où IDE signifie Integrated Development Environment, est principalement un outil d'enregistrement/d'exécution utilisé par un développeur de cas de test pour développer les cas de test Selenium. Selenium IDE est un outil très facile à utiliser de Selenium Test Suite, et il peut également être utilisé par quelqu'un qui est nouveau dans le développement de cas de test automatisés pour ses applications Web.

73. Différencier Asset Management et Configuration Management ?

La gestion d'actifs Gestion de la configuration
Elle est liée aux finances.Elle est liée aux opérations.
Il conserve les données pour les impôts.Il conserve les données pour le dépannage.
Le cycle de vie comprend de l'achat à l'élimination.Le cycle de vie comprend du déploiement au retrait.

74. Définir les manifestes de marionnettes ?

Un manifeste peut être défini comme un fichier contenant le langage de configuration Puppet qui décrit comment les ressources doivent être configurées. Le manifeste est l'une des choses les plus proches de ce que l'on pourrait considérer comme un programme Puppet. Il déclare les ressources qui définissent l'état à appliquer sur un nœud.

75. Définir une ressource dans Chef ?

La ressource Chef indique un élément du système d'exploitation dans l'état souhaité. Il s'agit d'une déclaration de stratégie de configuration qui spécifie l'état souhaité du nœud auquel vous souhaitez transférer la configuration actuelle pour utiliser les fournisseurs de ressources.

76. Définir la recette dans Chef ?

Les recettes fonctionnent comme une collection de ressources qui peuvent déterminer la configuration ou la politique de ce nœud, avec des ressources comme élément de configuration de la recette. Pour qu'un nœud exécute une recette, il doit figurer sur la liste d'exécution de ce nœud.

77. Définir le module Ansible ?

Un module est un script unique réutilisable qui s'exécute en votre nom, localement ou à distance. Les modules interagissent avec la machine locale, une API ou un système distant pour effectuer certaines tâches telles que la modification des mots de passe de la base de données ou la création d'une instance cloud.

78. Qu'est-ce que Nagios ?

Nagios est principalement utilisé pour la surveillance continue des systèmes, des services, des applications et des processus métier, etc., dans la culture DevOps. Nagios fonctionne essentiellement sur un serveur, en tant que démon ou service. Il exécute également périodiquement des plugins qui résident sur le même serveur. Ils contactent les hôtes sur les serveurs sur Internet.

79. Que sont les plugins dans Nagios ?

Les plugins sont des extensions uniques de Nagios Core qui peuvent permettre de surveiller tout et n'importe quoi avec le Core. Les plugins traitent généralement les arguments de ligne de commande, effectuent une certaine vérification, puis renvoient les résultats à Nagios Core.

80. Définir le contrôle passif dans Nagios ?

Les vérifications passives sont lancées et exécutées par des applications/processus externes, et les résultats des vérifications passives sont soumis à Nagios pour traitement.

Questions et réponses de l'entretien DevOps

81. Nommez les trois principales variables qui affectent la récursivité et l'héritage dans Nagios ?

  1. Nom
  2. Utiliser
  3. S'inscrire

82. Quel type de test préférez-vous pour vous assurer que le nouveau service est prêt pour la production ?

Je préférerais effectuer des tests continus pour m'assurer que le nouveau service est prêt pour la production.

83. Définir l'outil SubGit ?

SubGit nous aide à migrer SVN vers Git. Cela nous permet de construire un miroir Git inscriptible d'un dépôt Subversion distant ou local.

84. Pourquoi utilisons-nous des certificats SSL dans Chef ?

  1. Les certificats SSL sont principalement utilisés entre le serveur Chef et le client pour s'assurer que chaque nœud a accès aux bonnes données.
  2. Chaque nœud a une paire de clés privée et publique. La clé publique est généralement stockée sur le serveur Chef.
  3. Lorsque nous certifions SSL au serveur, il contient la clé privée du nœud.
  4. Le serveur compare ensuite cela à la clé publique pour identifier le nœud et donner au nœud l'accès aux données spécifiées.

85. Nommez la commande utilisée pour arrêter ou désactiver le service « httpd » lorsque le système démarre ?

systemctl désactiver httpd.service

86. Définir la classe dans Puppet ?

Les classes dans Puppet sont des blocs nommés de code Puppet qui sont généralement stockés dans des modules et sont appliqués ultérieurement lorsqu'ils sont appelés par leur nom. Nous pouvons ajouter des classes au catalogue d'un nœud en les déclarant dans vos manifestes ou en les affectant à partir d'un classificateur de nœud externe (ENC).

87. Énumérez la meilleure façon de rendre le contenu réutilisable ou redistribuable ?

Nous avons trois façons de rendre le contenu réutilisable/redistribuable dans Ansible :

  1. Les rôles sont principalement utilisés pour gérer les tâches dans un playbook. Ils peuvent être facilement partagés via Ansible Galaxy.
  2. Nous utilisons include pour ajouter un sous-module ou un autre fichier au playbook. Cela signifie qu'un code écrit une seule fois peut être ajouté à plusieurs playbooks.
  3. import est une amélioration de l'inclusion, qui garantit qu'un fichier n'est ajouté qu'une seule fois. Ceci est utile lorsque la ligne est exécutée de manière récursive.

88. Expliquez le harcèlement d'État à Nagios ?

Il est principalement utilisé à des fins de journalisation. Lorsque le harcèlement est autorisé pour un hôte ou un service spécifique, Nagios surveillera attentivement cet hôte ou ce service spécifié et enregistrera tout changement qu'il verra dans la sortie des résultats de la vérification.

89. Énumérez quelques fonctionnalités importantes de Memcached ?

    CAS Tokens:Il est attaché à un objet qui est extrait d'un cache. Vous pouvez utiliser ce jeton pour enregistrer l'objet mis à jour.Rappels :ça simplifie le codegetDelayed :Il est utilisé pour réduire le temps de retard du script, qui attend que les résultats reviennent d'un serveurProtocole binaire :Nous pouvons utiliser le protocole binaire au lieu d'ASCII avec le nouveau clientIgbinaire :Auparavant, un client faisait la sérialisation de la valeur avec les données complexes, mais avec Memcached, nous pouvons utiliser l'option igbinary.

90. Définir l'effet Dogpile ?

L'effet Dogpile peut être qualifié d'événement lorsqu'un cache expire et que les sites Web sont touchés par les multiples demandes effectuées par le client en même temps. Cet effet est empêché en utilisant un verrou de sémaphore. Ici, dans ce système, lorsque la valeur expire, le premier processus obtient le verrou et commence à générer de nouvelles valeurs.

Questions et réponses de l'entretien DevOps

91. Définir l'architecture de Docker ?

  1. Docker utilise l'architecture client-serveur.
  2. Docker Client est généralement un service qui exécute la commande. La commande est traduite à l'aide de l'API REST et est envoyée au serveur Docker Daemon.
  3. Docker Daemon accepte ensuite la demande et interagit avec le système d'exploitation pour créer les images Docker et exécuter les conteneurs Docker.
  4. Une image Docker est définie comme un modèle d'instructions utilisées pour créer des conteneurs.
  5. Le conteneur Docker est le package exécutable d'une application et de ses dépendances ensemble.
  6. Le registre Docker est le service permettant d'héberger et de distribuer des images Docker parmi les utilisateurs.

92. Que sont les Conteneurs ?

Les conteneurs sont une forme de virtualisation légère qui offre une isolation entre les processus.

93. Nommez les outils qui sont utilisés pour la mise en réseau docker ?

  1. Flanelle
  2. Projet Calico
  3. Filet tissé
  4. Canaliser
  5. Réseaux Big Switch

94. Qu'est-ce que le CBD ?

Le développement basé sur les composants (CBD) est une façon unique d'aborder le développement de produits. Ici, les développeurs recherchent toujours des composants déjà bien définis, testés et vérifiés pour les composer et les assembler en un produit au lieu de le développer à partir de zéro.

95. Nommez les domaines où DevOps est mis en œuvre ?

  1. Production
  2. Développement de logiciels
  3. Opérations informatiques
  4. Retour de production

96. Définir Test de résilience ?

Les tests de résilience logicielle peuvent être définis comme une méthode de test logiciel qui vise à garantir que les applications fonctionneront bien dans des conditions réelles ou chaotiques. Étant donné que les pannes ne peuvent jamais être évitées, les tests de résilience garantissent que le logiciel peut continuer à exécuter les fonctions de base et éviter la perte de données même en cas de stress. .

97. Qu'est-ce que la grille de sélénium ?

Selenium Grid peut être défini comme un serveur proxy intelligent qui facilite l'exécution des tests en parallèle sur plusieurs machines.

98. Expliquez le but d'AWS dans DevOps ?

AWS nous aide à utiliser l'automatisation afin que vous puissiez créer plus rapidement et plus efficacement. En utilisant les services AWS, nous pouvons automatiser les tâches ou processus manuels tels que les déploiements, les workflows de développement et de test, la gestion de la configuration.

99. Qu'est-ce que le sélénium ?

Selenium est un framework open source pour tester des applications Web. Selenium fournit l'outil de lecture pour créer des tests fonctionnels sans apprendre un langage de script de test.

100. Définir l'exécuteur du plugin Nagios Remote ?

NRPE nous permet d'exécuter à distance les plugins Nagios sur d'autres machines Linux/Unix. Cela nous permet de surveiller les métriques des machines distantes.

Bonne chance avec votre entretien DevOps. Vous pouvez également consulter notre Questions d'entretien chez Informatica et Questions d'entretien sur l'apprentissage automatique qui pourraient vous être utiles.