Azure Devops Interview questions
1. What is DevOps?
Of course, this is one of the first Microsoft Azure DevOps interview questions that you will be asked. The full form of devops is Development and Operation’s Collaboration. It focuses on the 3Ps—Process, People, and (working) Product that stands for continuous integration and continuous delivery of value to end-users.
In simple terms, DevOps, essentially, speeds up the process of delivery of applications and software services. This ability to continuously deliver minimizes the risk factor. This is possible through stakeholder and end-user feedback collection.
2. Why use DevOps?
- This is a common Azure DevOps interview question. Traditional software development always had a slow code deployment time after completion of development. And oftentimes, the Development Team and Operations Team or deployment team would get into arguments regarding its status blaming the server or the code for the issues. This is where DevOps enters with a solution.
- DevOps facilitates the delivery of smaller features to clients in a quick and efficient manner and allows seamless software delivery.
3. How does DevOps work?
DevOps is the process of Operations and Development Engineers who work in collaboration in a complete project lifecycle, from the design and development to product releases and support.
4. What is Azure DevOps?
The process includes testing automation, continuous integration, as well as continuous delivery.
People with both development and operations skills work together and implement various tools for CI-CD and monitoring for quick response to customer’s requirements and fix issues and bugs.
Azure DevOps is the new name for Microsoft VSTS (Visual Studio Team Services) and an application lifecycle management tool. It helps in project planning through Agile tools and templates. Other functionalities include version control of source code, management and execution of test plans, and management of branches.
Additionally, Azure DevOps also helps in solution deployments across various platforms with the help of Azure Pipelines and allows continuous integration and continuous deployment.
5. What are the benefits of DevOps?
- Customer satisfaction
- More engagement and collaboration between Development and Operation teams
- Faster code deployment in the market through continuous integration and delivery
- Faster operational support
- Higher efficiency
- Strong infrastructure and IT performance
- Continuous improvements and reduced failures
- Transparency between teams/li>
- Constant monitoring and better adaption
6. Name a few DevOps tools.
Some popular DevOps tools are:
- Git
- Selenium
- Jenkins
- Puppet
- Chef
- Ansible
- Nagios
- Docker
Keep this GIT Cheat Sheet handy while studying GIT.
7. What are the popular DevOps tools for Continuous Integration and Continuous Deployment?
Azure Pipelines support macOS, Windows, and Linux. Following are a few popular tools for Continuous Integration:
- Jenkins
- TeamCity
- Codeship
- GitLab CI
- CircleCI
- Travis CI
- Bamboo
Following are some of the popular Continuous Deployment tools:
- Jenkins
- Azure Pipelines for Deployment
- DeployBot
- TeamCity
- Bamboo
- ElectricFlow
- AWS CodeDeploy
- Octopus Deploy
- Shippable
8. What are Azure Boards?
Azure Boards is an Azure DevOps service. It helps manage the work in software projects and provides a wide range of functionalities like native support for Kanban and Scrum, customizable dashboards, and integrated reporting. Azure Boards include features like boards, sprints, work items, dashboards, backlogs, queries, etc.
9. What is Azure Repos?
This is a basic Azure DevOps interview question but it can be difficult to answer. Azure Repos is a version control system that can manage the different versions of a code and the code itself throughout the lifecycle of development. It is easy to track any changes in the code made by different teams. It also keeps a detailed record of these changes and the history for better coordination within the team. The changes are then merged at a later stage.
Azure Repos offers a centralized version control system (Team Foundation Version Control) as well as a distributed version control system (Git).
10. What are containers?
Containers provide the means to package software code, its configurations, dependencies, and packages into a single unit or object. Multiple containers can run on the same machine and share OS with other containers for running fast, reliable, and consistent deployments anywhere.
11. What containers does Azure DevOps support?
Azure DevOps provides the following container support:
- Docker
- Azure Kubernetes services
- Asp.Net with containers
- Azure Service Fabric application with Docker support
Sign up today for the Azure DevOps Certification offered by Intellipaat.
12. What are Azure Pipelines?
Azure DevOps Pipeline automatically develops and tests code projects. It is a service on the Azure cloud that works well with most project types and languages. This service helps in improving the availability of code projects to other users.
13. What is the use of Selenium in DevOps?
Selenium is used for continuous testing in DevOps. It specializes in forms of regression and functional testing.
14. What are Azure Test Plans?
This is another one of the popular interview questions on Azure DevOps.
Azure Test Plans is a service provided by Azure DevOps. It provides a browser-based test management solution along with crucial capabilities in user acceptance testing, exploratory testing, and planned manual testing. It also includes a browser extension for the provision of exploratory testing as well as feedback from stakeholders.
Exploratory and manual testing are critical methods that consist of the evaluation of product or service quality.
Azure Test Plans, additionally, focus on DevOps on automated testing. It combines the contributions from developers, managers, testers, product owners, and user experience advocates and enhances the quality of a project.
15. What are some important features of Memcached?
Memcached offers a wide variety of features like:
- CAS Tokens
- Callbacks
- GetDelayed
- Binary protocol
- Igbinary
16. What is the Dogpile effect and how can you prevent it?
Dogpile effect or cache stampede indicates the expiry of cache, followed by the website being simultaneously hit by numerous requests. Semaphore lock helps prevent this effect by generating a new value as the cache expires.
17. What is Continuous Testing? What is the use of Test Automation in DevOps?
DevOps is all about people, culture, and automation. Continuous testing plays a crucial role in DevOps. Scripts are written for software testing and made auto executable so that testing can be automated and frequent releases are possible using the delivery pipelines.
18. What is Forking Workflow?
Forking Workflow gives Developers the service-side repositories. It supports open-source projects and is often used together with a Git hosting service like Bitbucket.
19. What are some of the useful plugins in Jenkins.
Following are a few useful Jenkins plugins:
- Amazon EC2
- Maven 2 project
- HTML publisher
- Join
- Copy artifact
- Green Balls
20. Can we move or copy Jenkins from one server to another?
Yes, it is possible. Jenkins can be moved or copied from one server to another. When copying Jenkins, it is possible to move the jobs directory from the older server to the new or the current one. This enables moving an installation by copying in the corresponding job directory.
21. What are Azure DevOps Projects?
Azure DevOps Project is a simplified way to effectively bring existing code and Git repository for the creation of CI and CD pipeline to Azure.
Let’s move on to the next section of advanced Azure DevOps Interview Questions for experienced professionals.
- What is the difference between Azure DevOps Services and Azure DevOps Server?
This is one of the trickier Azure DevOps interview questions. Azure DevOps Services is the cloud service of Microsoft Azure and it offers a highly scalable and reliable hosted service that is globally available. DevOps Server, on the other hand, is an on-premise offering that is on a SQL Server back end.
Enterprises go for the on-premise offering when they want their day within their network or when there is a requirement for accessing SQL Server reporting services that are integrated with Azure DevOps data and tools.
23. What are the different DevOps solution architectures?
Multiple tools and technologies can be leveraged with Azure to design solution architectures for the below DevOps scenarios:
- CI/CD for Azure VMs
- CI/CD for Azure Web Apps
- CI/CD for containers
- DevTest image factory
- Using Azure Web Apps and Jenkins for Java CI/CD
- Using Jenkins and Terraform on Azure Virtual Architecture for immutable infrastructure CI/CD
- Using Jenkins and Kubernetes on Azure Kubernetes Service for Container CI/CD
24. What are the reasons to use CI and CD and Azure pipelines?
Make sure to go through this question as it is one of the important interview questions. Implementing CI and CD pipelines ensures quality and reliable code.
Azure pipelines are there to ensure a secure, easy, and quick way to automate processes for project development as well as their availability. They are completely free for use in public projects and cost-effective for private ones (free 30 hours per month).
Below are a few reasons for using CI/CD and Azure pipelines:
- Supports any platform or language
- Enables work with open-source project>
- Building on Windows, Mac, and Linux machines
- Enables simultaneous deployment to various types of a target
- Integration with GitHub and Azure deployments
25. What should you do to make a NuGet package available to anonymous users outside your organization alongside minimizing the number of publication points?
The answer is the introduction of a new feed for the package. Packages that are hosted in Azure Artifacts, find storage in a feed. Sharing packages with higher scalability and according to requirements can be ensured by setting up permissions on the feed. These multiple feeds enable control of access to packages across four levels. These four levels of access are:
- Owners
- Readers
- Contributors
- Collaborators
26. How can you enable communication between members of the development team working in different locations around the world using Azure DevOps?
For such an application, the isolation of members of different project teams into different communication channels is the first criterion. Additionally, maintaining communication history in the concerned channels is necessary. Effective integration with Azure DevOps is also important for the application and allows one to add external suppliers and contractors to projects. The Microsoft teams have addressed these requirements through their offering of the right capabilities.
Classifying teams allows the creation of different channels by users for the organization of communications according to the topic. Every channel can include a few to thousands of users.
Microsoft Teams provides a guest access feature that allows the invitation of external people to join internal channels for the purpose of meetings, file sharing, and messaging. It helps in B2B project management and can also directly integrate with Azure DevOps.
27. Which feature can be used for the development of a multi-tier application using Azure App Service web apps as the front end and Azure SQL database as the back end?
The appropriate option, in this case, is Application Map in Azure Application Insights. This is because it helps in identifying the performance bottlenecks as well as the failure hotspots in different components of the multi-tier applications.
Application components and the related dependencies are represented by the nodes on the map. Furthermore, it is also capable of providing the status for health KPI and alerts.
28. What can you do to improve the quality of code if there are many unused variables and empty catch blocks?
Selecting “Run PMD” in a Maven build task will do the trick. PMD is a source code analyzer that is capable of identifying common programming errors like unnecessary object creation, unused variables, and empty code blocks.
An Apache Maven PMD Plugin will automatically run the tool on a project’s source code and the detailed code error results are provided on the site report
29. What are the necessary components for the integration of Azure DevOps and Bitbucket?
The integration of Azure DevOps and Bitbuckets requires a self-hosted agent and an external Git service connection. Since GitLab CI/CD is compatible with GitHub and Bitbucket. Instead of moving an entire project to GitLab, it is possible to connect the external repository. One can make use of GitLab CI/CD in this manner.
30. Explain Pair Programming with reference to DevOps.
Pair programming is an engineering practice of Extreme Programming Rules. It involves two programmers working on the same system and on the same design/code/algorithm.
One programmer can be the driver and the other as the observer and constantly monitor the progress of a project and identify problems. The roles can be removed at any moment without prior intimation.
31. What is AWS in DevOps?
AWS is Amazon’s cloud service platform that lets users carry out DevOps practices easily. The tools provided will help immensely to automate manual tasks, thereby assisting teams to manage complex environments and engineers to work efficiently with the high velocity that DevOps provides.
32. DevOps and Cloud computing: What is the need?
Development and Operations are considered to be one single entity in the DevOps practice. This means that any form of Agile development, alongside Cloud Computing, will give it a straight-up advantage in scaling practices and creating strategies to bring about a change in business adaptability. If the cloud is considered to be a car, then DevOps would be its wheels.
33. Why use AWS for DevOps?
There are numerous benefits of using AWS for DevOps. Some of them are as follows:
AWS is a ready-to-use service, which does not require any headroom for software and setups to get started with.
Be it one instance or scaling up to hundreds at a time, with AWS, the provision of computational resources is endless.
The pay-as-you-go policy with AWS will keep your pricing and budgets in check to ensure that you can mobilize enough and get an equal return on investment.
AWS brings DevOps practices closer to automation to help you build faster and achieve effective results in terms of development, deployment, and testing processes.
AWS services can easily be used via the command-line interface or by using SDKs and APIs, which make it highly programmable and effective.
34. What does a DevOps Engineer do?
A DevOps Engineer is responsible for managing the IT infrastructure of an organization based on the direct requirement of the software code in an environment that is both hybrid and multi-faceted.
Provisioning and designing appropriate deployment models, alongside validation and performance monitoring, are the key responsibilities of a DevOps Engineer.
35. What is CodePipeline in AWS DevOps?
CodePipeline is a service offered by AWS to provide continuous integration and continuous delivery services. Alongside this, it has provisions of infrastructure updates as well.
Operations such as building, testing, and deploying after every single build become very easy with the set release model protocols that are defined by a user. CodePipeline ensures that you can reliably deliver new software updates and features rapidly.
36. What is CodeBuild in AWS DevOps?
AWS provides CodeBuild, which is a fully managed in-house build service, thereby helping in the compilation of source code, testing, and the production of software packages that are ready to deploy. There is no need for management, allocation, or provision to scale the build servers as this is automatically scaled.
Build operations occur concurrently in servers, thereby providing the biggest advantage of not having to leave any builds waiting in a queue.
- What is CodeDeploy in AWS DevOps?
CodeDeploy is the service that automates the process of deploying code to any instances, be it local servers or Amazon’s EC2 instances. It helps mainly in handling all of the complexity that is involved in updating the applications for release.
The direct advantage of CodeDeploy is its functionality that helps users rapidly release new builds and model features and avoid any sort of downtime during this process of deployment.
38. What is CodeStar in AWS DevOps?
CodeStar is one package that does a lot of things ranging from development to build operations to provisioning deploy methodologies for users on AWS. One single easy-to-use interface helps the users easily manage all of the activities involved in software development.
One of the noteworthy highlights is that it helps immensely in setting up a continuous delivery pipeline, thereby allowing developers to release code into production rapidly.
39. How can you handle continuous integration and deployment in AWS DevOps?
One must use AWS Developer tools to help get started with storing and versioning an application’s source code. This is followed by using the services to automatically build, test, and deploy the application to a local environment or to AWS instances.
It is advantageous, to start with the CodePipeline to build the continuous integration and deployment services and later on use CodeBuild and CodeDeploy as per need.
40. How can a company like Amazon.com make use of AWS DevOps?
Be it Amazon or any eCommerce site, they are mostly concerned with automating all of the frontend and backend activities in a seamless manner. When paired with CodeDeploy, this can be achieved easily, thereby helping developers focus on building the product and not on deployment methodologies.
Next up on this AWS interview questions and answers for DevOps, we check out a common question that is frequently asked.
41. Name one example instance of making use of AWS DevOps effectively.
With AWS, users are provided with a plethora of services. Based on the requirement, these services can be put to use effectively. For example, one can use a variety of services to build an environment that automatically builds and delivers artifacts. These artifacts can later be pushed to Amazon S3 using CodePipeline. At this point, options add up and give the users lots of opportunities to deploy their artifacts. These artifacts can either be deployed by using Elastic Beanstalk or to a local environment as per the requirement.
42. What is the use of Amazon Elastic Container Service (ECS) in AWS DevOps?
Amazon ECS is a high-performance container management service that is highly scalable and easy to use. It provides easy integration to Docker containers, thereby allowing users to run applications easily on the EC2 instances using a managed cluster.
- What is AWS Lambda in AWS DevOps?
AWS Lambda is a computation service that lets users run their code without having to provision or manage servers explicitly. Using AWS Lambda, the users can run any piece of code for their applications or services without prior integration. It is as simple as uploading a piece of code and letting Lambda take care of everything else required to run and scale the code.
44. What is AWS CodeCommit in AWS DevOps?
CodeCommit is a source control service provided in AWS that helps in hosting Git repositories safely and in a highly scalable manner. Using CodeCommit, one can eliminate the requirement of setting up and maintaining a source control system and scaling its infrastructure as per need.
45. Explain Amazon EC2 in brief.
Amazon EC2, or Elastic Compute Cloud as it is called, is a secure web service that strives to provide scalable computation power in the cloud. It is an integral part of AWS and is one of the most used cloud computation services out there, helping developers by making the process of Cloud Computing straightforward and easy.
46. What is Amazon S3 in AWS DevOps?
Amazon S3 or Simple Storage Service is an object storage service that provides users with a simple and easy-to-use interface to store data and effectively retrieve it whenever and wherever needed.
- What is the function of Amazon RDS in AWS DevOps?
Amazon Relational Database Service (RDS) is a service that helps users in setting up a relational database in the AWS cloud architecture. RDS makes it easy to set up, maintain, and use the database online.
48. How is CodeBuild used to automate the release process?
The release process can easily be set up and configured by first setting up CodeBuild and integrating it directly with the AWS CodePipeline. This ensures that build actions can be added continuously, and thus, AWS takes care of continuous integration and continuous deployment processes.
- Can you explain a build project in brief?
The appropriate build environment
A build project is an entity with the primary function to integrate with CodeBuild to help provide it the definition needed. This can include a variety of information such as:
- The location of source code
- Which build commands to run
- The location to store the output
50. How is a build project configured in AWS DevOps?
A building project is configured easily using Amazon CLI (Command-line Interface). Here, users can specify the above-mentioned information, along with the computation class that is required to run the build, and more. The process is made straightforward and simple in AWS.
51. What is DevOps?
DevOps is Development and Operation’s Collaboration, it’s a Union of 3Ps – Process, People and Product (working Product) that enable continuous integration and continuous delivery of value to our end users. DevOps accelerate the process to deliver applications and software services at high speed and high velocity. So that organization can learn and adopt to the market at its earliest. Also, it minimizing the risk factor by continuously delivering and getting end users and stakeholders feedback at the early stages.
52. What is the need for DevOps?
In Traditional software development, after completing the development part, the code deployment time was huge. And many times, we heard the common fights between the Development Team and Operations Team or deployment team that it works fine on our system, it’s the sever causing problem and operation team defenses it’s not your server it’s your code, Right? Well, DevOps solves the Traditional Dev and Ops fights by breaking the wall of confusion.
53. How DevOps Works?
DevOps is the practice of operations and development engineers that work together in the entire project lifecycle, from the design and development process to production releases and support.
Starting from design and development to testing automation and from continuous integration to continuous delivery, the team works together to achieve the desired goal. People having both development and operations skill sets working together and use various tools for CI-CD and Monitoring to respond quickly to customer’s need and fix issues and bugs.
54. What are the benefits of DevOps?
The main benefits of implementing DevOps are:
- Customer Satisfaction.
- More engaged and Collaborative Development and Operation teams.
- DevOps Deploy code faster in the market through Continuous Integration and Continuous Delivery.
- Faster Operational Support.
- Strong Infrastructure Performance and IT performance.
- Less failures and continuous improvement.
- Transparency between the team.
- Constant Monitoring and better adaption.
- Increase efficiency
55. What are the DevOps tools?
To Implement DevOps, Automation plays a major role and we defiantly need some tools for Implementation. Following are the major areas:
- Planning
- Code management
- Build and Testing
- Release management
- Deploy and Monitor
Here’s a list of tools that can help you meet your DevOps requirement perfectly.
56. Which tools are useful for Continuous Integration?
* Azure Pipelines has support for all the platform like Linux, macOS, and Windows also we can consider following tools for the Continuous Integration.
- Jenkins
- TeamCity
- Travis CI
- Bamboo
- GitLab CI
- CircleCI
- Codeship
57. Which tools are useful for Continuous Deployment?
Following are few useful Continuous Deployment tools
- Azure Pipelines for Deployment.
- Jenkins.
- TeamCity.
- Bamboo.
- ElectricFlow.
- Octopus Deploy.
- AWS CodeDeploy.
- DeployBot.
- Shippable.
58. What is InfrastructureConfiguration Which tools are useful for InfrastructureConfiguration?
In today’s fast and competitive market, many companies demand a faster deployment process and Infrastructure Configuration, so treating Infrastructure as software and manage the processes such as version control, continuous integration, deployment and automated testing will make infrastructure changes more rapidly and reliably.
Following are the most popular tools for Infrastructure Configuration.
- Chef
- Puppet
- Ansible
59. What is Continuous Testing? What is the use of Test Automation in DevOps?
DevOps is not about jobs or tools, it’s about people, culture and automation. and to implement DevOps, continuous testing plays a very important role where writing scripts for software testing and make it auto executable so that we can automate the testing and do the frequent releases using the delivery pipelines.
We have to write unit testing to achieve Continuous Testing.
60. Which tools are useful for Continuous Testing?
For test Automation there are many open source tools are available, following are few names
- Selenium
- JMeter
- JUnit
- AntUnit
- Cucumber
- SoapUI
- Tricentis Tosca
61. What is Continuous Monitoring?
DevOps and Agile are all about inspection and adaption to make continuous improvement in our process, and for that, we must have to monitor continuously the process, application performance and infrastructures.
By doing continuous infatuates monitoring, we can visualize the process and get the early alerts in real time. By analyzing that data, we can take decision wisely and adapt the things and process that best suits for the business.
62. Which tools are useful for Continuous Monitoring?
For continuous monitoring Nagios, SysDig and Zabbix are the famous open source tools available in the market. Infrastructure as code(laC) vendors like Amazon and Google have tools like AWS CloudWatch and StackDriver. Also, New Relic is a good option for continuous monitoring.
63. What is the container and What containers Azure DevOps support?
The container will provide a way to package your software code, its configurations, Packages and its dependencies into a single unit or object.
We can have multiple containers that can run on the same machine and share the operating system with other containers so that we can run anywhere fast and reliable and consistent deployments.
Azure DevOps has the following container support.
- Docker
- Asp.Net with containers.
- Azure Kubernetes services.
- Azure Service Fabric application with Docker support.
64. What is Azure DevOps? What is the difference between Azure DevOps and VSTS Online?
Microsoft Visual Studio Team Services, now known as Azure DevOps having excellent application lifecycle management tool.
We can plan a project with Agile tools and templates, manage and run test plans, Version control source code and manage the branches, deploy the solution across all platform using Azure Pipelines, by implementing Continuous Instigation and Continuous Deployment.
65. What services Azure DevOps Provides?
Azure DevOps provides full application lifecycle management from planning to coding, and from testing to build and deploy.
66. What is Azure Boards?
Azure board provides service to manage your works, using the Agile Scrum and Kanban templates, Dashboard that we can customize and reporting.
67. What are Azure Repos?
Azure Repos is a code version control system that can manage your code and its version.
Using that we can track the changes, whenever team edits code it has all the version history so later, we can coordinate with the team and merge the changes.
The azure repo has both a centralized version control system as well as a distributed version control system.
Git: Distributed Version Control System
Team FoundationVersion Control (TFVC): Centralized Version Control System.
68. What are Azure Pipelines?
Azure Pipelines has all the features that are required for supporting Continuous Integration (CI) and Continuous Deployment (CD).
Using that we can constantly test and build the code and release it to any target.
69. What are Azure Test Plans?
Azure test plan provides browser-based test management using that we can manage all the testing like Exploratory & manual testing, Continuous testing, Unit & functional testing also we can ask or Request stakeholder to provide feedback.
70. What is the significance of having configuration management in DevOps?
Configuration management (CM) assists the team to streamline various tasks and accomplish them in less time. In this way, it enhances the organization’s agility and performance. Also, it assists in providing consistency and enhancing the product development process by implementing means of design streamlining, control, extensive documentation, and change implementation during different phases of the project. You can be aware of configuration management when you go through the devops tutorial.
71. Describe the flow of the DevOps pipeline?
Generally, a pipeline is a set of automated processes that are defined and being followed by the software engineering team. Essentially, DevOps pipeline permits the DevOps software developers and DevOps engineers to competently and consistently compile, create and deploy the software code into production environments.
The corresponding flow is as below:
- Developer focus on accomplishing functionality.
- The developer sets up his code for the test environment.
- Testers work on authenticating the feature. The business team can arbitrate and give feedback.
- Developers focus on the test as well as business feedback in a constant collaboration manner.
- The code is finally handed over the production and authenticated again
72. What are the key differences between DevOps and Agile?
When preparing for DevOps interviw Questions answer, this is one of the most typical questions a candidate needs to be aware of. There are several similarities between DevOps and Agile methodology. But when it comes to software development, both are fundamentally unique approaches. Here are the differences between the two:
Agile prioritizes timeliness but DevOps provides identical priority to quality and timeliness.
DevOps presents smaller release cycles with instant feedback whereas Agile presents only smaller release cycles without instant feedback.
Agile depends on feedback from customers whereas DevOps depends on feedback from its monitoring tools.
The scope of work is agility only for Agile whereas it is agility and need for automation for DevOps.
73. How does AWS help DevOps?
AWS (Amazon Web Services) is a popular cloud provider. It assists DevOps by offering the following benefits:.
Scaling: Plenty of machines can be set up on AWS by using computation power and unlimited storage.
AWS presents ready-to-use flexible resources.
With various services presented by AWS, a myriad of tasks can be automated.
AWS is safe to implement and through its diverse security options offered under the Identity and Access Management (IAM), certainly, the application deployments and builds can be safeguarded.
74. Briefly explain various phases in DevOps:
AWS (Amazon Web Services) is a popular cloud provider. It assists DevOps by offering the following benefits:.
When you undergo devops training, you can get familiar with different phases in DevOps. The different phases available in the DevOps lifecycle are as below:
Plan: Firstly, there must be a plan for the type of application required to be developed. It is always a decent idea to get a rough picture of the development process.
Code: The application is coded according to the end-user requirements.
Build: It involves building the application by assimilating different codes created in the previous steps.
Test: Recognized as the most vital step of the application development, it involves testing the application and rebuilding, if necessary.
Integrate: Several codes from different programmers are combined into one.
Deploy: The code is deployed in a cloud environment for future usage. Any new modifications do not influence the overall functioning of a high-traffic website.
Operate: Operations are carried out on the code if needed.
Monitor: The performance of the application is monitored. Modifications are done to fulfill the end-user requirements.
75. What are the antipatterns of DevOps?
A pattern is the one that is most frequently followed by huge masses of entities. When a pattern is accepted by an organization by considering that it is being used by others without determining the requirements of the organization then it turns out to be an anti-pattern. Likewise, various myths around DevOps can lead to antipatterns, they are as below:
- DevOps is not a culture but a process.
- DevOps is nothing but an Agile approach.
- There must be a distinct DevOps group.
- DevOps resolves every problem.
- DevOps associates to developers operating a production environment.
- DevOps follows Development-driven management
- DevOps does not excessively focus on development.
- DevOps culture cannot be implemented because of the absence of the right set of people.
76. What are a few of the finest practices that must be followed for DevOps success?
Though you Learn DevOps Step by Step, it is important that you know which practices to follow for success in DevOps implementation.
Listed below are the important best practices necessary to be followed for DevOps implementation:
The speed of delivery implies the time taken for a task to continue into the production environment.
It is crucial to calculate the definite or the average time that it needs to recover in case any failure occurs in the production environment.
The number of bugs being mentioned by the customer also influences the overall quality of the application.
77. What is the DevOps toolchain?
DevOps toolchain is formed by a stack of tools. It automates some tasks like the development and deployment of your application. Tasks in DevOps can be carried out manually with easy steps, but the requirement for automation rapidly increases due to the rise in its complexity. Therefore, toolchain automation is important for continuous delivery. Basically, GitHub a Version Control Repository is recognized as the core component of a DevOps toolchain. In this toolchain, some other tools can be delivery pipelines, backlog tracking, etc. When you enroll in the Devops course in Hyderabad, you gradually become aware of various tools and toolchains in DevOps.
78. What does it mean by a branching strategy in DevOps?
Branching is a method implemented for code isolation. It creates a copy of the source code to make two versions that are separately developed. Various kinds of branching are available. Thus, the DevOps team should make a choice based on application requirements. Correspondingly, the choice is referred to as a branching strategy.
79. What is a Puppet?
Puppet is famously known as an open-source configuration management tool being utilized for the deployment, configuration, and management of servers. Essentially, its working is based on client-server architecture. In this architecture, the client is an agent whereas the server is recognized as the master. It is found that a puppet agent and master converse via a safely encrypted channel with the assistance of SSL.
80. What is Azure Dev Ops used for?
Azure DevOps enables support teams to plan work, collaborate on code development, and build and deploy applications by providing developer services. Azure DevOps encourages a culture and set of processes that bring together developers, project managers, and contributors to complete software development.
81. What is Azure DevOps Server?
Azure DevOps Server is a Microsoft product that offers capabilities such as version control, reporting, requirements management, project management, automated builds, testing, and release management. It supports DevOps and covers the entire application lifecycle.
82. What is Azure Bot Service?
Microsoft’s Azure Bot Service is an artificial intelligence (AI) chatbot that is available as a service on the Azure cloud service marketplace. Azure Bot Service enables the addition of intelligent agents capable of conversation without the need to commit resources to developing one’s own AI.
83. What is azure boards in Azure DevOps?
Azure Boards is a service that allows to manage the work for our software projects. Azure Boards provide a rich set of capabilities such as native Scrum and Kanban support, customizable dashboards, and integrated reporting.
Azure boards is a DevOps interface or service that allows organizations to manage their projects throughout the development lifecycle. It enables the team to keep track of their tasks, work status, user stories, backlogs, features, and any bugs or defects discovered during the project
- What is Azure Repos in Azure DevOps?
Azure Repos is a set of version control tools for managing your code. Version control is provided by Azure Repos in two types:
Git distributed version control
Team Foundation Version Control (TFVC): centralized version control
85. What is pipeline in Azure DevOps?
Azure Pipelines builds and tests code projects automatically before making them available to others. It is compatible with almost any language or project type. Azure Pipelines combines continuous integration (CI) and continuous delivery (CD) to test, build, and send your code to any target.
86. What is the use of Azure Test Plans in Azure DevOps?
Azure Test Plans, a service introduced earlier this month with Azure DevOps, is a browser-based test management solution for exploratory, planned manual, and user acceptance testing. Azure Test Plans also includes a browser extension for exploratory testing and gathering stakeholder feedback.
87. What are artifacts Azure DevOps?
Azure Artifacts allows developers to start sharing and consume packages from various feeds and public registries. Azure Artifacts is an extension that makes it simple to discover, install, and publish NuGet, npm, and Maven packages in Azure DevOps. It’s completely embedded with other hubs like Build, allowing package management to become a smooth part of your existing workflows.
88. How to create a variable group in Azure DevOps?
We can create Variable Groups by navigating to pipeline > Library > variable group > save as ‘TECHGEEKNEXT_VG’.
89. How to pass Library Variable Group as parameter to Template in Azure DevOps?
To access a variable from a variable group, need to add a reference to the variable group in YAML file.
my-test-variable.yml
variables:
– group: my-variable-group – name: my-test-variable value: ‘value of my-test-variable’azure-pipeline.yml
stages:
– stage: MyStage variables: – template: my-test-variable.yml jobs: – job: Test steps: – script: echo $(keyResName) – script: echo $(AcctName
90. What do you know about DevOps?
Your answer must be simple and straightforward. Begin by explaining the growing importance of DevOps in the IT industry. Discuss how such an approach aims to synergize the efforts of the development and operations teams to accelerate the delivery of software products, with a minimal failure rate. Include how DevOps is a value-added practice, where development and operations engineers join hands throughout the product or service lifecycle, right from the design stage to the point of deployment.
91. How is DevOps different from agile methodology?
DevOps is a culture that allows the development and the operations team to work together. This results in continuous development, testing, integration, deployment, and monitoring of the software throughout the lifecycle.
Agile is a software development methodology that focuses on iterative, incremental, small, and rapid releases of software, along with customer feedback. It addresses gaps and conflicts between the customer and developers.
92. Which are some of the most popular DevOps tools?
The most popular DevOps tools include:
- Selenium
- Puppet
- Chef
- Git
- Jenkins
- Ansible
- Docker
93. What are the different phases in DevOps?
- The various phases of the DevOps lifecycle are as follows:
- Plan – Initially, there should be a plan for the type of application that needs to be developed. Getting a rough picture of the development process is always a good idea.
- Code – The application is coded as per the end-user requirements.
- Build – Build the application by integrating various codes formed in the previous steps.
- Test – This is the most crucial step of the application development. Test the application and rebuild, if necessary.
- Integrate – Multiple codes from different programmers are integrated into one.
- Deploy – Code is deployed into a cloud environment for further usage. It is ensured that any new changes do not affect the functioning of a high traffic website.
- Operate – Operations are performed on the code if required.
- Monitor – Application performance is monitored. Changes are made to meet the end-user requirements.
94. Mention some of the core benefits of DevOps.
The core benefits of DevOps are as follows:
- benefits
- Continuous software delivery
- Less complex problems to manage
- Early detection and faster correction of defects
- Business benefits
- Faster delivery of features
- Stable operating environments
- Improved communication and collaboration between the teams
95. How will you approach a project that needs to implement DevOps?
The following standard approaches can be used to implement DevOps in a specific project:
Stage 1
An assessment of the existing process and implementation for about two to three weeks to identify areas of improvement so that the team can create a road map for the implementation.
Stage 2
Create a proof of concept (PoC). Once it is accepted and approved, the team can start on the actual implementation and roll-out of the project plan.
Stage 3
The project is now ready for implementing DevOps by using version control/integration/testing/deployment/delivery and monitoring followed step by step.
By following the proper steps for version control, integration, testing, deployment, delivery, and monitoring, the project is now ready for DevOps implementation.
96. What is the difference between continuous delivery and continuous deployment?
Continuous Delivery | Continuous Deployment |
Ensures code can be safely deployed on to production | Every change that passes the automated tests is deployed to production automatically |
Ensures business applications and services function as expected | Makes software development and the release process faster and more robust |
Delivers every change to a production-like environment through rigorous automated testing | There is no explicit approval from a developer and requires a developed culture of monitoring |
97. What is the role of configuration management in DevOps?
Enables management of and changes to multiple systems.
Standardizes resource configurations, which in turn, manage IT infrastructure.
It helps with the administration and management of multiple servers and maintains the integrity of the entire infrastructure.
98. How does continuous monitoring help you maintain the entire architecture of the system?
Continuous monitoring in DevOps is a process of detecting, identifying, and reporting any faults or threats in the entire infrastructure of the system.
Ensures that all services, applications, and resources are running on the servers properly.
Monitors the status of servers and determines if applications are working correctly or not.
Enables continuous audit, transaction inspection, and controlled monitoring.
99. What is the role of AWS in DevOps?
AWS has the following role in DevOps:
Flexible services – Provides ready-to-use, flexible services without the need to install or set up the software.
Built for scale – You can manage a single instance or scale to thousands using AWS services.
Automation – AWS lets you automate tasks and processes, giving you more time to innovate
Secure – Using AWS Identity and Access Management (IAM), you can set user permissions and policies.
Large partner ecosystem – AWS supports a large ecosystem of partners that integrate with and extend AWS services.
100. Name three important DevOps KPIs.
The three important KPIs are as follows:
- Meantime to failure recovery – This is the average time taken to recover from a failure.
- Deployment frequency – The frequency in which the deployment occurs.
- Percentage of failed deployments – The number of times the deployment fails.
101. Explain the term “Infrastructure as Code” (IaC) as it relates to configuration management.
Writing code to manage configuration, deployment, and automatic provisioning.
Managing data centers with machine-readable definition files, rather than physical hardware configuration.
Ensuring all your servers and other infrastructure components are provisioned consistently and effortlessly.
Administering cloud computing environments, also known as infrastructure as a service (IaaS).
102. How is IaC implemented using AWS?
Start by talking about the age-old mechanisms of writing commands onto script files and testing them in a separate environment before deployment and how this approach is being replaced by IaC. Similar to the codes written for other services, with the help of AWS, IaC allows developers to write, test, and maintain infrastructure entities in a descriptive manner, using formats such as JSON or YAML. This enables easier development and faster deployment of infrastructure changes.
103. Why Has DevOps Gained Prominence over the Last Few Years?
Before talking about the growing popularity of DevOps, discuss the current industry scenario. Begin with some examples of how big players such as Netflix and Facebook are investing in DevOps to automate and accelerate application deployment and how this has helped them grow their business. Using Facebook as an example, you would point to Facebook’s continuous deployment and code ownership models and how these have helped it scale up but ensure the quality of experience at the same time. Hundreds of lines of code are implemented without affecting quality, stability, and security.
104. What are the anti-patterns of DevOps?
Cannot perform DevOps → Have the wrong people
DevOps ⇒ Production Management is done by developers
The solution to all the organization’s problems ⇒ DevOps
DevOps == Process
DevOps == Agile
Cannot perform DevOps → Organization is unique
A separate group needs to be made for DevOps
105. What are the benefits of using version control?
All team members are free to work on any file at any time with the Version Control System (VCS). Later on, VCS will allow the team to integrate all of the modifications into a single version.
106. Describe the branching strategies you have used.
Release branching – We can clone the develop branch to create a Release branch once it has enough functionality for a release. This branch kicks off the next release cycle, thus no new features can be contributed beyond this point. The things that can be contributed are documentation generation, bug fixing, and other release-related tasks. The release is merged into master and given a version number once it is ready to ship. It should also be merged back into the development branch, which may have evolved since the initial release.
107. Can you explain the “Shift left to reduce failure” concept in DevOps?
Shift left is a DevOps idea for improving security, performance, and other factors. Let us take an example: if we look at all of the processes in DevOps, we can state that security is tested prior to the deployment step. We can add security in the development phase, which is on the left, by employing the left shift method. [will be depicted in a diagram] We can integrate with all phases, including before development and during testing, not just development. This most likely raises the security level by detecting faults at an early stage.
108. What is the Blue/Green Deployment Pattern?
This is a method of continuous deployment that is commonly used to reduce downtime. This is where traffic is transferred from one instance to another. In order to include a fresh version of code, we must replace the old code with a new code version.
109. What is Continuous Testing?
Continuous Testing constitutes the running of automated tests as part of the software delivery pipeline to provide instant feedback on the business risks present in the most recent release. In order to prevent problems in step-switching in the Software delivery life-cycle and to allow Development teams to receive immediate feedback, every build is continually tested in this manner. This results in significant increase in speed in a developer’s productivity as it eliminates the requirement for re-running all the tests after each update and project re-building.
110. What is Automation Testing?
Test automation or manual testing Automation is the process of automating a manual procedure in order to test an application or system. Automation testing entails the use of independent testing tools that allow you to develop test scripts that can be run repeatedly without the need for human interaction.
111. What are the benefits of Automation Testing?
Some of the advantages of Automation Testing are –
- Helps to save money and time.
- Unattended execution can be easily done.
- Huge test matrices can be easily tested.
- Parallel execution is enabled.
- Reduced human-generated errors, which results in improved accuracy.
- Repeated test tasks execution is supported.
112. How to automate Testing in the DevOps lifecycle?
Developers are obliged to commit all source code changes to a shared DevOps repository.
Every time a change is made in the code, Jenkins-like Continuous Integration tools will grab it from this common repository and deploy it for Continuous Testing, which is done by tools like Selenium.
113. Why is Continuous Testing important for DevOps?
Any modification to the code may be tested immediately with Continuous Testing. This prevents concerns like quality issues and release delays that might occur whenever big-bang testing is delayed until the end of the cycle. In this way, Continuous Testing allows for high-quality and more frequent releases.
114. What are the key elements of Continuous Testing tools?
Continuous Testing key elements are:
Test Optimization – It guarantees that tests produce reliable results and actionable information. Test Data Management, Test Optimization Management, and Test Maintenance are examples of aspects.
115. Explain the difference between a centralized and distributed version control system (VCS).
- Centralized Version Control System
- All file versions are stored on a central server
- No developer has a copy of all files on a local system
- If the central server crashes, all data from the project will be lost
116. How do you push a file from your local system to the GitHub repository using Git?
First, connect the local repository to your remote repository:
git remote add origin [copied web address]
// Ex: git remote add origin https://github.com/Simplilearn-github/test.git
Second, push your file to the remote repository:
git push origin master
117. How is a bare repository different from the standard way of initializing a Git repository?
Using the standard method:
git init
You create a working directory with git init
A .git subfolder is created with all the git-related revision history
Using the bare way
118. Which of the following CLI commands can be used to rename files?
- git rm
- git mv
- git rm -r
- None of the above
- The correct answer is B) git mv
119. What is Git stash?
A developer working with a current branch wants to switch to another branch to work on something else, but the developer doesn’t want to commit changes to your unfinished work. The solution to this issue is Git stash. Git stash takes your modified tracked files and saves them on a stack of unfinished changes that you can reapply at any time.
120. Explain the concept of branching in Git.
Suppose you are working on an application, and you want to add a new feature to the app. You can create a new branch and build the new feature on that branch.
By default, you always work on the master branch
The circles on the branch represent various commits made on the branch
After you are done with all the changes, you can merge it with the master branch
121. What is the difference between Git Merge and Git Rebase?
Suppose you are working on a new feature in a dedicated branch, and another team member updates the master branch with new commits. You can use these two functions:
- Git Merge
- To incorporate the new commits into your feature branch, use Git merge.
- Creates an extra merge commit every time you need to incorporate changes
- But, it pollutes your feature branch history
122. How do you find a list of files that have been changed in a particular commit?
The command to get a list of files that have been changed in a particular commit is:
git diff-tree –r {commit hash}
Example: git diff-tree –r 87e673f21b
-r flag instructs the command to list individual files
commit hash will list all the files that were changed or added in that commit
123. What is a merge conflict in Git, and how can it be resolved?
In the “Pull requests” drop-down, click the pull request with a merge conflict that you’d like to resolve
Near the bottom of your pull request, click “Resolve conflicts.”
124. Explain the master-slave architecture of Jenkins.
Jenkins master pulls the code from the remote GitHub repository every time there is a code commit.
It distributes the workload to all the Jenkins slaves.
On request from the Jenkins master, the slaves carry out, builds, test, and produce test reports.
125. What is Jenkinsfile?
Jenkinsfile contains the definition of a Jenkins pipeline and is checked into the source control repository. It is a text file.
It allows code review and iteration on the pipeline.
It permits an audit trail for the pipeline.
There is a single source of truth for the pipeline, which can be viewed and edited.
126. Which of the following commands runs Jenkins from the command line?
- java –jar Jenkins.war
- java –war Jenkins.jar
- java –jar Jenkins.jar
- java –war Jenkins.war
- The correct answer is A) java –jar Jenkins.war
127. What concepts are key aspects of the Jenkins pipeline?
Pipeline: User-defined model of a CD pipeline. The pipeline’s code defines the entire build process, which includes building, testing and delivering an application
128. Which file is used to define dependency in Maven?
- build.xml
- pom.xml
- dependency.xml
- Version.xml
- The correct answer is B) pom.xml
129. Explain the two types of pipeline in Jenkins, along with their syntax.
- Executes the pipeline or any of its stages on any available agent
- Defines the build stage
- Performs steps related to building stage
- Defines the test stage
- Performs steps related to the test stage
- Defines the deploy stage
- Performs steps related to the deploy stage
130.How do you create a backup and copy files in Jenkins?
In order to create a backup of Jenkins setup, copy the JENKINS_HOME directory. You can also copy a job directory to clone or replicate a job or rename the directory.
131. How can you copy Jenkins from one server to another?
Move the job from one Jenkins installation to another by copying the corresponding job directory.
Create a copy of an existing job by making a clone of a job directory with a different name.
Rename an existing job by renaming a directory.
132. Name three security mechanisms Jenkins uses to authenticate users.
Jenkins uses an internal database to store user data and credentials.
Jenkins can use the Lightweight Directory Access Protocol (LDAP) server to authenticate users.
Jenkins can be configured to employ the authentication mechanism that the deployed application server uses.
133. How is a custom build of a core plugin deployed?
Copy the .hpi file to $JENKINS_HOME/plugins
Remove the plugin’s development directory
Create an empty file called <plugin>.hpi.pinned
Restart Jenkins and use your custom build of a core plugin
134. How can you temporarily turn off Jenkins security if the administrative users have locked themselves out of the admin console?
When security is enabled, the Config file contains an XML element named useSecurity that will be set to true.
By changing this setting to false, security will be disabled the next time Jenkins is restarted
135. What are the ways in which a build can be scheduled/run in Jenkins?
By source code management commits.
After completion of other builds.
Scheduled to run at a specified time.
Manual build requests.
136. What are the commands that you can use to restart Jenkins manually?
(Jenkins_url)/restart // Forces a restart without waiting for builds to complete
(Jenkins_url)/safeRestart // Allows all running builds to complete before it restarts
137. Explain how you can set up a Jenkins job?
Optional triggers for controlling when Jenkins builds.
Optional steps for gathering data from the build, like collecting javadoc, testing results and/or archiving artifacts.
A build script (ant, maven, shell script, batch file, etc.) that actually does the work.
Optional source code management system (SCM), like Subversion or CVS.
138. What are the different Selenium components?
Selenium Integrated Development Environment (IDE)
It has a simple framework and should be used for prototyping.
It has an easy-to-install Firefox plug-in
139. What are the different exceptions in Selenium WebDriver?
TimeoutException – It is thrown when a command performing an operation does not complete in the stipulated time.
NoSuchElementException – It is thrown when an element with specific attributes is not found on the web page.
140. Can Selenium test an application on an Android browser?
Selenium is capable of testing an application on an Android browser using an Android driver. You can use the Selendroid or Appium framework to test native apps or web apps in the Android browser.
141. What are the different test types that Selenium supports
Functional – This is a type of black-box testing in which the test cases are based on the software specification.
Regression – This testing helps to find new errors, regressions, etc. in different functional and non-functional areas of code after the alteration.
Load Testing – This testing seeks to monitor the response of a device after putting a load on it. It is carried out to study the behavior of the system under certain conditions.
142. How can you access the text of a web element?
Verification of messages
Labels
Errors displayed on the web page
Syntax:
String Text=driver.findElement(By.id(“text”)).getText();
143. Which of these options is not a WebElement method?
getText()
size()
getTagName()
sendKeys()
The correct answer is B) size()
144. When do we use findElement() and findElements()?
- findElement()
It finds the first element in the current web page that matches the specified locator value.
Syntax:
WebElement element=driver.findElements(By.xpath(“//div[@id=‘example’]//ul//li”));
- findElements()
It finds all the elements in the current web page that matches the specified locator value.
Syntax:
List elementList=driver.findElements(By.xpath(“//div[@id=‘example’]//ul//li”));
145. What are driver.close() and driver.quit() in WebDriver?
driver.close() – This is used to close the current browser window on which the focus is set. In this case, there is only one browser open.
driver.quit() – It closes all the browser windows and ends the WebDriver session using the driver.dispose method.
146. How can you submit a form using Selenium?
The following lines of code will let you submit a form using Selenium:
WebElement el = driver.findElement(By.id(“ElementID”));
el.submit();
147. What are the Testing types supported by Selenium?
There are two types of testing that are primarily supported by Selenium:
Functional Testing – Individual testing of software functional points or features.
Regression Testing – Wherever a bug is fixed, a product is retested and this is called Regression Testing.
148. What is Selenium IDE?
Selenium IDE is the best environment for building Selenium tests, regardless of the style of testing we prefer, thanks to the ability to move instructions around rapidly and the autocomplete support.
149. How to launch Browser using WebDriver?
To launch Browser using WebDriver, following syntax is followed –
WebDriver driver = new InternetExplorerDriver();
WebDriver driver = new ChromeDriver();
WebDriver driver = new FirefoxDriver();
150. What is the difference between Assert and Verify commands in Selenium?
The assert command determines whether a condition is false or true. To know whether the supplied element is on the page or not, we do the following. The next test step will be performed by the program control, if the condition is true. However, no further tests will be run, and the execution will halt, if the condition is false.
151. What is the need for DevOps?
According to me, this answer should start by explaining the general market trend. Instead of releasing big sets of features, companies are trying to see if small features can be transported to their customers through a series of release trains. This has many advantages like quick feedback from customers, better quality of software etc. which in turn leads to high customer satisfaction. To achieve this, companies are required to:
152. How is DevOps different from Agile / SDLC?
You can summarize by saying Agile software development methodology focuses on the development of software but DevOps on the other hand is responsible for development as well as deployment of the software in the safest and most reliable way possible. Here’s a blog that will give you more information on the evolution of DevOps.
153. Which are the top DevOps tools? Which tools have you worked on?
Git : Version Control System tool
Jenkins : Continuous Integration tool
Selenium : Continuous Testing tool
Puppet, Chef, Ansible : Configuration Management and Deployment tools
Nagios : Continuous Monitoring tool
Docker : Containerization tool
154. How do all these tools work together?
Developers develop the code and this source code is managed by Version Control System tools like Git etc.
Developers send this code to the Git repository and any changes made in the code is committed to this Repository.
155. What are the advantages of DevOps?
For this answer, you can use your past experience and explain how DevOps helped you in your previous job. If you don’t have any such experience, then you can mention the below advantages.
Technical benefits:
Continuous software delivery
Less complex problems to fix
Faster resolution of problems
156. Mention some of the core benefits of DevOps?
Faster development of software and quick deliveries.
DevOps methodology is flexible and adaptable to changes easily.
Compared to the previous software development models confusion about the project is decreased due to which the product quality is increased.
The gap between the development team and operation team is bridged. i.e, the communication between the teams has been increased.
157. What is the most important thing DevOps helps us achieve?
According to me, the most important thing that DevOps helps us achieve is to get the changes into production as quickly as possible while minimizing risks in software quality assurance and compliance.
158. Explain with a use case where DevOps can be used in industry/ real-life.
There are many industries that are using DevOps so you can mention any of those use cases, you can also refer the below example:
Etsy is a peer-to-peer e-commerce website focused on handmade or vintage items and supplies, as well as unique factory-manufactured items.
159. Explain your understanding and expertise on both the software development side and the technical operations side of an organization you have worked with in the past.
For this answer, share your past experience and try to explain how flexible you were in your previous job. You can refer the below example:
DevOps engineers almost always work in a 24/7 business-critical online environment.
160. What are the anti-patterns of DevOps?
DevOps is a process
Agile equals DevOps?
We need a separate DevOps group
Devops will solve all our problems
DevOps means Developers Managing Production
DevOps is Development-driven release management
DevOps is not development driven.
DevOps is not IT Operations driven.
161.Explain the different phases in DevOps methodology?
Plan – In this stage, all the requirements of the project and everything regarding the project like time for each stage, cost, etc are discussed. This will help everyone in the team to get a brief idea about the project.
Code – The code is written over here according to the client’s requirements. Here codes are written in the form of small codes called units.
Build – Building of the units is done in this step.
Test – Testing is done in this stage and if there are mistakes found it is returned for re-build.
Integrate – All the units of the codes are integrated into this step.
Deploy – codeDevOpsNow is deployed in this step on the client’s environment.
Operate – Operations are performed on the code if required.
Monitor – Monitoring of the application is done over here in the client’s environment.
162. Explain your understanding and expertise on both the software development side and the technical operations side of an organization you have worked with in the past?
Deployment frequency: This measures how frequently a new feature is deployed.
Change failure rate: This is used to measure the number of failures in deployment.
Mean Time to Recovery (MTTR): The time is taken to recover from a failed deployment.
163. What are the KPIs that are used for gauging the success of a DevOps team?
Change Failure rates: This is used to measure the number of failures in deployments.
Meantime to recovery (MTTR): The time is taken to recover from a failed deployment.
Lead time: This helps to measure the time taken to deploy on the production environment.
Deployment frequency: This measures how frequently a new feature is deployed.
Change volume: This is used to measure how much code is changed from the existing code.
Cycle time: This is used to measure total application development time.
Customer Ticket: This helps us to measure the number of errors detected by the end-user.
Availability: This is used to determine the downtime of the application.
Defect escape rate: This helps us to measure the number of issues that are needed to be detected as early as possible.
Time of detection: This helps you understand whether your response time and application monitoring processes are functioning correctly.
164. Why has DevOps become famous?
Waterfall model
Agile model
In the waterfall model, we have limitations of one-way working and lack of communication with customers. This was overcome in Agile by including the communication between the customer and the company by taking feedback. But in this model, another issue is faced regarding communication between the Development team and operations team due to which there is a delay in the speed of production. This is where DevOps is introduced.
165. How does AWS contribute to DevOps?
Flexible Resources: AWS provides all the DevOps resources which are flexible to use.
Scaling: we can create several instances on AWS with a lot of storage and computation power.
Automation: Automation is provided by AWS like CI/CD
Security: AWS provides security when we create an instance like IAM
166. What is Version control?
Revert files back to a previous state.
Revert the entire project back to a previous state.
Compare changes over time.
See who last modified something that might be causing a problem.
Who introduced an issue and when.
167. What are the benefits of using version control?
With Version Control System (VCS), all the team members are allowed to work freely on any file at any time. VCS will later allow you to merge all the changes into a common version.
All the past versions and variants are neatly packed up inside the VCS. When you need it, you can request any version at any time and you’ll have a snapshot of the complete project right at hand.
168. Describe branching strategies you have used.
Feature branching
A feature branch model keeps all of the changes for a particular feature inside of a branch. When the feature is fully tested and validated by automated tests, the branch is then merged into master.
169. Which VCS tool you are comfortable with?
You can just mention the VCS tool that you have worked on like this: “I have worked on Git and one major advantage it has over other VCS tools like SVN is that it is a distributed version control system.”
171. In Git how do you revert a commit that has already been pushed and made public?
Remove or fix the bad file in a new commit and push it to the remote repository. This is the most natural way to fix an error. Once you have made necessary changes to the file, commit it to the remote repository for that I will use
git commit -m “commit message”
Create a new commit that undoes all changes that were made in the bad commit.to do this I will use a command
git revert <name of bad commit>
172. How do you squash last N commits into a single commit?
If you want to write the new commit message from scratch use the following command
git reset –soft HEAD~N &&
git commit
If you want to start editing the new commit message with a concatenation of the existing commit messages then you need to extract those messages and pass them to Git commit for that I will use
git reset –soft HEAD~N &&
173. What is Git bisect? How can you use it to determine the source of a (regression) bug?
I will suggest you to first give a small definition of Git bisect, Git bisect is used to find the commit that introduced a bug by using binary search. Command for Git bisect is
174. What is Git rebase and how can it be used to resolve conflicts in a feature branch before merge?
According to me, you should start by saying git rebase is a command which will merge another branch into the branch where you are currently working, and move all of the local commits that are ahead of the rebased branch to the top of the history on that branch.
175. How do you configure a Git repository to run code sanity checking tools right before making commits, and preventing them if the test fails?
I will suggest you to first give a small introduction to sanity checking, A sanity or smoke test determines whether it is possible and reasonable to continue testing.
Now explain how to achieve this, this can be done with a simple script related to the pre-commit hook of the repository.
176. How do you find a list of files that has changed in a particular commit?
For this answer instead of just telling the command, explain what exactly this command will do so you can say that, To get a list files that has changed in a particular commit use command
git diff-tree -r {hash}
Given the commit hash, this will list all the files that were changed or added in that commit. The -r flag makes the command list individual files, rather than collapsing them into root directory names only.
177. How do you setup a script to run every time a repository receives new commits through push?
Pre-receive hook in the destination repository is invoked when commits are pushed to it. Any script bound to this hook will be executed before any references are updated. This is a useful hook to run scripts that help enforce development policies.
178. How will you know in Git if a branch has already been merged into master?
I will suggest you to include both the below mentioned commands:
git branch –merged lists the branches that have been merged into the current branch.
git branch –no-merged lists the branches that have not been merged.
179. What is the difference between Git Merge and Git Rebase?
However, when one does Git Rebase, the logs are rearranged. The rearrangement is done to make the logs look linear and simple to understand. This is also a drawback since other team members will not understand how the different commits were merged into one another.
180. Can you explain the “Shift left to reduce failure” concept in DevOps?
Shift left is a concept used in DevOps for a better level of security, performance, etc. Let us get in detail with an example, if we see all the phases in DevOps we can say that security is tested before the step of deployment.
181. Why do you need a Continuous Integration of Dev & Testing?
For this answer, you should focus on the need of Continuous Integration. My suggestion would be to mention the below explanation in your answer:
Continuous Integration of Dev and Testing improves the quality of software, and reduces the time taken to deliver it, by replacing the traditional practice of testing after completing all development.
182. What are the success factors for Continuous Integration?
Maintain a code repository
Automate the build
Make the build self-testing
Everyone commits to the baseline every day
Every commit (to baseline) should be built
Keep the build fast
Test in a clone of the production environment
Make it easy to get the latest deliverables
Everyone can see the results of the latest build
Automate deployment
183. Explain how you can move or copy Jenkins from one server to another?
Move a job from one installation of Jenkins to another by simply copying the corresponding job directory.
Make a copy of an existing job by making a clone of a job directory by a different name.
Rename an existing job by renaming a directory. Note that if you change a job name you will need to change any other job that tries to call the renamed job.
184. Explain how can create a backup and copy files in Jenkins?
Answer to this question is really direct. To create a backup, all you need to do is to periodically back up your JENKINS_HOME directory. This contains all of your build jobs configurations, your slave node configurations, and your build history.
185. Explain how you can setup Jenkins job?
Optional SCM, such as CVS or Subversion where your source code resides.
Optional triggers to control when Jenkins will perform builds.
Some sort of build script that performs the build (ant, maven, shell script, batch file, etc.) where the real work happens.
Optional steps to collect information out of the build, such as archiving the artifacts and/or recording javadoc and test results.
Optional steps to notify other people/systems with the build result, such as sending e-mails, IMs, updating issue tracker, etc..
186. Mention some of the useful plugins in Jenkins.
Below, I have mentioned some important Plugins:
- Maven 2 project
- Amazon EC2
- HTML publisher
- Copy artifact
- Join
- Green Balls
187. How will you secure Jenkins?
Ensure global security is on.
Ensure that Jenkins is integrated with my company’s user directory with appropriate plugin.
Ensure that matrix/Project matrix is enabled to fine tune access.
Automate the process of setting rights/privileges in Jenkins with custom version controlled script.
Limit physical access to Jenkins data/folders.
Periodically run security audits on same
188. What is the Blue/Green Deployment Pattern?
This is a continuous deployment strategy that is generally used to decrease downtime. This is used for transferring the traffic from one instance to another.
189. Explain how you can setup Jenkins job?
DevOps is a process and not a culture.
DevOps is nothing but Agile.
There should be a separate DevOps group.
DevOps solves every problem.
DevOps equates to developers running a production environment.
DevOps follows Development-driven management
DevOps does not focus much on development.
As we are a unique organization, we don’t follow the masses and hence we won’t implement DevOps.
We don’t have the right set of people, hence we cant implement DevOps culture.
190. How will you approach a project that needs to implement DevOps?
Any programming language [C, C++, JAVA, Python..] concerning the project.
Get an idea of operating systems for management purposes [like memory management, disk management..etc].
Get an idea about networking and security concepts.
Get the idea about what DevOps is, what is continuous integration, continuous development, continuous delivery, continuous deployment, monitoring, and its tools used in various phases.[like GIT, Docker, Jenkins,…etc]
191. What is Continuous Testing?
I will advise you to follow the below mentioned explanation:
Continuous Testing is the process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with in the latest build.
192. What is Automation Testing?
Automation testing or Test Automation is a process of automating the manual process to test the application/system under test. Automation testing involves use of separate testing tools which lets you create test scripts which can be executed repeatedly and doesn’t require any manual intervention.
193. How to automate Testing in DevOps lifecycle?
In this way, any change in the code is continuously tested unlike the traditional approach.
194. Why is Continuous Testing important for DevOps?
You can answer this question by saying, “Continuous Testing allows any change made in the code to be tested immediately. This avoids the problems created by having “big-bang” testing left to the end of the cycle such as release delays and quality issues. In this way, Continuous Testing facilitates more frequent and good quality releases.”
195. What are the key elements of Continuous Testing tools?
Risk Assessment: It Covers risk mitigation tasks, technical debt, quality assessment and test coverage optimization to ensure the build is ready to progress toward next stage.
Policy Analysis: It ensures all processes align with the organization’s evolving business and compliance demands are met.
Requirements Traceability: It ensures true requirements are met and rework is not required. An object assessment is used to identify which requirements are at risk, working as expected or require further validation.
Advanced Analysis: It uses automation in areas such as static code analysis, change impact analysis and scope assessment/prioritization to prevent defects in the first place and accomplishing more within each iteration.
Test Optimization: It ensures tests yield accurate outcomes and provide actionable findings. Aspects include Test Data Management, Test Optimization Management and Test Maintenance
Service Virtualization: It ensures access to real-world testing environments. Service visualization enables access to the virtual form of the required testing stages, cutting the waste time to test environment setup and availability.
196.Which Testing tool are you comfortable with and what are the benefits of that tool?
It is free and open source
It has a large user base and helping communities
It has cross Browser compatibility (Firefox, chrome, Internet Explorer, Safari etc.)
It has great platform compatibility (Windows, Mac OS, Linux etc.)
It supports multiple programming languages (Java, C#, Ruby, Python, Pearl etc.)
It has fresh and regular repository developments
It supports distributed testing
197. What are the Testing types supported by Selenium?
Selenium supports two types of testing:
Regression Testing: It is the act of retesting a product around an area where a bug was fixed.
Functional Testing: It refers to the testing of software features (functional points) individually.
198. What is Selenium IDE?
My suggestion is to start this answer by defining Selenium IDE. It is an integrated development environment for Selenium scripts. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. Selenium IDE includes the entire Selenium Core, allowing you to easily and quickly record and play back tests in the actual environment that they will run in.
Now include some advantages in your answer.
199. What is the difference between Assert and Verify commands in Selenium?
Assert command checks whether the given condition is true or false. Let’s say we assert whether the given element is present on the web page or not. If the condition is true, then the program control will execute the next test step. But, if the condition is false, the execution would stop and no further test would be executed.
200. How to launch Browser using WebDriver?
The following syntax can be used to launch Browser:
WebDriver driver = new FirefoxDriver();
WebDriver driver = new ChromeDriver();
WebDriver driver = new InternetExplorerDriver();