Google’s technical interview process is considered a yardstick in determining a candidate’s suitability for a technical role. It is a relatively straightforward and structured process that has been simulated or emulated in varying degrees by tech companies across the globe. It is widely regarded as an effective methodology to ascertain a candidate’s suitability for a particular role. Considered to be very challenging and in-depth, the entire process is designed to identify a candidate’s technical and non-technical skills, level of expertise, and potential to be a cultural fit.
Google’s technical interview process can be divided into 2 main stages -
- The technical phone interview
- The on-site interviews
Additionally, depending on the role applied for, candidates may have to undertake a time-bound, homework assignment before moving on to the on-site interviews.
Here's what we’ll take you through:
1. Google’s Interview Process
- 1.1 General HR Phone Screening
- 1.2 Google’s Technical Phone Interview Process
- 1.3 Google’s Onsite Technical Interview Process
2. General Considerations for the Google Interview
General HR phone screening
The technical phone interview follows an initial phone screening, conducted by a Google recruiter to glean background information about a candidate’s profile, the role applied for and reasons for the same. At this stage, candidates are assessed based on their profiles and prospective role requirements.
Once shortlisted, candidates are required to complete an online survey form and choose interview dates as well as the programming language they would like to use for the interview.
On confirming an interview date, recruiters usually email candidates with information on the upcoming interview process, along with resources such as text documents and videos to prepare for the same. This includes the following links
- Coding practice (https://codingcompetitions.withgoogle.com/codejam/archive)
- Grow Your Technical Skills with Google – Tech Dev Guide (https://techdevguide.withgoogle.com/)
- The ‘Google Students’ and ‘Life at Google’ channels on YouTube
- ‘How to Prepare for a Technical Interview at Google’ (https://www.youtube.com/watch?v=OMkfujDPpwc)
- ‘See Yourself at Google’ (https://www.youtube.com/user/GoogleStudents)
- ‘How We Hire at Google’ (https://www.youtube.com/user/lifeatgoogle)
- ‘Example of a Coding Interview at Google’ (https://www.youtube.com/watch?v=XKu_SEDAykw&t=508s)
- Project Euler (https://projecteuler.net/)
All the information provided helps candidates understand what to expect in the upcoming rounds including what kind of questions will be asked and how to prepare for them.
Did you know that some of the toughest coding problems are asked at the Google Interview? Check out these 29 Google Interview Questions that will help you crack the coding interview.
Google’s technical phone interview process
This typically comprises two back-to-back phone interviews or remote coding interviews. Each round lasts for about 30-45 minutes, during which candidates are asked 2-4 questions, depending on how quickly candidates answer each question.
The interview is centred around a candidate’s understanding of computer science principles and their applications. These interviews focus on candidates’ knowledge of data structures and algorithms as well as their soft skills and interest in the desired role.
The interviews are generally conducted via Google Hangouts by someone with a role similar to the role the candidate has applied for. Candidates are given a coding problem to be solved in real-time by writing code on a plain text editor, usually Google Docs, accessed via an email link.
In the first phone interview, candidates may be asked questions about their tech experience, skills, and/or projects listed on their resume. Coding challenges at this stage are similar to the easy Google LeetCode problems with follow ups. These are usually simple problems that can be solved within 10 – 15 minutes and involve writing about 20-30 lines of code.
The second phone interview also features coding problems but with a higher level of difficulty than the first interview. However, the second phone interview is sometimes bypassed with candidates directly moving on to the onsite interviews, if they perform adequately during the first phone round.
While candidates tend to use a lot of pseudo-code and brute-force solutions, interviewers expect candidates to write solid, efficient code for the problems given and arrive at an optimized solution within the desired time-frame, without an integrated development environment (IDE). Candidates are also expected to consider edge cases and corner cases and test their solutions for bugs.
At the end of each interview, candidates are given about 5 minutes to put forth questions to the interviewers.
Coding questions are generally open-ended, requiring candidates to communicate with interviewers to understand and work through the problem and arrive at a solution. Interviewers assess candidates’ general cognitive abilities (GAC) based on their communication skills. Interviewers are more interested in a candidate’s thought process and reasoning i.e. how they arrive at a solution rather than the solution itself.
Google’s onsite technical interview process
Candidates who pass the technical phone screening process are then called in for the onsite interviews. Candidates are required to complete a survey form, choose interview slots, and an on-site location.
Google’s onsite technical interview process can last a whole day and comprises up to 5 rounds of interviews. It is usually conducted as follows -
- 2 rounds of technical interviews
- 2 more rounds of technical interviews
- A process or behavioral interview
Each round lasts for about 45 minutes and interviewers may be from different, but relevant, roles within the organisation. The onsite interviews are aimed at making a thorough assessment of candidates’ core technical skills and role-related knowledge and whether they are a cultural fit.
Some of the key knowledge areas that the onsite interviews focus on are –
- Data Structures and Algorithms – Hash Tables, Stacks, Arrays, Queues, Linked Lists, Trees, Tree Traversals, Tries, Recursion, Graphs, Vectors, Big-O Notation, Sorting Algorithms, Searching Algorithms, Space and Time Complexities, how to improve or change algorithms, etc.
- Candidates are expected to study as many data structures as possible and be able to identify them when presented differently
- Candidates should be familiar with coding languages such as C++ or Java or Python or C; candidates should know at least one language well
- Object Oriented Programming
- How to test code and identify corner cases and edge cases
- Design patterns, creating a high-level system under constraints, system designs to solve real-world problems, Object Oriented Design
- Analytical thinking
- General analysis to gauge candidates’ abilities to understand questions holistically and identify possible solutions to a problem
- Testing experience – Testing aptitude or hands-on testing experience, depending on a candidate’s level of experience
- Math – basic discrete math problems
- Operating Systems
- Internet – Features of the internet, how the internet and search engines work
Throughout the process, candidates are also keenly assessed on other key aspects such as communication, leadership, and teamwork.
The onsite interviews are designed to be challenging and candidates are expected to be well-prepared. Coding challenges are usually whiteboard challenges involving problems that are to be solved in real-time in the presence of the interviewer. They feature a lot of situational questions to understand a candidate’s approach to a problem and ability to solve real-world problems. Candidates are expected to ask pertinent, clarifying questions in order to arrive at the most efficient, optimized solution. The emphasis is on the candidate to identify whether interviewers are looking for solutions in terms of strategy, metrics, or design.
The technical rounds are divided into two sessions i.e. 2 rounds in the morning followed by lunch and 2 rounds in the afternoon. The lunch round is a time of informal interaction that lets candidates learn more about the company and the role and display social skills as well.
The process or behavioural interview follows the technical rounds and assesses if candidates are a good fit considering Google’s unique company culture. It aims to understand candidates’ mind sets in terms of workflow, collaboration, and resolving conflicts in relation to projects.
The onsite technical interviews may be followed by an interview with potential team managers to further understand if candidates are a match for the prospective role and team. It is not uncommon for candidates to get through all stages of the interview process, perform well in the technical rounds but still get rejected at a later stage. Google’s holistic approach to interviewing and assessing candidates, places emphasis on not just technical prowess but teamwork as well.
Many top tech companies, including Google, conduct behavioral interview rounds to test candidates' behavioral traits. To learn more about what to expect, check out these 9 Top Behavioral Questions asked at interviews.
General considerations for the Google Interview
Google’s interview process is very comprehensive and thorough and can be a long-drawn affair conducted over a few weeks to a few months. Candidates often have to wait between successive interview stages or rounds. In some cases, candidates are fast-tracked through the process if they have already successfully completed the initial rounds at an earlier date. Interviews may also be delayed or rescheduled given the number of applicants and candidates the company has to get through. Google receives about one million applications for various roles, annually.
At Google, a packet is created for each candidate consisting of a candidate’s resume, past work samples, references, and feedback and scores provided by each interviewer after every interview round. A candidate’s packet is ultimately sent to reviewers who perform an unbiased and holistic assessment of a candidate for the role applied for, based on the information in the packet, to arrive at a decision on whether the candidate should be hired or not.
Candidates may have to endure long wait times before hearing whether they were successful at the technical interviews or not. However, if a candidate is rejected, they may reapply and try again after a period of six months.
Are you excited to work at Google? Well then, kick-start your Google interview prep by signing up for our free Webinar today!