Preparing for an interview is a never-ending process, because you will never know what the interviewer is going to ask you and how. And that's why IT people always say, "I'm still not the Master in my field as improvements plus new technologies are coming up day-by-day".
People often consider SRE and DevOps as “Siblings”, but in-reality they are different. Site Reliability Engineering or SRE is more often related to Software Engineering/discipline which is integrated to IT Operations or you can simply say the "Infrastructure". Whereas, DevOps is more related to IT Operations work which helps or ease the process of Software development.
Therefore the person who will appear in the SRE job interview must prepare for the interviewer's question "SRE vs DevOps." It is the most likely question to be posed in the Site Reliability Engineer Interview Questions and you can simply answer it like this, “Site Reliability Engineer find the problems in the system and fix some of those. On the other side, DevOps find the problems and send them to the dev team for fixes.”
One should remember the following points before applying for an SRE job interview:
- Have you got a decent knowledge of any of Python, Java and other software languages?
- Do you know how to create, manage the infrastructure on different platforms, like On-premise, on Cloud, on Data Centers?
- Do you know the definitions and principles of networking?
- Do you know how to integrate your application/code with different monitoring platforms DataDog, Nagios, Icinga, ELK, Kafka, etc?
- Do you have experience in writing automation code for testing and deployment using tools such as Ansible, Chef and Terraform?
- Are you good at knowing workflows so that troubleshooting of issues or bugs can be done easily?
If you are aware of most of the above listed points, then you have applied for the right job and you can be a good fit for the SRE profile.
What to Expect Into the SRE Interview?
As I said, you can't guess what questions will be put before you in an interview. But still, some common questions are asked more often. Some of these questions are therefore collected as follows.
Why Are You Looking for an SRE Profile?
To answer this question you should reply like, in my past and current profile I am bridging the gap of the Development and Information Technology team. I am implementing the new technologies stacks, handling the infrastructure, etc but when some issue comes in service/code then I am just notifying the service owner to look into and fix the problem. But now I have prepared myself plus developed my interest to fix such kinds of production issues, and not just asking others to do that. So that’s why now I am looking for an SRE profile.
How Do You Handle the Deployment/Removal of SSH Keys?
There are many ways to do this. If your organization has defined a set of rules, automation codes for ssh key deployment process, then answer them with how you are doing it in your current job profile. You can also add your own ideas, suggestions to improve the existing process.
Is There Any Difference in SLA and SLO?
This question seems to be very simple, but in actual people are only aware of SLA (Service Level Agreement), and less about SLO (Service Level Objective). SLA’s is the “Promise” that we give to our Customers for the uptime & availability of the services, whereas SLO is the “Goal” which we set to meet the SLA. That’s it is the recovery time/duration that we set for ourselves if in case any service goes offline.
What Activities Do You Plan in Your Monthly Maintenance Window (Mw)?
This is among the most important questions to know about your credibility. Usually a Maintenance window is planned when:
- Infrastructure needs an update (OS patches, Security patches, etc).
- Database Migration/Upgrades.
- Changes to the existing hardware if any.
- Providing bug fixes to known issues, which might take more time than usual.
- Testing the limits of your infrastructure of handling the requests.
Don’t forget to mention that we have to notify all the customers, stakeholders, project managers about any Maintenance window.
How Automated Deployment Works Using Git/Github and Jenkins?
This is another key question to be asked by any interviewer. Start answering this question by stating that:
- We need to first integrate both Git/Github and Jenkins by installing the respective plugins/hook-up urls so that they can communicate.
- After that we have to create a Jenkins job or pipeline and have to configure how to build the job and initiate the build triggers, so that whenever a change is pushed to the Git/Github, Jenkins will be notified and triggers the job automatically.
- In addition to above, we can also do the automated testing by integrating the Selenium with Jenkins.
How Will You Secure Your Docker Container Based Setup?
This is again a good technical question to check your technical skills and expertise. You can impress your interviewer by answering as below:
- By enabling the Docker content trust in environment variables.
- By using third-party tools like BlackDuck, Snyk, Harbor, to continuously scan and check your images for any vulnerabilities.
- By using the concept of Secrets to protect the sensitive data inside your containers.
What Will You Do to Save the Infrastructure Cost on AWS?
Nowadays, every organization is hosting their services as well as infrastructure on Cloud and AWS is one of the leading Cloud service provider and hence it is quite often that this cost saving question comes to you in the interview. So you can answer it like below:
- First, we need to find out which EC2 instances are not being utilized more than 70-80%. After that we need to downgrade the instances to lesser hardware resources.
- Second, we need to look at Amazon Elastic Block Store (EBS), if it is totally utilized or not. If not, then we have to reduce its size.
- Third, by implementing auto start/stop (using Lambda function) on those EC2 instances which are only used as Dev and Test environments and need not to be run 24 hours a day.
Interview Challenges That You Need to Overcome
To be successful in any of the interviews one must have to be ready or to prepare themselves for any interview challenges because you don’t know how the whole conversation will go. So we have curated a list of interview challenges apart from the technical SRE stuff.
Zero or Less Preparation
Before heading towards a destination we often plan plus prepare ourselves, so that we can enjoy our vacations. But when it comes to the interview, we often neglect the interview preparation and that’s why it is one of the biggest interview challenges a person faces.
Don’t Know Where to Go
There are many people who don’t know what they are passionate about, which job profile they should have to apply for. They even try their luck in those profiles which is beyond their interest and knowledge. So, for a successful interview one should be clear and specific while applying for the job.
Fears of Face-to-Face Discussions
This is one of the common interview challenges that 90% of the people are fascinated with. There are many people who are very good in technical knowledge plus real time working, but when it comes to 1-on-1 discussions then they fail miserably to express their views. Reason being they didn’t focus much on their communication skills, have less confidence and also fear to make mistakes.
Fail to Answer Behavioral/Situation-Based Questions
Interviewers are very smart and they will check your behaviour by putting you in a stressed situation. So you have to make yourself mentally strong to tackle such situations, and have to give a positive approach, even if you are unable to answer their questions. People often try to become smarter in front of the interviewer, but in fact, they're showing their true side to be dishonest.
Tips & Hacks for a Successful Interview
There are no shortcuts to get “Success”. A little planning will work for you sometime, but not every time. So you need to prepare/train yourself everyday for the fight in the future. Whether this fight is related to your personal life or your professional life, you need to be “Ready”.
Similar is the case when it comes about appearing and getting success in a job interview. People often read the job profile and according to that start their preparation. But still there are many things that also need to be considered before facing the interviewer. So, we have compiled some of the pre-tips & hacks which might help you to get in a “Win-Win-Win” situation.
Well, Know Your Audience
Know about the company/organization, about their product and services where you are going to be interviewed. You can collect this information from anywhere. Either from their websites, official Facebook page, Twitter account, etc.
Get Interview Details
Ask HR to share the complete interview process and the people who you are going to meet in different rounds from the company. Once you have this information try to know about these people, their professional background, what they are more interested in, etc.
Know Your Ace
If you are appearing in a technical interview (like SRE job Interview) then always put your “Best foot forward”, which means show them in which technology stack you are best and more confident and how you can use it to improve their product/services. Always, give some examples/scenarios in support to your views.
Be Adaptive & Problem Solver
If you are appearing for an interview where relevant experience is asked, then prepare yourself to answer the situation-based questions. This is because they will check your strategic behavior, how quickly you can respond to a situation that you are not used to, and how you are going to put your ideas in place to solve a particular problem.
Never Forget Your Past
Learn from your past interview experience, what questions have been asked, anything you have learned new. Create a list of those questions and discuss them with your friends, colleagues and finally note down the best answer for future references.
So we have tried to cover most of the do's to prepare for a Site Reliability Engineer Interview, but still the things can vary from company to company. Every company has their own way of using different technologies to create their products, to run their apps/websites and hence have different choices to fill their SRE team.
Finally, we hope that this blog post will somehow help you in getting prepared for any interview, plus help to reduce the fear before the interview and to overcome the obstacles with humor. Good-bye and keep Learning!