Preparing for technical interviews at FAANG companies takes time and effort given their difficult and challenging processes.
Here's what this article will cover:
- Google Interview Process
- Qualities Google Looks For In Candidates
- Qualifications for Roles at Google
- Google Interview Questions
- Google Interview Tips
- Google Interview Experiences
- Resume Building Tips
- Google Interview Preparation - Materials and Tips
- Technical Topics for Google Interviews
At Interview Kickstart, we have successfully helped over 3,500 engineers prepare for interviews at FAANG and other top-tier companies. With many of our technical instructors and career coaches having worked at FAANG companies, we know exactly how to prepare for these tough technical interviews.
Through this guide, we will
- Elaborate how you can crack a technical interview at Google.
- Share how the interviewing process works at Google.
- The qualities Google looks for in candidates.
- Topics covered in a Google interview,
Google Interview Process
Every candidate’s evaluation process differs given that interviews are conducted by different recruiters and interviewers and questions asked differ based on the role applied for.
Based on our research, we have outlined below, the interview process as followed by most candidates at Google.
1. Initial phone screen with a recruiter
a. Phone Screen by recruiter
This is the first part of the phone screening process. You will be contacted by a recruiter who will go over your work history. Many candidates get eliminated at this stage so you shouldn’t take this round lightly. Technical questions may be asked, on topics such as Quicksort and Bubblesort. Answering these efficiently will get you to the next round.
b. 45-minute technical phone screen by an engineer
Only 1 in 10 candidates succeed in this part of the phone screening process. You will be asked basic coding questions about projects you’ve worked on. You might also be asked to solve a problem using Google docs.
c. 45-minute interview with an engineer
In the final part of the phone screening process, you will have an interview with another engineer in which you will be asked another set of technical questions.
2. Onsite interview
The onsite interview process comprises 5 rounds, each 45-minutes long. Additionally, you will also have an informal lunch interview. During these rounds you will be asked to solve a variety of technical problems on the white board, laptop, or both
Qualities Google Looks For In Candidates
- Coding and design skills
Google expects their job applicants to be proficient in at least one programming language; preferably C++, Python, Java, Go, or C. You will be asked interview questions from a wide range of topics, such as APIs, Objective Oriented Design and Programming. Be sure you have a conceptual understanding of these topics.
- Problem-solving skills
Problem-solving is a key skill Google interviewers look for in its candidates.
- Effective communication skills
Besides being well-versed in programming skills, you also need to be a good communicator. Google values individuals who can communicate ideas in a clear and concise manner. You will also need to be a good listener as well given most roles involve working with or in a team.
- Know how to write code and solve algorithmic problems on a whiteboard
During the Google onsite interviews, you will be asked to design algorithms on a whiteboard. As compared to writing code on a computer, it is a completely different experience. Train yourself with either paper or an actual whiteboard if you want to increase your chances of success at the interview.
- Leadership skills
Google looks for candidates who can take on challenges. Excelling in this facilitates strong teams.
- Cultural fit
Google calls this “Googleyness.” Google’s hiring managers will observe how comfortable you are with ambiguity. They will also keep an eye on how you work individually and on a team.
Qualifications for Roles at Google
We looked at Google’s career website for job descriptions of roles we see our students aspiring for.
- BS degree in Computer Science, similar technical field of study or equivalent practical experience.
- Software development experience in one or more general purpose programming languages.
- Experience working with two or more from the following: web application development, Unix/Linux environments, mobile application development, distributed and parallel systems, machine learning, information retrieval, natural language processing, networking, developing large software systems, and/or security software development.
- Working proficiency and communication skills in verbal and written English.
- Master’s, PhD degree, further education or experience in engineering, computer science or other technical related field.
- Experience developing accessible technologies.
- Interest and ability to learn other coding languages as needed.
- Bachelor's degree in Computer Science, related technical discipline or equivalent practical experience.
- 10 years of relevant work experience, including technical management of software developers and system administrators/architects.
- Experience designing and implementing distributed systems.
- 12 years of relevant hands-on technical management experience of software developers and systems administrators/architects.
- 5 years of experience in leading highly-complex, technically-challenging, cross-functional software oriented projects from inception to delivery.
- Track record of individual technical achievement.
- Excellent C++, Java and/or Python skills
Google Interview Questions
It is important to note that Google, like all other top tech companies, have a number of interview questions that they rotate between. Questions are also frequently removed from the rotation, and replaced with new ones on a regular basis.
The most effective and efficient way to prepare for technical and behavioral interviews at Google is to look for conceptual themes and patterns, rather than trying to identify commonly asked questions.
If you want to ace interviews at the most competitive companies, place emphasis on pattern recognition and building your problem-solving skills. This is the only way to solve problems that you have never seen before and the only way to fully explain your solutions during interviews
To understand interview question patterns, here are some of the most common questions asked at technical interviews
- Demonstrate how to reverse a linked list.
- Find the formula to solve an nXn Magic Square problem.
- Search a max value in an unsorted array in better than O(n).
- Find out the fastest way to locate the largest element in a circular sorted array.
- How do you convert a max heap to min heap?
- How will you implement three stacks with one array?
- Can you design a data package transfer from London to Tokyo?
- Can you write code to implement your own hashtable in C++ or Java?
- Do you like coding or designing applications?
- Given an array of size n, find the majority element. The majority element is the element that appears more than floor(n/2) times. You may assume that the array is non-empty and the majority element always exists in the array.
- Given a 2D binary filled with 0’s and 1’s, find the largest rectangle containing all ones and return its area. Bonus if you can solve it in O)n^2) or less.
- Given a string A, partition A such that every substring of the partition is a palindrome. Return the minimum cuts needed for a palindrome partitioning of A.
- Given a string A and a dictionary of words B, determine if A can be segmented into a space-separated sequence of one or more dictionary words.
- Design a messaging service, like Facebook Messenger.
- Given two numbers represented as strings, return multiplication of the numbers as a string.
- Design a search typeahead (Search autocomplete) system at Google’s scale.
- Given numRows, generate the first numRows of Pascal’s triangle. Pascal’s triangle: Generate A[C] in row R, sum up A’[C] and A’[C-1] from previous row R - 1.
- Given an array of integers, sort the array into a wave like array and return it. In other words, arrange the elements in a sequence such that a1 >= a2 <= a3="">= a4 </=>
- Given 2 non-negative integers m and n, find gcd(m, n). GCD of 2 integers m and n is defined as the greatest integer g such that g is a divisor of both m and n. Both m and n fit in a 32 bit signed integer.
- How do you execute a project?
- Explain a technical challenge which you overcame.
- What is your favorite Google product? How would you improve it?
- How would you deal with group conflict?
- Explain a situation in which you had to learn something you didn’t know while working on a project.
- How do you sort priorities when engaged in multitasking?
- Do you prefer earning or learning?
- Tell me about a time when you effectively managed your team to achieve a goal. Explain your approach.
- Tell me about a time you failed. How did you deal with this situation?
- Tell me about a time when you faced a problem that had multiple possible solutions.
- How would you deal with a non-cooperative coworker?
Google Interview Tips
Here are some handy tips to help you get through interviews at Google.
- During the phone screen and onsite interviews, think out loud and speak as clearly as possible while solving a problem. Explain your thought process to the interviewer.
- It is important to consider edge cases and test your code, even if it is a simple problem. Not doing so will have a negative impact on your assessment.
- If you’re unable to solve a problem right away, slow down, simplify the problem, challenge your assumptions, and keep attempting to solve the problem from many different angles. The interviewer might even give you hints along the way
- Don’t be afraid to ask your interviewer clarifying questions about the problem.
- Be prepared to share specific examples and stories of what you’ve done or accomplished in your professional career.
- Always repeat the question in your own words and clarify the problem requirements. Doing so helps demonstrate your comprehension of the problem.
- If time permits, improve your solution to the problem.
- Use a whiteboard to draw examples like an example array or binary tree.
- Prepare two or three questions to ask the recruiter and each of the interviewers (including technical interviewers) at the end of each round. You can ask multiple interviewers the same question.
- For the phone screen round by the recruiter, read up on the role and company ahead of time.
Google Interview Experiences
To understand how it is to interview at Google, we studied first-hand experiences of candidates who received job offers from Google.
From an ex-Google software engineer
“I was given the option to use a laptop if I wanted to, which I did. As a side note, I would highly recommend that if you are given that choice or option, take it. Personally, I think that it’s just far easier to actually write out code on a laptop than it is to do so on a whiteboard and the beauty is that you can actually use both.
That first interview was very interesting...two things stuck out to me that was interesting. The first is that during the sort of introduction of the interview, we chatted about my projects on my resume...Put at the top of your resume the things you are most proud of that you think are going to be the most impressive...the second thing is at the very end, the last lets just say 10 minutes, we had this sort of discussion about parts of the interview.
The second interview went very, very well. I remember that interview was sort of like the interview where it just went well. I knew I was able to come up with a solution immediately able to come up with a pretty optimal solution to optimize on that of that and then optimize it even again on top of that.
The third interview was very similar to the previous one. Maybe a notch lower. I came out thinking I did well.
Just a normal lunch interview. It will have no bearing on your application. The person I had lunch with ended up being on one of my sibling teams at Google once I worked there. Apart from that, nothing special.
Then the fourth interview came along and I vividly remember finding that particular interview very difficult. I remember thinking, “wow, these engineers don’t kid around.” But I also remember coming out of that interview very good and feeling like I had done very well.
What I did in that interview, which I always recommend that other people do is I really treated it as I am with a coworker, we have been given a problem we have to solve together, but I am the one leading. I am the one doing 80-90 percent of the work but I’m sort of trying to have a conversation with this coworker of mine. Here, I am speaking about the interviewer and I’m just going to try to solve this with him...Two people [just] working on a problem together.
Finally, the fifth interview, nothing too special there. It sort of felt similar to the first interview. I came out of it feeling neutral.
Finally, I got the phone call...it was very positive and I’d gotten a hiring decision from the hiring committee.
The final hoop after matching with a team and manager is called the ‘Vp and SVP sign off.’ They have to review your individual packet and sign it off.”
Interview with Divanshu who got into Google, Mountain View
“According to me, all the four interviews had a similar difficulty level. During all the interviews, the difficulty bar was raised slowly as we approached the end of the interview.”
I was required to send all my grade cards after one week of the interview process. Then they reviewed everything and the offer was given. So, I believe that grades were also a factor involved in the selection process.”
Resume Building Tips
Getting through a technical interview at Google begins with a good resume. Only the best and most relevant applications get shortlisted for interviews. It is imperative you present your resume so as to clearly highlight your suitability for the role you apply for.
Introduction Section (Summary/Objective & Technical Skills)
- List your most impressive projects first.
- Keep your resume length to one-page. Recruiters at Google review hundreds, if not thousands of resumes for each job opening
- List programming languages you are well-versed in at the top.
- Since you are interviewing for a specific position, highlight only projects and skills that would be most interesting and relevant to the role you are applying for.
- Demonstrate to recruiters the impact your work had in your past employment.
General Formatting Pointers
- Recruiters will skim your resume before deciding to reject your application or give you a call. This process generally takes less than 10 seconds, so readability is key. Make sure your resume has a consistent layout and uses the right fonts Create clear sections with subheadings..
Consider reaching out to an expert to create a professional and eye-catching resume. Interview Kickstart conducts resume review workshops that can help you refine your resume for better results.
Find our next scheduled resume session on our social media pages. )
Google Interview Preparation - Materials and Tips
Here is a list of materials needed and tips to help prepare for an interview at Google. This is compiled based on inputs from a Software Engineer at Google and a candidate who received an offer from the company.
- Pencil and blank paper or a whiteboard and markers
- Create a study list of technical topics to cover. .g. 15-day cheat sheet for cracking Google Interview.
- Coding preparatory books.
- Establish a schedule for studying and preparation. IStudy without interruptions.
- Educate yourself on the Google interview process.
- During your interview preparation, don’t forget to take a step back and relax. Don’t overwork yourself.
Self-study can take a considerable amount of time with no guarantee of success. We suggest checking out our technical interview prep program for the best and quickest way to prepare for your dream companies.
If you want to know how to crack remote interviews, do check out our Remote Interview Guide
Technical Topics for Google Interviews
For this section, we compiled a list of technical topics we believe you should be well prepared with when you interview at Google. This list is based on inputs from a Software Engineer at Google and Google’s video on how to prepare for an engineering interview.
- Coding - be familiar with at least one coding language
- Algorithms - understand the complexity behind an algorithm and how to improve or change it
- Memorize two good sorting algorithms and their Big-O
- Memorize binary search
- Graph traversal algorithms (E.g. BFS, DFS, and short path algorithm like Dijkstra’s)
- Be well-versed in bit manipulation exercises (working with bitmaps, bit shifting)
- Data structures - learn some of the most famous classes of NP complete problems (e.g. the salesman and the nap sack) E.g. hashmap, linked list, stack, queue, and trees (n-ary, trie, heap) and their Big-O complexities
- Mathematics - learn discrete and simple math problems like probability theory
- Statistics E.g. Powers of 2
- Recursion, backtracking, and memorization
- Operating Systems - understand processes, threads, concurrency issues, and related topics
- Resource allocation
- Context switching
- System design - questions will test your ability to combine knowledge, theory and judgment in solving a real-world problem
- Understand of how the internet operates
- Understand the basics of how search works
- Object-Oriented Programming terminology e.g. abstraction, inheritance, cohesion, coupling
- Understand the collection and math APIs for your preferred programming language
Additional Reading: How to Prepare for a Google Engineering Interview
Average Salaries for Tech Roles at Google
Software Engineers - Location: Mountain View
- Approx. $141k/yr (Base Salary) & $90-217k/yr (Base Salary Range)
- Total Compensation: Approx. $226,500/yr
- Total Compensation Range: $90-480k/year
Engineering Managers - Location: San Francisco Bay Area
- Approx. $205k/yr (Base Salary) & $176-240k/yr (Base Salary Range)
- Total Compensation: Approx. $405,000/yr
- Total Compensation Range: $215-562k/yr
Google Engineering Manager
According to Glassdoor, 86% engineering managers would recommend working at Google to a friend. 72%of them expressed their approval of Sundar Pichai as the CEO. Working at Google is rated 4.5 out of 5 stars by engineering managers
Google Software Engineer
Google’s software engineers rate the company 4.5 out of 5 stars 90% state they would recommend working at Google to a friend and 91%approve Sundar Pichai as the CEO.
According to Glassdoor, Google has an average rating of 4.4 out of 5. 88%of its employees state they would recommend working there to a friend. 93%approve of the current CEO, Sundar Pichai.
According to Comparably.com, Google holds an A+ rating for culture, CEO approval, and compensation. Diversity at Google is rated an ‘A’ and the company ranks in the top 105 of other U.S. companies with over 10,000 employees.
Develop a structured approach to preparation for technical and behavioral interviews with professional guidance. Check out our programs by signing up for our FREE webinar to learn how you can nail your next technical interview.