Discover how to bridge the gap between development and the infrastructure teams as a deployment specialist.
Bridging the gap between development and the infrastructure teams is the deployment specialist. These days, the job is often titled DevOps specialist, indicating how these two worlds are being merged.
Ten Deployment/DevOps Interview Questions You Should Know
Bridging the gap between development and the infrastructure teams is the deployment specialist. These days, the job is often titled DevOps specialist, indicating how these two worlds are being merged. You can see how this role started in “Anatomy of a Software Development Role: Deployment.”
Image source: https://www.flickr.com/photos/wocintechchat/25926827581/
Author: WOCinTech Chat
Q0: What check-in standards do you recommend before a build can be scheduled?
A: The goal here is to get the candidate to articulate what source control conditions should be met before a full build. For instance, there may be a requirement that third-party analysis tools be run before a build can be performed or scheduled. A candidate may also suggest that, in some cases, before code can be checked in for a build, it might need a code review.
Image source: https://www.flickr.com/photos/onepointfour/6310364447/
Author: Dustin Gaffke
Q1: When should builds be scheduled, and when should the builds be “on-demand?”
A: A candidate should recognize that scheduled builds work well when there are a large number of developers on the team who may cause overlapping builds to happen (or to need to be prevented). On-demand builds are appropriate for projects with fewer developers, and when it makes sense for developers to iterate on each other’s work several times a day.
Image source: https://www.flickr.com/photos/dafnecholet/5374200948/
Author: Dafne Cholet
Q2: How do you refresh data into the quality assurance environment?
A: A candidate’s answer should include how production data is moved to the QA environment on a schedule. They should mention how the data is partitioned, so only some of the data comes back to the QA environment, and how the data is anonymized where that is required.
Image source: https://pixabay.com/en/glass-water-ice-cubes-drink-cold-1206584/
Q3: How do you prevent accidental connections between environments?
A: Environments should have barriers preventing them from talking to one another, so that the production system doesn’t use services from the developer workstations or the integration environments.
Image source: https://www.flickr.com/photos/arthur-caranta/3007271737/
Author: Arthur Caranta
Q4: How do you push configuration changes through environments?
A: Configuration is tricky to manage because the developer adds new configuration options to the software, and each environment has its own configuration files. A candidate should discuss that, typically, there is a merge process to create final configuration files out of parts that are solution-specific as well as some which are environment-specific.
Image source: http://m23.sourceforge.net/PostNuke-0.750/html/gfx/network_diagram.png
No author listed, from m23.sourceforge.net
Q5: How do you package your deployments?
A: The answer can be MSI, ZIP, or any suitable mechanism. The intent of the question is to identify the packaging mechanisms that the candidate is familiar with and has used.
Image source: https://www.flickr.com/photos/bods/2286095630/
Author: Andrew Bowden
Q6: How do you perform “smoke tests?”
A: Smoke tests are designed to quickly indicate a successful or failed deployment. The answer here should include automated or semi-automated execution of smoke tests, and a candidate should identify the kinds of tests that should be used to quickly assess whether or not the deployment was successful.
Image source: https://www.flickr.com/photos/centophobia/3457073907/
Q7: How do you manage roll-backs?
A: A typically overlooked process is what happens when the build fails to deploy to an environment. Understanding the steps that are taken—and that there are ways to recover—is the key to this question.
Image source: https://www.flickr.com/photos/campuspartyeurope/7858311034/
Author: Campus Party Europe in Berlin
Q8: How do you know when to deprovision dynamic test environments?
A: Generally, test environments are deprovisioned because there are a maximum number of environments that can be active at any one time—or because a time limit has expired. Conditions may dictate that users are notified before an environment is recycled.
Image source: https://www.flickr.com/photos/rhysasplundh/5202454842/
Author: Rhys A.
Q9: How do you secure certificates and signing information?
A: Because builds should be signed—and impossible to produce a version of the software not created on the build server—keeping the certificates and private keys restricted is important. However, developers need to be able to build the software for their testing. The response should discuss how a candidate can build for themselves while only the build server creates official builds.
Image source: https://pixabay.com/en/privacy-policy-keyboard-security-510731/