1. What is Version control?

Ans. It is a system that records changes to a file or set of files over time so that you can recall specific versions later.

  1. What are containers?

Ans. Containers are a form of lightweight virtualization, heavier than ‘chroot’ but lighter than ‘hypervisors’. They provide isolation among processes while using the same kernel as the host machine, and ‘cgroups’ functionality within the kernel.

  1. What is Continuous Delivery?

Ans. It is the practice of delivering the software for testing as soon as it is built by CI (Continuous Integration) servers.

  1. What are the uses of Version control?

Ans.

  • 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.
  1. What are the core operations of DevOps in terms of development and Infrastructure?

Ans. The core operations of DevOps are application development, code developing, code coverage, unit testing, packaging, deployment with infrastructure, provisioning, configuration, orchestration, and deployment.

  1. Can one consider DevOps as an Agile methodology?

Ans. DevOps can be considered complementary to the agile methodology, but not completely similar.

  1. Name some of the top tools used in DevOps? What are the tools that you have used?

Ans. Some of the common tools are – Docker, Git, Selenium, Puppet, Nagios, and Chef

  1. What is Git?

Ans. Git is a Distributed Version Control system (DVCS). It can track changes to a file and allows you to revert back to any particular change.

  1. In Git how do you revert a commit that has already been pushed and made public?

Ans. It can be done in two ways:

  • By removing or fixing the bad file in a new commit and pushing it to the remote repository. Once the necessary changes to the file has been made, commit it to the remote repository. Use: git commit -m “commit message”
  • By creating a new commit that undoes all changes that were made in the bad commit. To do this, use command: git revert <name of bad commit>
  1. What is Git bisect?

Ans. Git bisect is used to find the commit that introduced a bug by using binary search.

  1. Why do you need a Continuous Integration of Dev & Testing?

Ans. 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.

  1. Which is the most popular scripting language in DevOps?

Ans. Python.

  1. What is Vagrant and what is it used for?

Ans. A vagrant is a tool that can create and manage virtualized (or containerized) environments for testing and developing software.

  1. What is post mortem meetings?

Ans. It is done to discuss what went wrong and what steps should be taken so that failure doesn’t happen again.

  1. What is meant by Continuous Integration?

Ans. It is a development practice that requires developers to integrate code into a shared repository several times a day.

  1. What’s a PTR in DNS?

Ans. Pointer (PTR) record is used for reverse DNS (Domain Name System) lookup.

  1. What testing is necessary to ensure a new service is ready for production?

Ans. Continuous testing

  1. What is Continuous Testing?

Ans. 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 the latest build.

  1. What is Automation Testing?

Ans. Automation testing or Test Automation is a process of automating the manual process to test the application/system under test.

  1. What are the key elements of continuous testing?

Ans. Risk assessment, policy analysis, requirements traceability, advanced analysis, test optimization, and service virtualization

  1. What are the Testing types supported by Selenium?

Ans. Regression testing and functional testing

  1. Differentiate between Asset Management and Configuration Management

Ans. Asset Management, broadly defined, refers to any system that monitors and maintains things of value to an entity or group.

Configuration Management is the process of planning for, identifying, controlling, and verifying the Configurations Items (CIs) within a service, recording their status, and, in support of Change Management, assessing the potential IT impact of changing those items.

  1. What is Puppet?

Ans. It is a Configuration Management tool which is used to automate administration tasks.

  1. How does HTTP work?

Ans. The HTTP protocol works in a client and server model like most other protocols. A web browser using which a request is initiated is called as a client and a web server software which response to that request is called a server. World Wide Web Consortium and the Internet Engineering Task Force are two important spokes in the standardization of the HTTP protocol.

  1. Describe two-factor authentication?

Ans. Two-factor authentication is a security process in which the user provides two means of identification from separate categories of credentials; one is typically a physical token, such as a card, and the other is typically something memorized, such as a security code.

  1. Which language is used in Git?

Ans. Git is written in C. It is very fast and reduces runtimes overhead.

  1. Suppose you just made a bad Git commit and made it public, how would you revert it?

Ans. The command to revert the Git commit is –

Ans. git revert <commit hash>

This command can revert any commands just by adding the commit ID.

  1. What is SubGit?

Ans. SubGit is an open-source, version control tool for migrating Subversions (SVN) to Git. It allows creating a writable Git mirror of a Subversion repository, which can then be used to push to Git.

  1. What is Ansible?

Ans. Ansible is an open-source automation platform. It is a powerful yet very simple to setup. Ansible facilitates complex tasks like configuration management, IT orchestration, application deployment, and task automation.

  1. What is the use of Ansible?

Ans. Ansible is used primarily in IT infrastructure for configuration management and automatically deploying software applications to remote nodes.

  1. Explain the advantages of Ansible.

Ans.

  • Free of cost
  • Agentless
  • Very low uptime
  • Good performance
  • Idempotent
  • Very easy to learn
  • Easy to pick up
  • Declarative, not procedural
  • Doesn’t require custom security infrastructure
  1. Describe IaC.

Ans. IaC is the abbreviation for Infrastructure as Code. It manages and tracks infrastructure configuration in files and allows better and scalable infrastructure configuration. It ensures transparent tracking of changes through the versioning system.

  1. What is configuration management?

Ans. It is a combination of practices and tools to automate the delivery and operation of infrastructure. It is used to –

  • Model infrastructure
  • Monitor and enforce desired configurations
  • Automatically remediate any unexpected configuration drift

Configuration management helps to expedite the software delivery process and deliver better software.

  1. What is Jenkins?

Ans. Jenkins is an open-source continuous integration server that facilitates achieving a Continuous Integration process in an automated manner. It is also capable to highlight any errors in the project in its early stages.

  1. Name some useful plugins in Jenkins.

Ans.

  • Dashboard View Plugin
  • View Job Filters Plugin
  • Exclusion
  • GitHub/GitLab Pull Request Builder
  • Hudson Extended Read Permission Plugin
  • Post+build+task
  • Amazon EC2
  • HTML publisher
  • Copy artifact
  • JDK Parameter Plugin
  • Job Configuration History Plugin
  • Parameterized Trigger plugin
  1. What is a Virtual Private Cloud?

Ans. Virtual Private Cloud offers the flexibility to scale and control the workloads. It provides global access to manage workloads when you connect your on-premises or remote resources to Google Cloud Platform (GCP).

  1. What is Canary Release’?

Ans. Canary rRelease refers to a pattern that reduces the risk of introducing a new version software into the production environment. It is made available to the subset of the user and then to the complete user set.

  1. What is Docker?

Ans. Docker is a tool to easily create, deploy, and run applications using containers. It packages an application with all its dependencies to ensure its seamless running. Docker allows applications to use the same Linux kernel they are already running on.

  1. On which platforms does a Docker run?

Ans. Docker runs only on Linux and Cloud platforms, which are –

Linux –

  • Ubuntu 12.04 LTS+
  • Fedora 20+
  • RHEL 6.5+
  • CentOS 6+
  • Gentoo
  • ArchLinux
  • openSUSE 12.3+
  • CRUX 3.0+

Cloud –

  • Amazon EC2
  • Google Compute Engine
  • Microsoft Azure
  • Rackspace
  1. What is a Docker image?

Ans. Docker images are used to create containers and comprise of multiple layers for code execution.

  1. How will you launch a browser using WebDriver?

Ans. There is a simple formula to launch a browser using WebDriver, which changes as per the browser name.

For Chrome –

WebDriver driver = new ChromeDriver();

For Firefox –

WebDriver driver = new FirefoxDriver();

For Internet Explorer (IE) –

Become Devops Certified!

WebDriver driver = new InternetExplorerDriver();

  1. Which Source Code Management (SCM) tools does Jenkins support?

Ans. Jenkins supports the following SCM tools –

  • AccuRev
  • Clearcase
  • CVS
  • Git
  • Mercurial
  • Perforce
  • RTC
  • Subversion
  1. What is Chef?

Ans. The chef is a powerful automation platform for transforming infrastructure into code. It also helps in writing scripts for automating IT processes.

  1. Explain the architecture of Chef.

Ans. Chef comprises of –

  • Chef Server – Also regarded as the central store for configuration data of infrastructure, and allows to dynamically drive node configuration based on data.
  • Chef Node – These are referred to as clients as they run the Chef-client software.
  • Chef Workstation – It is the place where users can interact with the Chef, develop and test cookbooks and recipes, and modify other configuration data.
  1. What is Recipe in Chef?

Ans. A Recipe is a collection of Resources that configures a software package or infrastructure. The functions of a Recipe is –

  • Installing and configuring software components
  • Managing files
  • Deploying applications
  • Executing other recipes
  1. How is a Cookbook different from a Recipe in Chef?

Ans. A Recipe is a collection of Resources to configure a software package or infrastructure, while a Cookbook comprises of a collection of Recipes and other information in a systematic and manageable manner.

  1. What is Nagios Log Server?

Ans. It is an enterprise-class log monitoring and management application and is very powerful in nature. Nagios Log Server facilitates viewing, sorting, and configuring logs from any source on any network. It also analyzes, collects, and stores log data as per requirements and offer extended data insight about the network infrastructure.

  1. What are the benefits of using Nagios Log Server?

Ans.

  • Automatically fixes problems
  • Easy coordination with the tech team responses
  • Ensures minimal impact of any IT infrastructure outages
  • Meets the client-business service-level agreements
  • Monitors business processes and infra
  • Plans infrastructure upgrades before any failure
  • Gives quick response to issues
  1. What is NRPE?

Ans. It is the abbreviation for ‘Nagios Remote Plugin Executor’, and helps the users to monitor remote machine performance metrics by using Nagios plugins remotely on other Linux or Unix devices.

  1. Tell me what is kubectl.

Ans. It is a command-line interface to run commands against Kubernetes clusters, deploy applications, manage cluster resources, and view logs.

  1. What is the use of Continuous Monitoring?

Ans. With the help of Continuous Monitoring, a user can easily detect and measure the security implications for any unplanned changes and assesses the vulnerabilities in case of any information threat.

  1. How will you do Continuous Monitoring?

Ans. Continuous Monitoring is done with the help of Application Performance Management (APM). APMs monitor, analyze, and manage all types of applications and IT infrastructure.

  1. What are some deployment patterns?

Ans.  The most popular and advanced deployment patterns are Blue-Green Deployments, Canary Releases, Rolling Updates, Dark Launches, and Feature Toggles.  

  1.  Name the key components of DevOps.

Ans.  Key components of DevOps are –

  • Continuous Integration
  • Continuous Testing
  • Continuous Delivery
  • Continuous Monitoring
  1.  What is Sudo in Linux?

Ans.  Sudo or superuser do is a program for Unix and Linux-based Systems. It helps in giving specific users permission to use specific system commands at the root level of the system.

  1. How does Kubernetes orchestrate Containers?

Ans.  Kubernetes Containers are scheduled to run based on their scheduling policy and the available resources. Pods are added to a queue and the scheduler takes it off the queue and schedules it. In case of any failure, the error handler adds it back to the queue for later scheduling.

 

  1. How will you restrict communication between Kubernetes Pods?

Ans.  Communication between Kubernetes Pods is depending on the Container Network Interface (CNI) network plugin we are using. If it supports the Kubernetes network policy API, Kubernetes allows specifying network policies that restrict network access. Communication can be restricted based on IP addresses, ports, and/or selectors, a Kubernetes-specific feature for connecting and associating rules or components.  

  1. What are some of the advantages of using Git?

Ans.  Some of the advantages of using Git include –

  • Data redundancy and replication
  • High availability
  • High usability across projects
  • Only one Git directory per repository
  • Superior disk utilization and network performance
  • Collaboration friendly
  1. Explain the benefits of using version control.

Ans.  The primary benefits of version control are –

  • Enables comparing files, identifying differences, and merging the changes
  • Allows keeping track of application builds by identifying which version is under development, QA, and production
  • Helps to improve the collaborative work culture
  • Keeps different versions and variants of code files secure
  • Allows seeing the changes made in the file’s content
  • Keeps a complete history of the project files in case of central server breakdown
  1. What is “EUCALYPTUS”?

Ans.  “EUCALYPTUS” is the abbreviation for Elastic Utility Computing Architecture for Linking Your Programs to Useful Systems”. It can be used with DevOps tools such as Puppet and Chef.

  1. Do you have any idea about the job responsibilities of a DevOps engineer?

Ans.  Yes, DevOps engineers are usually responsible for enabling configuration, support, deployment, and fixing of issues with the business’s site/software. They work closely with developers and other technical teams and provide the operational support for new and existing sites/software, and debug production issues.

  1. What are the most common DevOps practices?

Ans.  DevOps best practices are –

  • Continuous Integration
  • Continuous Delivery
  • Communication and Collaboration
  • Infrastructure as Code
  • Monitoring and Logging
  • Microservices
  1. When would you use Selenium Grid?

Ans.  Selenium Grid can be used while executing the same or different test scripts on multiple platforms and browsers, simultaneously. The aim is to achieve distributed test execution and save the execution time.

  1. Explain the functioning of Selenium Grid.

Ans.  Selenium Grid sends tests to the hub, which are then redirected to Selenium Webdriver. It then launches the browser and runs the test. The tests run in parallel with the entire test suite.

  1. Can we use the Selenium grid for performance testing?

Ans.  Yes, but it is not as effective as Loadrunner, which is a dedicated Performance Testing tool.

  1. What is the Ansible module?

Ans.  Ansible modules are reusable and standalone scripts used by the Ansible API. Each module provides a defined interface, accepting arguments, and returning information to Ansible. It also performs tasks like spinning up a cloud instance or changing a database password.

  1. What are Playbooks in Ansible?

Ans.  Ansible playbook is the configuration, deployment, and orchestration language that defines work for a server configuration. Playbooks are developed in a basic text language and are readable by humans.

 

  1. Why should you prefer Containerization to Virtualization?

Ans.  Here is why we should prefer Containerization to Virtualization –

  • Containers ensure real-time provisioning and scalability, whereas Virtual Machines (VMs) provide slow provisioning
  • Containers are lightweight than VMs
  • Containers display superior performance than VMs
  • Containers ensure better resource utilization than VMs
  1. What is the Docker hub?

Ans.  Docker Hub is a cloud-based repository of Docker. It allows users to create, test, store, and distribute container images. It helps to –

  • Access public, open-source image repositories,
  • Use space to create their own private repositories
  • Build automated build functions, webhooks, and workgroups
  • Store manually pushed images and links to Docker cloud
  1. What is Docker Swarm?

Ans.  Docker Swarm is a tool for Docker containers, responsible for clustering and scheduling. It helps users establish and manage a cluster of Docker nodes as a single virtual system.

  1. Do you have ever used DevOps implementation in the cloud? Which are the most popular Cloud Computing Platforms?

Ans.  Some popular Cloud Computing Platforms are –

  • AWS (Amazon Web Services)
  • Microsoft Azure
  • Google Cloud
  1. What is Memcached?

Ans.  Memcached is a general-purpose distributed memory caching system. It is a free and open-source system that helps to enhance the response time for data that can otherwise be recovered or constructed from some other source or database.

  1. Why should you use Memcache?

Ans.  Memcache helps to –

  • Speed up application processes
  • Establish what to store and what not to
  • Reduce the number of retrieval requests to the database
  • Cuts down the I/O ( Input/Output) access (hard disk)
  1. What is the major difference between Memcache and Memcached?

Ans.  Memcache – It enables a user to work through handy object-oriented and procedural interfaces and reduces database load in dynamic web applications.

Memcached – It uses libmemcached library to provide API for communicating with Memcached servers. It is the latest API that alleviates database load.

  1. What is the Dogpile effect? How would prevent this?

Ans.  The Dogpile effect is an event when the cache expires, and websites receive multiple requests by the user simultaneously. This event can be prevented by the use of a semaphore lock. This helps to generate new value when the system value expires.

 

By bpci