THE GOOGLE INTERVIEW.

TECHNICAL INTERVIEW PROCESS

Google is one of the most sought after companies to work for and it’s easy to see why with some of the best benefits and perks around, not to mention some of the most competitive salaries in Silicon Valley.

 

However, landing a job at Google is no easy task as it’s one of the most competitive application processes you’ll go through. As an example, in February 2018, there were 282 jobs open at Google, to which 2.7 million people applied.

 

So how do you stand out from the rest and secure a job at Google? Well, it boils down to your level of commitment and the strategy for how you approach the interview process; that’s what this post will help you with — to develop a plan and provide you with the information you need to be successful in a Google interview.

 

(Keep scrolling FOR A FULL WRITEUP with DETAILS)

THE GOOGLE INTERVIEW.

BACKGROUND

Google has a unique and somewhat lengthy interview process.

 

Because Google receives so many resumes over the course of the year, it’s important that your resume stands out as they won’t spend much time looking at it.

 

What adds to the lengthy interview process is the fact that each interviewee must be considered by the hiring committee. They’ll grade you on a scale of 1-4 based on their four principles: cognitive ability, leadership, role-related knowledge, and Googleyness.

 

We’ll now go through the interview process, preparation tips, and a deeper dive into what makes Google’s hiring process unique. At the end we’ll provide you with some sample questions asked in a Google interview.

 

BEFORE THE INTERVIEW

 

RESUME

Your resume needs to catch the attention of a Google recruiter in six seconds or less, and understandably so, considering they receive a couple million resumes over the course of a year. One of the most common reasons applicants don’t get an interview is due to poorly crafted resumes, so take some time to reflect on past accomplishments, and focus on the deliverables.

 

So what can you do to stand out?

 

A good formula to follow is, “Accomplished X, as measured by Y, by doing Z”. By following this, you keep your resume concise, clear, and metrics-driven which is something Google cares about deeply. Example:

 

If your resume states, “Decreased server query response time.” you should rephrase it as, “Decreased server query response time by 15 percent by restructuring our API.” This is much more concrete and demonstrates how you made a positive change.

 

If your resume passes the test and a recruiter finds a match, they’ll schedule a call to learn more about your skills and experience. It will be about a week before you hear from the recruiter.

PREPARATION

Here is our guide on tackling the actual coding interview process with a 12-week plan.

CHOOSING YOUR LANGUAGE

Google doesn’t require that you do your interview in a specific language, but they do prefer either C++, Java, Python, Go, or C. When choosing your language be mindful that you are expected to know APIs, Object Oriented Design, how to test your code, as well as come up with corner cases and edge cases. Finally, pick your language and stick to it.

 

 

Phone screen with a GOOGLE EMPLOYEE

First of all, download Google Hangouts on your phone as this will most likely be the medium Google uses to conduct the interview (note: they may also call your number directly).

 

This first call will last between 45 and 60 minutes and will be with one Google employee (potential co-worker or manager) who will provide you with a coding question related to data structures and algorithms. Be prepared to write clean, rich, robust code that is around 20-30 lines, and don’t forget to communicate your thought process as that’s really what the interviewer wants to see. It’s extremely important to know that you’ll write this code in a Google Doc which is shared between you and the interviewer.

 

Tips for writing code in a Google Doc

 

Helpful insights for your coding interview:

  • Expect an open ended question (or a couple)

    • Example: How would you optimize this further?

  • Make sure you consider corner cases and edge cases

  • If you finish before the time ends, look for ways to optimize, follow it up with test cases, and find any bugs

 

If you get nervous or stuck, write what comes to mind and optimize later. Many of the questions can be solved with brute force (a common algorithm used in programming) and though it may be the least efficient way to come up with a solution, you will be guaranteed one, which then you can improve upon later.

 

Regardless of how you thought the interview went you must ask what the next steps are. Be prepared to wait a week or two before hearing back.

 

 

ON-site

You’ll meet with 4-6 Google employees for about 45 minutes each. In general, Google is looking for those who excel in four categories:

  • Cognitive ability

  • Leadership

  • Role-related knowledge

  • Googleyness

Your interviews will have a heavy emphasis on coding, featuring mostly data structures and algorithms. Here is our guide (12-week plan) on preparing for coding interview questions.

Note: For higher level candidates (five or more years experience) you can expect questions on system design.

Depending on where your on-site interview is, you’ll either have to work out problems on a whiteboard or you’ll be provided a Chromebook. Ask the recruiter beforehand what’s available so you can practice.

Data structures you should know:

  • Arrays

  • Linked Lists

  • Stacks

  • Queues

  • Trees

  • Graphs

  • Heaps

  • Hash sets

  • Hash maps

  • Hash tables

 

Algorithms you should know (be prepared to know time/space complexity):

  • Graph algorithms

    • Breadth first search

    • Depth first search

 

  • Searching and sorting algorithms

    • Binary search

    • Quicksort

    • Mergesort

 

  • A*

  • Dynamic programming

  • Divide and conquer

  • Recursion

 

THE OFFER / NO offer

Your interviewers will score you on a scale of 1-4 where 3 is the threshold of hire or no-hire. Your interviewers will then send their feedback to a hiring committee who will determine whether you’re hired or not.

 

It will most likely be several weeks before Google reaches back out to you with their decision. It doesn’t hurt to reach out to them to give them a friendly nudge if you think too much time has passed.

 

In the event that you don’t receive an offer, it’s common that you’ll have to wait six months before re-applying; however, if you receive an offer you’ll discuss things like salary, start date, etc.


Avoid waiting another 6 months to apply by checking out our 12-week guide on preparing for the coding interview  

 

 

WHAT'S DIFFERENT

Coding in Google doc

For your first interview, Google will ask you to write your code in a Google Doc. Be prepared for this and make sure to keep an eye on auto-correct. Here is a great article that shows you how to set up Google Docs for a technical interview.

 

Hiring committee

Google relies on a hiring committee to review each applicant as a way to remove biases.

Graded on a scale of 1-4

Each interviewer will grade you on a scale of 1-4 on the criteria mentioned below.

The four google hiring criteria

Google will grade you on:

  • Cognitive ability — your ability to solve problems. How you think about a problem is very important, so don’t forget to discuss your solutions as you’re writing them.

  • Leadership — are you willing to tackle a difficult problem and mobilize a team to solve it.

  • Role-related knowledge — do you have the technical expertise to drive impact today, but just as important, do you have the knowledge to grow and scale as the company does?

  • Googleyness — are you comfortable with ambiguity, do you have a bias for action, teamplayer, etc.

 

SAMPLE GOOGLE interview questions

Over the phone:

  • Given a string, return the first recurring character in it

  • Print a linked list in reverse order

  • Given a directed graph, find the shortest path between two nodes if one exists

 

On-site:

  • Given a 2D matrix, print all elements of the given matrix in diagonal order.

  • Implement a binary tree with a method getRandomNode() that returns a random node (hint: use recursion)

  • Count BST nodes within a given range

  • Find the length of the longest valid substring

HOW TO BEST PREPARE FOR YOUR INTERVIEW

In our experience, it’s best not to try to memorize specific questions. There are no silver bullets.

The questions that companies ask are always changing, because companies of this size are always trying to stay ahead of the curve and try new things. The questions you face will also depend on the team and the hiring manager.

 

Instead, it’s best to work your way through the fundamentals so you understand the underlying concepts and can answer even new types of interview questions with confidence.

 

map_icon.png

Need help preparing for the interview?

Check out the Definitive Interview Prep Roadmap,

written and reviewed by real hiring managers.