Google Interview Process
Table of contents
- Where do I apply for a Google interview?
- What topics should I study for?
- What are some example Google technical questions?
- What are some example Google behavioral questions?
- How long is the entire Google interview process?
- What is the Google interview like for a full time software engineering role?
- What are the levels and salary for a software engineer at Google?
Where do I apply for a Google interview?
You will need to upload your resume and provide other relevant information to the Google careers site, or use this LinkedIn strategy to find a recruiter to contact.
If you pass the initial screening, you'll be asked to talk with a recruiter.
What topics should I study for?
- List/array
- Two pointers
- Sliding window
- Dynamic programming
- Graph (and tree) traversal
- Breadth first search
- Depth first search
- Sorting
- Heaps
- Backtracking
- Time/space analysis
- Object oriented programming
- Design
What are some example Google technical questions?
- Given two nodes, determine if they have the same parent.
- Reverse a singly linked list in-place.
- Given a list of integers, find two distinct numbers that add up to a specific target.
- Determine if a string is palindrome.
- Design an algorithm to play a game of chess.
- Add two numbers represented by linked lists.
- Search for a substring within a string.
- Find the height of the binary tree after removing subtrees.
- Write a shuffle method for a music player.
- Determine if a binary tree is a valid binary search tree.
- Print all primes smaller than or equal to a given number.
- Find the longest common subsequence of two strings.
- If you can climb the stairs one or two steps at a time, return the total number of unique ways to reach the nth stair.
- Find the shortest path between two nodes.
- Given a list containing numbers from 1 to n with one number missing, write an efficient algorithm to find the missing number.
- Invert a binary tree.
- Sort a list of integers into a wave list. A wave list is sorted like so: nums[0] >= nums[1] <= nums[2] >= nums[3] <= nums[4]>...
- Sort a linked list.
- Design a hash map.
- Given a list, find the longest increasing subsequence.
- Given a knapsack and a set of items and their weights and values, determine the subset of items that does not exceed the weight capacity of the knapsack, while having the maximum total value.
- How would you build a distributed system?
- Discuss the advantages and disadvantages of using dynamic programming when designing an algorithm.
- Explain the principles behind object oriented programming and give an example.
What are some example Google behavioral questions?
- Tell me about a time you exceeded expectations.
- Tell me about a time you failed expectations.
- Tell me about a time you had a disagreement with a coworker.
- Where do you see yourself after five years?
- Why should we hire you?
- Tell me about a time when you faced hardship.
- What motivates you, what are you passionate about?
- Why are you leaving your current job?
- How would you describe yourself?
- Tell me about one of the projects you've worked on.
- How do you stay accountable?
How long is the entire Google interview process?
From three weeks to three months. Google is notorious for moving candidates slowly through the hiring process.
What is the Google interview like for a full time software engineering role?
Online assessment (90 minutes)
This is an optional screening that some candidates may not need.
There are two questions on a data structures and algorithm question.
Recruiter phone screen (30 minutes)
This is an optional screening that some candidates may not need.
Prepare to talk about your professional background, skills, and career goals.
Technical phone screen (45 to 60 minutes)
You may need two phone screens.
Expect to code on a shared online coding platform. The interviewer will assess your problem-solving skills, coding abilities, and algorithmic knowledge.
Onsite (one day)
- 4-5 total interviews:
- 3-4 technical interviews (one system design assessment for L5 candidates), 45 minutes
- 1 behavioral interview, 45 minutes
Team matching
This is after receiving an offer. Once you get to this stage, the recruiter will connect you to leads from potential teams for you to join.
What are the levels and salary for a software engineer at Google?
Level | Description | Estimated Annual Compensation* |
---|---|---|
L3 | SWE II (Entry Level) | 185k |
L4 | SWE III | 280k |
L5 | Senior SWE | 360k |
L6 | Staff SWE | 505k |
L7 | Senior Staff SWE | 684k |
L8 | Principal Engineer | 1.13m |
Sourced from levels.fyi |
*Note that compensation varies based on location. These estimates are likely based on the USA HCOL market.
The compensation package will likely include:
- Base salary
- Equity split equally over 4 years
- Target Bonus: usually at least 15% of annual base salary Google provides annual stock refreshes.