# 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.

**September 25, 2023**

*patterns*of solving coding problems.