Explain what is DevOps?
It is a newly emerging term in IT field, which is nothing but a practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals. It focuses on delivering software product faster and lowering the failure rate of releases.
Mention what are the key aspects or principle behind DevOps?
The key aspects or principle behind DevOps is
– Infrastructure as code
– Continuous deployment
What are the core operations of DevOps with application development and with infrastructure?
The core operations of DevOps with
– Code building
– Code coverage
– Unit testing
Explain how “Infrastructure of code” is processed or executed in AWS?
– The code for infrastructure will be in simple JSON format
– This JSON code will be organized into files called templates
– This templates can be deployed on AWS and then managed as stacks
– Later the CloudFormation service will do the Creating, deleting, updating, etc. operation in the stack
Explain which scripting language is most important for a DevOps engineer?
A simpler scripting language will be better for a DevOps engineer. Python seems to be very popular.
Explain how DevOps is helpful to developers?
DevOps can be helpful to developers to fix the bug and implement new features quickly. It also helps for clearer communication between the team members.
List out some popular tools for DevOps?
Some of the popular tools for DevOps are
– ELK (Elasticsearch, Logstash, Kibana)
Mention at what instance have you used the SSH?
I have used SSH to log into a remote machine and work on the command line. Beside this, I have also used it to tunnel into the system in order to facilitate secure encrypted communications between two untrusted hosts over an insecure network.
Explain how would you handle revision (version) control?
My approach to handle revision control would be to post the code on SourceForge or GitHub so everyone can view it. Also, I will post the checklist from the last revision to make sure that any unsolved issues are resolved.
Mention what are the types of Http requests?
The types of Http requests are
Explain what would you check If a Linux-build-server suddenly starts getting slow?
If a Linux-build-server suddenly starts getting slow, you will check for following three things
How does HTTP work? How does a web page appear in a browser?
Basically, to prove that you understand (at a high-level) the infrastructure you’ll be working with, as well as the ability to explain concepts to others. DevOps is about communication too, remember?
Tell me about the worst-run/best-run outage you’ve been a part of. What made it bad/well-run?
Take lessons from both failures and successes in dealing with outages. Remember, there’s no shame in talking about the mistakes you’ve learned from.
How would you prepare for a migration from one platform to another?
Fairly self-explanatory, how do you handle transitions? How do you document the current state of your environment before moving, and how do you validate everything is as it should be after the fact?
How do you handle interruptions?
While it’s going to be your job to stop interruptions, how you deal with them now is important for getting an idea of if you know how to fix them quickly and if you know how to make devs and ops work together.
How would you deploy software to 5000 systems?
Do you know how you would go about large-scale deployments?
What different types of testing need to be carried out on a software system, and what tools would you use to achieve this testing?
For starters, you probably would want to test that your configurations are correct before and after making changes, and know how to validate that your environments are all consistent.
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.
What types of testing are needed?
Software teams will often look for the “fair weather” path to system completion; that is, they start from an assumption that software will usually work and only occasionally fail. I believe to practice defensive programming in a pragmatic way, which often means assuming that the code will fail and planning for those failures. I try to incorporate unit test strategy, use of test harnesses, early load testing; network simulation, A/B and multi-variate testing etc.
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.
Desired to gain proficiency on DevOps? Explore the blog post on DevOps training Online to become a pro in DevOps.
How do you expect you would be required to multitask as a DevOps professional?
Focus attention on bridging communication gaps between Development and Operations teams.
Understand system design from an architect’s perspective, software development from a developer’s perspective,operations and infrastructure from the perspective of a seasoned Systems Administrator.
Execute – to be able to actually do what needs to be done.
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.
What’s a PTR in DNS?
Pointer records are used to map a network interface (IP) to a host name. These are primarily used for reverse DNS. Reverse DNS is setup very similar to how normal (forward) DNS is setup. When you delegate the DNS forward, the owner of the domain tells the registrar to let your domain use specific name servers.
Describe two-factor authentication?
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.
What other tools might help you in this role?
DevOps is so diverse and inclusive that it rarely ends with coding, testing and systems. A DevOps project might rely on database platforms like SQL or NoSQL, data structure servers like Redis, or configuration and management issue tracking systems like Redmine. Web applications are popular for modern enterprises, making a background with Web servers, like Microsoft Internet Information Services, Apache Tomcat or other Web servers, beneficial. Make sure to bring across that you are familiar with Agile application lifecycle management techniques and tools.
Tell us about the CI tools that you are familiar with?
The premise of CI is to get feedback as early as possible because the earlier you get feedback, the less things cost to fix. Popular open source tools include Hudson, Jenkins, CruiseControl and CruiseControl.NET. Commercial tools include ThoughtWorks’ Go, Urbancode’s Anthill Pro, Jetbrains’ Team City and Microsoft’s Team Foundation Server.
For indepth understanding click on DevOps Tutorials