Google Site Reliability Engineer (SRE) Interview (questions, process, prep)

Google Site reliability engineer interview

Google site reliability engineer (SRE) interviews are unique and complex.

You'll need to be very good at Leetcode-type coding problems, you'll need to know all about Linux internals, and you'll need to be excellent at designing systems and working out why they go wrong.

Sounds difficult? We're here to help. Use this guide to structure your prep, and when you want to dive deeper, simply follow our links to free learning materials.

Let’s get started.

Click here to practice 1-on-1 with Google SRE ex-interviewers

1. Interview process and timeline

What’s the Google site reliability engineer interview process and timeline? It usually takes three months or even more, and follows the steps below.

1.1 What interviews to expect

  1. Resume screen
  2. Online assessment (in some cases)
  3. Phone interview (1-2 interviews, 45-60 min each)
  4. Onsite interviews (4-5 interviews, 45-60 min each)

Let’s take a look at these steps in more detail.

1.1.1 Resume screen

First, recruiters will look at your resume and assess if your experience matches the open position. This is the most competitive step in the process, as most candidates do not make it past this stage. Check out our free Google resume guide with examples for help on writing yours.

If you’re looking for expert feedback on your resume, you can get help from our team of ex-FAANG recruiters, who will cover what achievements to focus on (or ignore), how to fine tune your bullet points, and more.

If you do have a connection to someone at Google, it can be really helpful to get an employee referral to the internal recruiting team, as it may increase your chances of getting into the interview process.

1.1.2 Online assessment (in some cases)

Some candidates will receive an invitation for an online test before moving on to the first-round calls. These are more common for internship and junior positions, but may appear in experienced positions as well.

The test is a coding assessment, testing your ability to use common data structures and algorithms.

1.1.3 Phone interviews

The next step includes one or two calls with Google interviewers via Google Hangouts, which last 45-60 minutes each.

These phone interviews are with a Google engineer. You will probably be given one or more coding problems to work through, and you may also be asked questions that test your knowledge on Linux internals, or asked to troubleshoot a process in Linux.

You’ll typically be doing your coding using a shared Google Doc, where you’re unable to run the code or see any static analysis. While most candidates chose to code in Python, you can choose to code in Java or C++ if you prefer.

1.1.4 Onsite interviews

The final stage in the Google site reliability engineer interview process is the final onsite or virtual interview loop. This will include:

  • 2-4 coding interviews
  • 1 behavioral interview
  • 1 large systems design interview (some candidates)

We’ll be getting into greater detail on each of these types of questions, including examples, in section 2.

The interviews will be one-on-ones with a mix of people from the team you’re applying to join, including site reliability engineers, software engineers, hiring managers, etc.

If you are physically onsite, one or more of the engineers will probably accompany you for lunch in the Google canteen. This isn't technically an interview but you should still try to make a good impression.

For your coding and system design interviews you'll either be drawing out systems and code on a physical whiteboard, or using a Chromebook plugged in to a projector screen. We recommend you practice using these materials at home before going in for the interviews.

1.2 What exactly is Google looking for?

At the end of each interview, including the initial phone screens, each interviewer will grade your performance using a standardized feedback form

That form is constantly evolving, but we have listed the main components we know of at the time of writing this article below.

A) Questions asked

In the first section of the form, the interviewer fills in the questions they asked you. Future interviewers will take a look at this to make sure that you don't get asked the same questions twice.

B) Attribute scoring

Each interviewer will also assess you on the four main attributes Google looks for when hiring:

  1. Role-related knowledge and experience (RRK). The company wants to make sure that you have the right experience, domain expertise, and competencies for the position you're applying for. More information in this guide to Google RRK questions.
  2. General cognitive ability (GCA). The company wants to hire smart employees who can learn and adapt to new situations. Here your interviewer will try to understand how you solve hard problems and how you learn. More information in this guide to Google and GCA.
  3. Leadership. Google looks for a particular type of leadership called “emergent leadership.” You'll typically be working in cross-functional teams at Google, and different team members are expected to step up and lead at different times in the lifecycle of a project when their skills are needed. More information in this guide to Google leadership questions.
  4. Googleyness (i.e. culture fit). The company wants to make sure Google is the right environment for you. Your interviewer will check whether you naturally exhibit the company's values, including: being comfortable with ambiguity, having a bias to action, and a collaborative nature. More information in this guide to Googleyness.

Depending on the exact job you're applying for, these attributes might be broken down further. But the total number of attributes does not usually exceed six or seven.

In this middle section, Google's interviewers typically document your answers to each question in detail, and give you a score for each of the attributes above (e.g. "Poor," "Mixed," "Good," "Excellent").

C) Final recommendation

Finally, interviewers will write a summary of your performance and provide an overall recommendation on whether they think Google should be hiring you or not (e.g. "Strong no hire," "No hire," "Leaning no hire," "Leaning hire," "Hire," "Strong hire").

1.3 What happens behind the scenes

If things go well at your onsite interviews, here's what the final part of the process looks like:

1. Interviewers submit feedback

After your onsite, your interviewers will all submit their feedback usually within two to three days. This feedback is then passed on to the hiring committee.

2. Hiring committee recommendation

The hiring committee will review the interviewers’ feedback, along with your resume, internal referrals, and any past work you have submitted. At this stage, the hiring committee will make a recommendation on whether Google should hire you or not.

3. Team matching

If the hiring committee recommends that you get hired, you'll usually start your team matching process. In other words, you'll talk to hiring managers and one or several of them will need to be willing to take you in their team in order for you to get an offer from the company.

4. Senior leader and Compensation committee review

In parallel, the hiring committee recommendation will be reviewed and validated by a Senior manager, and a compensation committee who will decide how much money you are offered.

5. Final executive review (only senior roles)

If you are interviewing for a senior role, a Senior Google executive will review a summary of your candidacy and compensation before the offer is sent to you.

6. You get an offer!

As you've probably gathered by now, Google goes to great lengths to avoid hiring the wrong candidates. This hiring process with multiple levels of validation helps them scale their teams while maintaining a high caliber of employees. But it also means that the typical process can spread over multiple months.

2. Example questions

Now that you've learned how the interview process should pan out, let's go into detail on what kind of questions you can expect to face.

Most site reliability engineer candidates will get questions across five different categories:

Let's dive into each category. For each, we've listed real questions reported by Google SRE interview candidates on Glassdoor.

2.1 Coding interview questions 

Google runs large services that are constantly getting new features, and SREs are responsible for writing the software that makes this possible through automation.

Therefore, interviewers will test your problem-solving skills and ability to think in a structured way using code. They'll want you to have strong knowledge of common data structures and algorithms and to be able to code bug-free.

The coding problems that you're given will have a brute force solution to them. You're first aim will be to reach the brute force solution and then the rest of the interview is usually taken up with trying to find a more efficient solution. The interviewer will give you hints to point you towards the right track.

Let's take a look at some example questions.

Site reliability engineer interview questions: Coding

  • How would you implement a sorted hash table in C?
  • Design a data structure to read a stream of temperatures and find the max within the past 24 hours
  • Given an array of integers find indices I < j < k such that a[I] < a[j] < a[k]
  • Given a matrix (not necessarily a square), a starting position on the matrix, and a set of valid moves, count the total number of paths from the starting position.
  • Given a collection of ads (data structure given), what is the mean and median of the array?
  • Find the height of a Binary Search Tree; How many leaf-levels would a tree with X amount of nodes contain?
  • Given a data structure of rows (source, ratio, destination), find the value of conversion for a given source to a given destination. Example (EUR, 1.23, GBP)

Finally, we recommend reading this guide on how to answer coding interview questions and practicing with this list of coding interview examples in addition to those listed below.

2.2 Linux internals

Unlike the Meta production engineer interview process where you can get by at least until the onsite with a superficial knowledge of Linux, for a Google SRE-SE role you won't even make it past the phone screen if you don't have a deep understanding of Linux internals.

You’ll be expected to be able to explain aspects of processes, system calls, file systems, context switching, kernel resource management, kernel network stack, how the shell works and why, and client-server protocols.

Below, the first five example questions are from Google SRE interview reports. The rest are from Meta interviews, but are still the kind of thing you're likely to be asked.

Google SRE interview example questions: Unix/Linux

  • What is a zombie process?
  • What's the difference between a hard and soft link in Linux?
  • Which system call’s return value is not zero although it is ended successfully?
  • How does a garbage collector work?
  • What's the difference between TCP and UDP?
  • How do you load a Linux kernel?
  • What's a signal and how is it handled by the kernel?
  • What is the swap area, regarding memory?
  • What is the default signal that is generated when sending a kill command to a process in Linux?
  • What happens in Linux, on a kernel level, when you type in ls -l? (solution)

2.3 Troubleshooting questions

As a site reliability engineer, troubleshooting will be one of the main aspects of your role. If a system fails, it can cost Google millions of dollars per hour. It's your job to make sure that doesn't happen or, if it does, fix it as soon as possible.

Either in the phone interview or onsite you're likely to be given a hypothetical problem around systems troubleshooting and your objective is to effectively and systematically find the root cause.

Site reliability engineer interview questions: Troubleshooting

  • How would you troubleshoot network packets reaching some parts of the network and not others?
  • You’re on-call for the Shakespeare search service and receive an alert, Shakespeare-BlackboxProbe_SearchFailure: your black-box monitoring hasn’t been able to find search results for “the forms of things unknown” for the past five minutes. What do you do?

2.4 Non-Abstract Large Systems Design (NALSD) questions

Site reliability engineers at Google need to be able to understand and often predict the emergent behavior of complex systems.

In the design of any large system at Google, at least one SRE will be involved in order to lend their ability to reason about the failure modes of the system under design. Therefore, you'll need to demonstrate that you're capable of understanding and predicting the behavior of complex systems.

This is where the large systems design interview comes in. Google specifies that it's "non-abstract" because they want you to show that you can design something that will translate in the real world. 

You'll be given a complex, ambiguous problem and you'll have to come up with a  a solution for it that would work technically and is scalable.

Site reliability engineer interview questions: System design

  • Design a "snakes" game
  • Design Google AdWords (walk-through solution)
  • Design a thumbnail service
  • Design a system for copying a file to remote servers

2.5 Googleyness and leadership questions 

Beyond possessing excellent technical skills, Google site reliability engineers must have the soft skills necessary to work in cross-functional teams and contribute positively to the company's culture. SRE candidates applying for management positions must also prove that they have what it takes to lead teams.

Google interviewers therefore use behavioral and hypothetical questions to test for "Googleyness" and "leadership".

SRE candidates tend to face fewer behavioral questions at Google compared to candidates interviewing for other roles. But as a minimum you'll at least face some "culture fit" type questions that test your "Googleyness", such as " "Why Google?" and "Tell me about yourself."

Site reliability engineer interview questions: Googleyness and leadership

  • Why Google?
  • Why do you want to leave your current job?
  • Tell me about a recent / interesting project you worked on.
  • Tell me about a time you had to resolve a conflict in a team/group
  • What is your favorite Google product?

Click here to learn more about how to prepare for culture fit and behavioral questions at Google.

3. How to prepare

Now that you know what questions to expect, let's look at how best to prepare. Below, we've listed four steps that you can follow to prepare as efficiently as possible.

3.1 Learn about Google’s culture

This is a key step that many candidates fail to take. Before investing your time in preparing for an intense and lengthy interview process like Google’s, you should make sure that it is the right company for you.

Because Google is a well-known and powerful company, many assume that they should apply there, without considering the position more carefully. However, prestige alone does not mean that the job is a good fit for everyone.

If you know engineers who work at or used to work at Google, reach out to them to find out more about the culture and daily tasks. We also recommend you do your research, starting with the following resources:

You should also watch this short video which gives an introduction to the SRE team at Google.

 

3.2 Practice by yourself

Once you’ve learned more about Google, study up on the types of questions that you’ll be asked during the interviews. There's plenty of great resources out there (plus more listed on this Reddit thread), many of which we've used in writing this article:

  • For coding questions:
    • Use our Coding interview prep guide as your one-stop-shop to guide your prep process. It has a 7-step preparation plan and links to the best resources.
    • You'll also want to do a lot of practice on Leetcode or similar.

Once you’re ready to answer the various types of interview questions above, start by interviewing yourself out loud. It will likely feel strange at first, but it will significantly improve the way you communicate your answers. 

Play the role of both the candidate and the interviewer, asking questions and answering them, just like two people would in an interview. Trust us, it really helps!

3.3 Practice with someone else

Practicing by yourself will only take you so far.  A huge challenge of technical interviews is that you have to communicate what you are doing as you are doing it. 

Even candidates who have excellent technical skills can fall short in interviews because they are used to working alone, in silence. Thinking out loud for the benefit of the interviewer is a learned skill, key to landing an offer at top tech companies.

To get better at this, we strongly recommend doing mock interviews with friends or family.

3.4 Practice with ex-interviewers

To get specific, actionable feedback that will help you ace the interview, we recommend practicing with an SRE ex-interviewer.

Of course, most people aren't lucky enough to have access to someone who's run interviews like this. That's why we’ve created a coaching service where you can practice 1-on-1 with ex-interviewers from leading tech companies. Learn more and start scheduling sessions today.