1. What are the core roles of DevOps Engineers in terms of development and Infrastructure?
The core job roles of DevOps Engineer?
- Application development
- Code developing
- Code coverage
- Unit testing
- Deployment With infrastructure
- Continuous Integration
- Continuous Testing
- Continuous Deployment
2. Explain your understanding and expertise on both the software development side and the technical operations side of an organization you’ve worked for in the past?
DevOps engineers almost always work in a 24/7 business critical online environment. I was adaptable to on-call duties and able to take up real-time, live-system responsibility. I successfully automated processes to support continuous software deployments. I have experience with public/private clouds, tools like Chef or Puppet, scripting and automation with tools like Python and PHP, and a background in Agile.
3. Which scripting languages do you think are most important for a DevOps engineer?
As far as scripting languages go, the simpler the better. In fact, the language itself isn’t as important as understanding design patterns and development paradigms such as procedural, object-oriented, or functional programming.
4. What’s your systems background?
Some DevOps jobs require extensive systems knowledge, including server clustering and highly concurrent systems. As a DevOps engineer, you need to analyze system capabilities and implement upgrades for efficiency, scalability and stability, or resilience. It is recommended that you have a solid knowledge of OSes and supporting technologies, like network security, virtual private networks and proxy server configuration.
DevOps relies on virtualization for rapid workload provisioning and allocating compute resources to new VMs to support the next rollout, so it is useful to have in-depth knowledge around popular hypervisors. This should ideally include backup, migration and lifecycle management tactics to protect, optimize and eventually recover computing resources. Some environments may emphasize microservices software development tailored for virtual containers. Operations expertise must include extensive knowledge of systems management tools like Microsoft System Center, Puppet, Nagios and Chef.
such as a card, and the other is typically something memorized, such as a security code. (Onlie Training Institute)
5. What are the uses of API’s in cloud services?
API’s (Application Programming Interface are used to eliminate the necessity to write the complete programs.
The instructions are provided to make communication between one or more applications.
Creation of applications is made easy and access for the link of cloud services with other systems.
6. Explain how Memcached should not be used?
- Memcached common misuse is to use it as a data store, and not as a cache
- Never use Memcached as the only source of the information you need to run your application. Data should always be available through another source as well
- Memcached is just a key or value store and cannot perform query over the data or iterate over the contents to extract information
- Memcached does not offer any form of security either in encryption or authentication. (DevOps Engineer Interview Questions)
7. Mention the different datacenters deployment of cloud computing?
Cloud computing consists of different datacenters such as :
Containerized datacenters: Containerized datacenters are the packages that contain consistent set of servers, network components and storage delivered to large warehouse kind of facilities. Here each deployment is relatively unique.
Low-density datacenters: Containerized datacentres promote heavy density which in turn causes much heat and significant engineering troubles. Low density datacentres are the solution to this problem. Here the equipment is established far apart so that it cools down the generated heat.
8. How is DevOps different from Agile / SDLC?
I would advise you to go with the below explanation:
Agile is a set of values and principles about how to produce i.e. develop software. Example: if you have some ideas and you want to turn those ideas into working software, you can use the Agile values and principles as a way to do that. But, that software might only be working on a developer’s laptop or in a test environment. You want a way to quickly, easily and repeatably move that software into production infrastructure, in a safe and simple way. To do that you need DevOps tools and techniques.
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.
9. Does this change affect all the components of Puppet?
As part of this change, we’re also changing the license of the Facter system inventory tool to Apache. This change will take effect with Facter version 1.6.0, and earlier versions of Facter will remain licensed under the GPLv2 license. This change will bring the licensing of Puppet’s two key components into alignment.
10. Which scripting language is most important for a DevOps engineer?
- Software development and Operational automation requires programming. In terms of scripting
- Bash is the most frequently used Unix shell which should be your first automation choice. It has a simple syntax, and is
- designed specifically to execute programs in a non-interactive manner. The same stands for Perl which owes great deal of its popularity to being very good at manipulating text and storing data in databases.
- Next, if you are using Puppet or Chef it’s worth learning Ruby which is relatively easy to learn, and so many of the automation tools have been specifically with it.
- Java has a huge impact in IT backend, although it has a limited spread across Operations.
11. 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.
- Continuous software delivery
- Less complex problems to fix
- Faster resolution of problems
- Faster delivery of features
- More stable operating environments
- More time available to add value (rather than fix/maintain)
12. Discuss your experience building bridges between IT Ops, QA and development?
DevOps is all about effective communication and collaboration. I’ve been able to deal with production issues from the development and operations sides, effectively straddling the two worlds. I’m less interested in finding blame or playing the hero than I am with ensuring that all of the moving parts come together. (DevOps Engineer Interview Questions)
13. What is Version control?
This is probably the easiest question you will face in the interview. My suggestion is to first give a definition of Version control. It is a system that records changes to a file or set of files over time so that you can recall specific versions later. Version control systems consist of a central shared repository where teammates can commit changes to a file or set of file. Then you can mention the uses of version control.
Version control allows you to:
- 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.
14. What is DevOps engineer’s duty with regards to Agile development?
DevOps engineer work very closely with Agile development teams to ensure they have an environment necessary to support functions such as automated testing, continuous Integration and continuous Delivery. DevOps engineer must be in constant contact with the developers and make all required parts of environment work seamlessly.
15. 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.”
Distributed VCS tools do not necessarily rely on a central server to store all the versions of a project’s files. Instead, every developer “clones” a copy of a repository and has the full history of the project on their own hard drive. (DevOps Interview Questions and Answers for Experienced Pdf)
16. How is AWS Elastic Beanstalk different than AWS OpsWorks?
- AWS Elastic Beanstalk is an application management platform while OpsWorks is a configuration management platform. BeanStalk is an easy to use service which is used for deploying and scaling web applications developed with Java, .Net, PHP, Node.js, Python, Ruby, Go and Docker.
- Customers upload their code and Elastic Beanstalk automatically handles the deployment. The application will be ready to use without any infrastructure or resource configuration.
- In contrast, AWS Opsworks is an integrated configuration management platform for IT administrators or DevOps engineers who want a high degree of customization and control over operations.
17. How does HTTP work?
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 responds 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. HTTP allows improvement of its request and response with the help of intermediates, for example a gateway, a proxy, or a tunnel. The resources that can be requested using the HTTP protocol, are made available using a certain type of URI (Uniform Resource Identifier) called a URL (Uniform Resource Locator). TCP (Transmission Control Protocol) is used to establish a connection to the application layer port 80 used by HTTP.
18. What is AWS CodeBuild in AWS Devops?
AWS CodeBuild is a fully managed build service that compiles source code, runs tests, and produces software packages that are ready to deploy. With CodeBuild, you don’t need to provision, manage, and scale your own build servers. CodeBuild scales continuously and processes multiple builds concurrently, so your builds are not left waiting in a queue.
19. How lululemon athletica uses AWS Devops?
lululemon athletica uses a variety of AWS services to engineer a fully automated, continuous integration and delivery system. lululemon deploys artifacts distributed via Amazon S3 using AWS CodePipeline. From this stage, the artifacts are deployed to AWS Elastic Beanstalk.
20. What’s your career objective in your role as a DevOps engineer?
My passion is breaking down the barriers and building and improving processes, so that the engineering and operations teams work better and smarter. That’s why I love DevOps. It’s an opportunity to be involved in the entire delivery system from start to finish.(DevOps Engineer Interview Questions)
21. Explain your understanding and expertise on both the software development side and the technical operations side of an organization you’ve worked for in the past?
DevOps engineers almost always work in a 24/7 business critical online environment. I was adaptable to on-call duties and able to take up real-time, live-system responsibility. I successfully automated processes to support continuous software deployments. I have experience with public/private clouds, tools like Chef or Puppet, scripting and automation with tools like Python and PHP, and a background in AGILE.(DevOps Online Training)
22. What special training or education did it require for you to become a DevOps engineer?
DevOps is more of a mind-set or philosophy rather than a skill-set. The typical technical skills associated with DevOps Engineers today is Linux systems administration, scripting, and experience with one of the many continuous integration or configuration management tools like Jenkins and Chef. What it all boils down to is that whatever skill-sets you have, while important, are not as important as having the ability to learn new skills quickly to meet the needs. It’s all about pattern recognition, and having the ability to merge your experiences with current requirements.Proficiency in Windows and Linux systems administration, script development, an understanding of structured programming and object-oriented design, and experience creating and consuming RESTful APIs would take one a long way. (DevOps Engineer Interview Questions)
23. Are you more Dev or Ops?
This is probably the trickiest question that you might face in the interview. Emphasize the fact that this depends a lot on the job, the company you are working for and the skills of people involved. You really have to be able to alternate between both sides of the fence at any given time. Talk about your experience and demonstrate how you are agile with both. (Splunk Training)
24. Is there a difference between Agile and DevOps? If yes, please explain.
As a DevOps engineer, interview questions like this are quite expected. Start by describing the obvious overlap between DevOps and Agile. Although implementation of DevOps is always in sync with Agile methodologies, there is a clear difference between the two. The principles of Agile are associated to seamless production or development of a piece of software. On the other hand, DevOps deals with development, followed by deployment of the software, ensuring faster turnaround time, minimum errors, and reliability
25. What is Amazon Web Services in DevOps?
AWS provides services that help you practice DevOps at your company and that are built first for use with AWS. These tools automate manual tasks, help teams manage complex environments at scale, and keep engineers in control of the high velocity that is enabled by DevOps. (Puppet Training Online)
26. What is the role of a DevOps engineer?
There’s no formal career track for becoming a DevOps engineer. They are either developers who get interested in deployment and network operations, or sysadmins who have a passion for scripting and coding, and move into the development side where they can improve the planning of test and deployment.
27. How would you explain the concept of “infrastructure as code” (IaC)?
It is a good idea to talk about IaC as a concept, which is sometimes referred to as a programmable infrastructure, where infrastructure is perceived in the same way as any other code. Describe how the traditional approach to managing infrastructure is taking a back seat and how manual configurations, obsolete tools, and custom scripts are becoming less reliable. Next, accentuate the benefits of IaC and how changes to IT infrastructure can be implemented in a faster, safer and easier manner using IaC. Include the other benefits of IaC like applying regular unit testing and integration testing to infrastructure configurations, and maintaining up-to-date infrastructure documentation. (DevOps Engineer Interview Questions)
28. How would you make software deployable?
The ability to script the installation and reconfiguration of software systems is essential towards controlled and automated change. Although there is an increasing trend for new software to enable this, older systems and products suffer from the assumption that changes would be infrequent and minor, and so make automated changes difficult. As a professional who appreciates the need to expose configuration and settings in a manner accessible to automation, I will work with concepts like Inversion of Control (IoC) and Dependency Injection, scripted installation, test harnesses, separation of concerns, command-line tools, and infrastructure as code. (DevOps Video Training)
29. What testing is necessary to ensure that a new service is ready for production?
DevOps is all about continuous testing throughout the process, starting with development through to production. Everyone shares the testing responsibility. This ensures that developers are delivering code that doesn’t have any errors and is of high quality, and it also helps everyone leverage their time most effectively.
30. What are reasons that made Amazon so big?
Backup storage of EBS volumes is maintained by inserting the snapshot facility via API call or via a GUI interface like elasticfox.
Performance is improved by using Linux software raid and striping across four volumes.