As an Azure SME at my current company, I am usually tasked with interviewing new candidates and assessing their Azure Technical skills. When I googled/binged Azure Interview questions, I noticed that there are very few resources for Azure (lots for AWS) and most of them are outdated. As the second largest public Cloud provider (some might argue the largest now) that is un-acceptable since we know lots and lots of people are skill-ing up on Azure as we speak and are looking for such positions.
My plan is for this post to be a reference guide for anyone preparing for an Azure interview while also keeping it updated as new features keep coming to Azure and as trends change. This post will show you the type of questions I or others in the industry ask and what do we want to see as a response, this is in no-way a cheat sheet to pass the interview but just a guide to better prepare yourself.
Microsoft Azure Interview Questions
One of the first things most hiring managers like to do in an interview is to get the candidates to talk about the latest environments they either built, designed or even supported. This gives us a chance to understand if the candidate is looking at the environment from an architectural view and if he has that sense. In simple words, Do you have a visual for the environment in your head?
So below are the type of questions that would be asked for this section and what we expect to see.
- Tell me about the latest environment that you supported in the cloud?
- I would like to first get a quick summary of the app that this environment was created for. What does it do? What are the major considerations for the app (compliance, handle high load or SLA)?
- After the app summary, I expect to hear the traffic flow from a user’s perspective. For example: When the users go to http://www.hammadaslam.com, they will first go through an Azure Traffic Manager, I like that to be the entry point in case we want to add a DR environment or even a Blue-Green deployment, then they hit a CDN (Content Delivery Network or a WAF (Web Application Firewall). This for me is a great start, the candidate did not right away start talking about web servers but understands the components that come before it. A good tip here is, even if your environment does not have a CDN or a WAF, it would be great to bring those up and maybe add why it was not used for this specific environment. For example: So the users will right away hit the Load Balancer, having a WAF in front of the servers was not an option for us due to budget limitations or something like that. The other thing that will make you stand-out, is the fact that you brought up a deployment method, without even going into any details here, you made me realize that you are aware of different deployments method and this is a critical component for all DevOps minded organisations ( This should be all Organisations but alas).
- Then you can start talking about the Front-End Servers, bring up how they are HA (Highly Available), how they scale and any other factors. If I am hiring for a junior position here, I expect a simple answer talking about multiple servers behind a load balancer but for a more senior position, I would love to hear about the factors that come into play when it comes to scaling. A great answer here would sound like this. Our Front-End servers are state-less Or we use Redis to store the state so we are able to scale up to how many we want, logging was a factor we had to take into account, so we leveraged application insights/Splunk and streamed all our logs there. We put our front-end servers in an Availability Set since we do not yet have Availability Zones in our region. I would have loved such an answer because 1. you talked about state-less, a major architectural component that all Architects take into account when it comes to scaling their application. 2. You talked about availability sets/zones, that showed me that you are aware what the latest architectural recommendation is from Microsoft and due to region limitations you went with a different route. Some talk about SLA would have been great too. We wanted 4 9s but we only have availability sets in our region so our SLA for our front-end servers is only 3 9s. SLAs are a major factor in the Cloud world, simple configurations can make a big difference (Search for Managed Premium Disks vs Managed Standard Disks SLAs)
- The database component, relational or non-relational. Some talk about caching. Is a CDN being used to load images and css files?. Is Redis being used to cache frequent database queries?
- This is also a good chance for you to talk about deployments and how they are handled. Rolling, Blue-Green or Canary, use those terms since they show your familiarity with them.
- Last but not least, DO NOT forget about security. You need to show that security is always on your mind, when talking about any components within the environment, talk about how you accounted for any type of risks and the greatest risk in the Cloud is Security. Talk about Bastion hosts (jump boxes), Security Center, WAFs, encrypted communications (how you are communicating with PaaS services such as Azure Redis or Azure SQL) and least privilege access.
- As you can see above, this was a huge section. I personally think this is where you get to set the tone for the whole interview. Tell me about an environment is a very open ended question, so you have the opportunity to show how deep your technical skills are. There have been instances where after this question, I already knew if I wanted to hire this person or not and did not even bother with the other questions in my list. So a pro tip, This question is your time to shine. Other simple architectural questions might follow such as, what is the difference between scaling horizontally or vertically? What is a micro-services architecture?
- One question I wanted to add, is something that shops that work closely with Microsoft might ask and it is definitely worth knowing. What do you know about the Microsoft Cloud Adoption Framework?. Microsoft has some great resources for Architects and they have a framework that they recommend organisations to follow when migrating or building on the Cloud. I highly recommend you to check out those resources and get familiar with that framework not just for the interview but it will also prove very useful when a customers asks you, Ok we want to move to Azure, now what?
Azure DevOps (formerly Visual Studio Team Services) went GA mid 2018 and has now become a critical skill for anyone looking to work with Azure. After-all, as my new company states Your Cloud Transformation journey is in-complete until you have a DevOps strategy in-place (more about that later in the week, it surely is exciting).
My recommendation here is to try and get your current customers to work with Azure DevOps and start building pipelines for them to get proper exposure. But if you do not have that luxury, Azure DevOps Labs is a great great resource to get you started, it sets up a whole lab for you with all the source code you need, and all you need to do is follow the instruction to set-up build jobs and pipelines on Azure. I highly recommend doing all of the Azure DevOps labs.
Below are some of the questions I have encountered but I do not feel like they truly assess your skills with Azure DevOps but its a start.
- What are Artifacts within Azure DevOps?
- What is the use of “Boards” within Azure DevOps?
- The only default agents within Azure pipelines are Windows machines, True or False? A tip here: nothing within Microsoft is Windows only anymore. Microsoft loves Linux :D.
Infrastructure as a code (IaaC)
No enterprise organisation will ever ask you to build a complete environment through the Azure Portal, its just bad practice. You can never be sure of the naming conventions and that environments are truly identical. Here comes in, Infrastacture-as-a-code, where you will be asked about ARM templates or Terraform, even Azure CLI and Powershell.
If you are more than a year into your Azure journey and you haven’t yet, I highly recommend you to try and stay out from the Portal as much as possible when it comes to creating new resources. I personally love doing things through Azure CLI through the Cloud Shell or wait for it…… The new Windows Terminal (preview, bing it).
Now for the questions that you can expect, as was the case with DevOps, you can only truly master IaaC by actually doing it but the questions below should give you an idea on what to expect.
- In an ARM template, how can you make sure your pre-req components are created before deploying a resource? For example. that a VNET is built before starting to deploy a VM.
- This is common between both Terraform and ARM, within the JSON template, you need to have the “depends on” key. Therefore, that resource is not deployed until everything in the depends-on section is deployed.
- What are the four major components of an ARM template?
- Parameters, Variable, Resources and Outputs.
- You just built a VM with a dynamic public IP, how can you know what IP it is without going to the Portal?
- Think about the output component section with the ARM template, what must it do?
- I have already built an environment through the Portal but now I want to ARM template it, is there a way to get the code for it?
- Of course there is, Go to the resource group and check out templates.
Different Azure Components
Architectural sense, DevOps and IaaC are usually the biggest items on my list but some companies will also as a few questions here and there about Azure to see how familiar are you with it and if you keep up with the new things. Don’ t be scared to say I do not know here, its totally understandable that there are many components within Azure that you might have never touched, I mean who uses Azure Service Fabric anymore!!!!
Below are a few sample questions I have heard, of course there is no end to these questions, again remember you can say I do not know:
- What are Management Groups within Azure?
- What are Azure Blueprints and how do they differ from ARM templates?
- What permissions do you need to set a lock on a resource?
- If you have Virtual Networks in two different regions in Azure, Can you do VNet Peering or do you have to use a VPN?
- What is the Kubernetes service in Azure called?
- What is the difference between Azure Classic and Azure ARM?
The above is usually what I focus on when interviewing candidates, just be confident and feel free to steer the conversation to your points of strength and feel free to say, I have not got to work on this yet but I would love to. Also a very important component, we technical people tend to overlook, are the basic soft skills and manners, those go a long way. Be sure to expect a question about how to deal with hard customers or teammates that are not carrying their weight. Not just that, but also a Thank You note right after the interview is always greatly appreciated. Try not to send a one line Thank you email but try and work-in some of the things you heard in the interview. For example, If you heard that the team is working on a project with a very hard deadline and hence why they are hiring, add that to your email. Be like, how if you got the position, you are planning on hitting the ground running and helping the team deliver the project with the highest quality within the set deadline.
All that shows that you care and that you are truly passionate about the position, and that is all that matters. As one of my mentors always told me:
Hammad, any monkey can learn a technology, but they cannot learn PASSION.