20 August 2021

#CICD

What is Continuous Integration? What is Continuous Deployment? What is Continuous Delivery? What CI/CD best practices are you familiar with? Or what do you consider as CI/CD best practice? What is a Software Repository? What ways are there to distribute software? What are the advantages and disadvantages of each method? What is caching? How does it works? Why is it important? What is Reliability? How does it fit DevOps? What "Availability" means? What means are there to track Availability of a service? What types of tests are you familiar with? What is Chaos Engineering? What is "infrastructure as code"? What implementation of IAC are you familiar with? What Continuous Integration solution are you using/prefer and why? What deployment strategies are you familiar with or have used? What do you think about the following sentence?: "implementing or practicing DevOps leads to more secure software" What is a configuration drift? What problems is it causing? What is Distributed Tracing? What is GitOps? Explain mutable vs. immutable infrastructure Explain "Software Distribution" Explain stateless vs. stateful Explain "Open Source" Explain test-driven development (TDD) Explain agile software development Explain Declarative and Procedural styles. The technologies you are familiar with (or using) are using procedural or declarative style? Why are there multiple software distributions? What differences can they have? How a web server works? How do you manage build artifacts? How do you perform plan capacity for your CI/CD resources? (e.g. servers, storage, etc.) How would you structure/implement CD for an application which depends on several other applications? How do you measure your CI/CD quality? Are there any metrics or KPIs you are using for measuring the quality? How to deal with a configuration drift? Where do you store CI/CD pipelines? Why? Are you familiar with "The Cathedral and the Bazaar models"? Explain each of the models Can you describe an example of a CI (and/or CD) process starting the moment a developer submitted a change/PR to a repository? Describe the workflow of setting up some type of web server (Apache, IIS, Tomcat, ...) Describe me the architecture of service/app/project/... you designed and/or implemented Do you know what is a "post-mortem meeting"? What is your opinion on that? Do you have experience with testing cross-projects changes? (aka cross-dependency) Have you contributed to an open source project? Tell me about this experience Would you prefer a "configuration->deployment" model or "deployment->configuration"? Why? You are given a pipeline and a pool with 3 workers: virtual machine, baremetal and a container. How will you decide on which one of them to run the pipeline? You need to install periodically a package (unless it's already exists) on different operating systems (Ubuntu, RHEL, ...). How would you do it? You joined a team where everyone developing one project and the practice is to run tests locally on their workstation and push it to the repository if the tests passed. What is the problem with the process as it is now and how to improve it?

No comments:

Post a Comment

Most views on this month