Skip to content

Instantly share code, notes, and snippets.

@guilhem
Last active November 19, 2023 10:57
Show Gist options
  • Save guilhem/666a6274a0c6864dcf0043f39465014b to your computer and use it in GitHub Desktop.
Save guilhem/666a6274a0c6864dcf0043f39465014b to your computer and use it in GitHub Desktop.
Questions pour évaluer au DevOps (2023)

What was a key aspect of the origin story of DevOps? a) The invention of the internet. b) The widespread adoption of cloud computing. c) A secret society of developers and operations staff. d) The discovery of coffee as a productivity booster.

When was the Agile Manifesto first introduced? A) 1999 B) 2001 C) 2005 D) 2010 (Correct Answer: B) 2001

What year is marked as the beginning of AWS, signaling the birth of cloud computing? A) 2004 B) 2006 C) 2008 D) When cats first discovered the internet (Humorous Option) (Correct Answer: B) 2006

Which of the following is not a benefit of open-source software?

A) Security B) Affordability C) Interoperability D) Time Travel (Correct Answer: D) Time Travel

Who is often credited with coining the term 'DevOps'?

A) Gene Kim B) Andrew Clay Shafer C) Patrick Debois D) Elon Musk, in a secret coding session on Mars (Correct Answer: C) Patrick Debois

What is the primary purpose of 'Blackbox' in the DevOps workflow?

A) To detect network issues B) To identify what is broken in the system C) To encrypt sensitive data D) To play mystery games during breaks (Humorous Option) (Correct Answer: B) To identify what is broken in the system

Which aspect of the workflow is targeted by 'Semantic Versioning (SemVer)'?

A) Determining the security protocols B) Managing software versions and updates C) Ensuring code readability D) Naming new coffee flavors in the office (Correct Answer: B) Managing software versions and updates

What is the primary goal of 'Source Control'?

A) To control access to the server room B) To manage changes to documents, programs, and other information stored as computer files C) To monitor internet usage D) To decide who gets the remote control in meetings (Correct Answer: B) To manage changes to documents, programs, and other information stored as computer files

What is a fundamental principle of 'Lean Software Development'?

A) Prioritizing high-quality graphics B) Focusing on customer feedback C) Eliminating unnecessary processes and tasks D) Ensuring that every developer has the latest gadgets (Correct Answer: C) Eliminating unnecessary processes and tasks

In general, what does 'Amplify Learning' mean in software development?

A) Expanding the technical skill set of the team B) Encouraging continuous learning and adaptation C) Increasing the number of training seminars attended by staff D) Learning exotic dance moves for team-building events (Correct Answer: B) Encouraging continuous learning and adaptation

What is a major benefit of 'Automation' in the field of software development and DevOps?

A) Enhancing the social media presence of developers B) Reducing manual workload and improving efficiency C) Ensuring longer vacation times for employees D) Automating the process of making coffee (Correct Answer: B) Reducing manual workload and improving efficiency

Why is 'Containerization' important in modern software development?

A) It helps in playing video games more efficiently B) It allows for consistency across different environments C) It makes software look more visually appealing D) It's essential for storing physical goods (Correct Answer: B) It allows for consistency across different environments

What is the purpose of 'Blue/Green Deployment' in software development?

A) It is a color-coding system for coding tasks B) It helps in reducing downtime and risk by running two identical production environments C) It's used for environmental awareness in coding practices D) It decides the office decor colors (Correct Answer: B) It helps in reducing downtime and risk by running two identical production environments

What is the primary goal of implementing CI/CD in software development?

A) To create more coffee breaks for developers B) To enable frequent and reliable code changes with minimal human intervention C) To increase the number of meetings and reports D) To ensure every developer has their personal DJ in the office (Correct Answer: B) To enable frequent and reliable code changes with minimal human intervention

What is the main purpose of using 'Canary Deployments' in software development?

A) To test new features with a small group of users before wider release B) To design software specifically for bird enthusiasts C) To enhance the graphical interface of applications D) To determine who the 'canary in the coal mine' is in the office (Correct Answer: A) To test new features with a small group of users before wider release

How do 'Feature Flags' contribute to software development?

A) They are used to mark locations for future team picnics B) They enable developers to turn certain features on or off without deploying new code C) They improve the security of software by flagging suspicious activities D) They decide the theme of office decorations (Correct Answer: B) They enable developers to turn certain features on or off without deploying new code

Why is 'Site Reliability Engineering (SRE)' important in DevOps?

A) It ensures that every website looks aesthetically pleasing B) It blends software engineering and systems engineering to build and run large-scale, fault-tolerant systems C) It focuses solely on the speed of development D) It organizes office parties (Correct Answer: B) It blends software engineering and systems engineering to build and run large-scale, fault-tolerant systems

What is the purpose of implementing a 'Blameless Postmortem' in DevOps culture?

A) To find and punish the person responsible for a system failure B) To understand and learn from failures without personal blame C) To keep track of employee mistakes for performance reviews D) To decide who brings snacks to the next meeting (Correct Answer: B) To understand and learn from failures without personal blame

What role does 'Chaos Engineering' play in DevOps?

A) It is used to create confusing code for competitors B) It helps in identifying weaknesses in systems by deliberately introducing chaos C) It is solely for testing the patience of the IT staff D) It's a method for deciding who gets the last donut (Correct Answer: B) It helps in identifying weaknesses in systems by deliberately introducing chaos

How does 'Implementing Gradual Changes' benefit DevOps practices?

A) It allows for more frequent coffee breaks B) It reduces the impact of changes and allows for easier troubleshooting C) It slows down the development process for better work-life balance D) It's a technique for incrementally increasing the length of meetings (Correct Answer: B) It reduces the impact of changes and allows for easier troubleshooting

How does 'Silos' affect DevOps practices?

A) They enhance collaboration across different departments B) They create barriers to communication and collaboration between teams C) They are used for storing large amounts of data physically D) They are meeting places for secret team gatherings (Correct Answer: B) They create barriers to communication and collaboration between teams

What impact does a 'Blame Culture' have in a DevOps environment?

A) It fosters creativity and innovation B) It encourages open communication and learning from mistakes C) It leads to hiding errors and avoiding responsibility D) It determines who gets blamed for finishing the coffee (Correct Answer: C) It leads to hiding errors and avoiding responsibility

What is the primary benefit of implementing Infrastructure as Code (IaC) in DevOps?

A) It provides an excuse for extra coffee breaks B) It allows for the automated management and provisioning of infrastructure through code C) It is used primarily to impress clients with complex technical jargon D) It determines who has the best coding skills in a rap battle format (Correct Answer: B) It allows for the automated management and provisioning of infrastructure through code

What is the main advantage of using Docker in software development?

A) It's a great way to cook food in the office kitchen B) It enables the creation of lightweight, portable, and self-sufficient containers for software applications C) It's primarily used for game development D) It helps in organizing team sailing trips (Correct Answer: B) It enables the creation of lightweight, portable, and self-sufficient containers for software applications Réduire

  1. Qu’est-ce que DevOps et pourquoi est-ce populaire ?
  • DevOps est une approche culturelle et pratique qui vise à unifier le développement logiciel (Dev) et les opérations informatiques (Ops). C'est populaire, car il améliore la collaboration entre les équipes, accélère le déploiement des logiciels et améliore la stabilité des systèmes.
  1. Quelle différence avec l'Agile ?
  • Agile se concentre sur les méthodes de développement itératives, tandis que DevOps est une approche holistique qui englobe le développement, le déploiement, et la maintenance. Agile est plus orienté vers les équipes de développement, tandis que DevOps intègre les équipes de développement et d'exploitation.
  1. Qu’est-ce que CI/CD et quels sont ses avantages ?
  • CI/CD (Continuous Integration/Continuous Deployment) est une méthodologie qui automatise le processus d'intégration du code et de déploiement des applications. Ses avantages incluent une livraison plus rapide, une détection précoce des erreurs et une meilleure collaboration entre les équipes.
  1. Quelles sont les différentes typologies de tests ?
  • Les typologies de tests comprennent les tests unitaires, les tests d'intégration, les tests de système, les tests de régression, les tests de performance, et les tests de sécurité.
  1. Quels sont les différents types de virtualisation et leurs avantages / inconvénients ?
  • Les types de virtualisation incluent la virtualisation matérielle, la virtualisation logicielle, et la virtualisation de conteneurs. Chacun a ses propres avantages et inconvénients en termes de performance, isolation et flexibilité.
  1. Qu'est-ce que le Cloud ?
  • Le Cloud est une infrastructure informatique basée sur internet qui permet d'accéder à des ressources informatiques à la demande. Cela inclut le stockage, la puissance de calcul, et d'autres services.
  1. Quelle plateforme avez-vous utilisée et leurs avantages / inconvénients ?
  • J'ai utilisé des plateformes telles qu'Amazon Web Services (AWS), Microsoft Azure, et Google Cloud Platform (GCP). Chacune a ses avantages spécifiques en termes de services proposés, de coûts et de facilité d'utilisation.
  1. Expliquez l'architecture de Docker.
  • Docker utilise une architecture de conteneurisation où les applications et leurs dépendances sont encapsulées dans des conteneurs légers, portables et autosuffisants. Cela facilite le déploiement et la gestion des applications.
  1. Qu’est-ce que l’Infra as Code et quels sont ses avantages et inconvénients ?
  • L'Infra as Code consiste à gérer l'infrastructure à l'aide de fichiers de configuration. Ses avantages incluent la reproductibilité et la facilité de gestion, tandis que ses inconvénients résident dans la complexité de mise en place.
  1. Quels tests avez-vous mis en place sur l'IaC ?
  • J'ai mis en place des tests de validation de syntaxe, des tests de conformité aux normes de sécurité, et des tests d'intégration pour m'assurer que l'IaC fonctionne correctement.
  1. Quelle différence entre Terraform, Ansible et Dockerfile ?
  • Terraform est utilisé pour définir et provisionner l'infrastructure, Ansible pour la configuration, et Dockerfile pour la création d'images Docker.
  1. Quelle est la différence entre Git merge et Git rebase ? pour quels usages ?
  • Git merge fusionne les modifications de deux branches, tandis que Git rebase déplace les modifications d'une branche sur une autre de manière linéaire. Le choix dépend de la préférence d'historique et de la collaboration avec d'autres développeurs.
  1. Que sont les stratégies de branchement que vous avez utilisées et pourquoi ?
  • J'ai utilisé des stratégies comme GitFlow pour des projets plus complexes, et GitHub flow pour des projets plus simples, en fonction des besoins de gestion des versions.
  1. Quelles sont les étapes préalables au merge d'une PR ?
  • Avant le merge d'une PR, les étapes incluent la code-review pour assurer la qualité du code. L'exécution des tests automatisés pour vérifier l'intégrité du code. La validation fonctionnelle pour s'assurer de la conformité aux exigences. La résolution des commentaires. L'approbation de la PR par les pairs. Et enfin, la validation des intégrations pour garantir la compatibilité avec le code existant.
  1. Qu'est-ce que peut apporter les features flags ?
  • Les feature flags offrent la possibilité de déployer du code dans la production tout en le maintenant caché aux utilisateurs. Cela permet un déploiement progressif, des tests A/B, et la possibilité de désactiver rapidement une fonctionnalité en cas de problème, offrant ainsi une meilleure flexibilité et une gestion des risques améliorée.
  1. Comment définirez-vous l'observabilité ?
  • L'observabilité se réfère à la capacité à mesurer, surveiller et comprendre le fonctionnement interne d'un système, généralement à l'aide de journaux, de métriques et de traces.
  1. Quels sont les outils d'observabilité que vous avez pu utiliser et leurs avantages / inconvénients ?
  • J'ai utilisé des outils tels que Prometheus, Grafana et ELK Stack. Chacun a ses avantages en termes de fonctionnalités de surveillance, mais peut varier en complexité d'installation et de configuration.
  1. Quels sont les impacts de la mise en place de SLOs ?
  • La mise en place de SLOs (Service Level Objectives) permet de définir des objectifs de performances et de disponibilité, influençant positivement la qualité du service et la satisfaction client.
  1. Comment expliqueriez-vous Kubernetes ?
  • Kubernetes est un orchestrateur de conteneurs open source qui facilite le déploiement, la mise à l'échelle et la gestion d'applications conteneurisées. Il automatise les opérations liées aux conteneurs.
  1. Quelles nouvelles pratiques DevOps k8s permet-il ?
  • Kubernetes (k8s) permet de nouvelles pratiques DevOps telles que les déploiements déclaratifs avec GitOps, facilitant la gestion du cycle de vie des applications. De plus, l'utilisation de Service Mesh améliore la gestion du trafic réseau et la sécurité, tandis que les déploiements Canary offrent une approche progressive des mises à jour, minimisant les risques.
  1. Citez quelques KPI de mise en place du DevOps.
  • Quelques KPIs incluent le temps de déploiement, la fréquence des déploiements, le temps de récupération après incident, et la stabilité du système. Ces mesures aident à évaluer l'efficacité de la mise en place de DevOps. Il est possible de mettre en place les DORA Metrics.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment