When I changed my job last year, I had an interview with Google (here is Google China ha), and I had a six-round interview with Google, but I failed. 🤣 Now SHARE the specific process of my interview with Google and what I think I should pay attention to, I hope it will be helpful to you.

Relevant background

First, I would like to introduce my relevant background, 985 bachelor’s degree, Top2 Master’s degree (in fact, large companies are more value the first degree). During the period of school, scientific research did not have anything to take the paper. I have more than 4 years of working experience in social recruitment. I developed TL for dJI back-end (with only 3~4 people) during the interview.

Google’s overall interview process is basically as follows:

Recruiter Prescreen → 
Phone Interview (1~2 sessions) → 
Onsite Interview (4~5 sessions, 1 week to receive feedback) → 
Hiring Committee Review → 
Offer Review → 
Offer Delivery (Yippee!)
Copy the code

I have gone through a total of 1 round of phone interview, 5 rounds of Onsite, and 7 rounds if you include the pre-screening by previous HR.

A resume

In fact, I have participated in college recruitment before, but the threshold is too high and the pressure of competition is too great, so I did not even enter the interview process. When I was recruiting students, I used to brush the questions online. In fact, I can see some of the questions from previous years on this website: Google Code Jam. Basically, there are several rounds, and the top XX contestant in each round has the chance to enter the interview.

When I changed my job for the first time, I used to search for students in Google, and filled in many reasons for recommendation, and finally failed to pass my resume. 😿 Of course, there are many reasons for not passing my resume, which is the same as every company. For example, the demand is to recruit P7, with your working experience and so on the most P6, certainly not; For example, the hope is to recruit machine learning and other related experience, and so on, the job information does not match; Of course, there is another, the job description is relevant, and indeed the resume is not bright, too mediocre, also directly was screened by the HR.

This time, I didn’t even think about meeting With Google at first, but I got in touch with Google’s HR on linkedin and asked him if he wanted to try Google. Of course, follow the interview process with the idea of “just try it”.

To try, of course, you still need to take it seriously and revise your resume. In order to prevent hand-scratching, you definitely need to prepare for brushing. After sending your resume to HR sister, HR sister will give you some preparation materials for your reference. This material is relatively rich, which will directly tell you the knowledge points involved in the interview, recommended books and some recommended reference videos, etc. If you need it, you can leave a message, and I will sort it out and send it to you (I have checked with HR, these materials can be shared publicly, ha).

In fact, time is limited, “brush the question” preparation is not enough, at the beginning of the hunch that the interview is not down. However, after going through all the interview process, I found that the interview questions were not so difficult as I imagined (however, I still didn’t pass them). There is still hope for me to prepare actively.

Because the interview questions are sensitive, I can not directly share the original questions, but I will according to my understanding, find similar knowledge points and similar difficulty of the questions to share.

The HR interview

Yes, the first round is an HR interview. The “Recruiter Prescreen” you get in the process above is simply a number of computer-related basic fill-in-the-blank and multiple-choice questions. A few minutes, a dozen questions. There is no need to give a clear explanation during the interview. If you know, you know, and if you don’t know, you don’t know. They might say something like: What is the time complexity of quicksort? Is selection sort a stable sorting algorithm? And so on and so forth.

This is the “technical” side of all the interviews I’ve been involved in. I understand that this round of interview can eliminate some unsuitable candidates at a relatively low cost. Of course, this approach may not work for every company.

A phone interview

The phone interview will require you to write code directly with Google Doc shares, which will require you to have a stable network environment. This round of interview should not be too difficult for me to understand, and it certainly is from my experience.

Compared with Onsite onsite, a phone interview cannot be conducted in a good communication environment, allowing for face-to-face communication with the interviewer. At the beginning, I interviewed a question related to the traversal of binary trees. Of course, the question will not directly write the first order/middle order/second order/level traversal of binary trees. There will be a specific business scenario in it. You need to analyze this concrete business scenario to be able to abstract the problem is essentially a binary tree traversal method. This is a winner. After actually coding, the interviewer may ask you questions based on the code you write, some boundary conditions, and ask you to propose optimization solutions.

In fact, I understand that it depends on the feedback of the interviewers in the first round and whether they hesitate to arrange another round of telephone interview. After all, phone interviews are relatively inexpensive compared to Onsite.

Online code is actually an important part of the interview process. The details of your code, including code style, boundary conditions, and even comments, show some programming habits. I think this is an essential part of hiring a code engineer (Google did five or six rounds).

onsite

HR will inform you of the interview result and onsite arrangement soon after you pass the phone interview. The ONSITE code is 4-5 rounds. If one round is an hour, it will take 4-5 hours, which is actually quite energy-consuming. Generally, the communication can last about two and a half days or one whole day. The advantage of two and a half days is that the time will not be so tight. After the first two rounds, you can rest and adjust for a few days before continuing. I chose the idea of “cutting the knot” or “early death, early life” and made an appointment for a day.

You and the interviewer each have a notebook and a shared screen for coding. Sometimes the interviewer would write questions on the whiteboard. But it was actually easier than I thought. Because once thought Google such company interview afraid even understand the meaning of the topic to understand half a day. May also be the reason of social recruitment, social recruitment overall feeling in the algorithm requirements are lower than the school recruitment. This is just my subjective feeling. (Indeed, in the process of being an interviewer, students in the algorithm of social recruitment are expected to be lower)

I remember that one of the questions is similar to the one in Leetcode (again not the original one, nor share the original one). The question in Leetcode should be related to two-dimensional matrices and shortest paths. We can solve it with DP. However, the general problem will be divided into several small questions, the difficulty generally from easy to difficult.

At the same time, we also look at the binary tree, still around the binary tree traversal. You need to be familiar with the various ways of traversing binary trees, non-recursive methods (recursion is easier, so you don’t want to write this). In the encounter of binary tree related problems, whether you can think of binary tree traversal.

Another system design problem, the concept of a “knowledge graph”, revolves around the algorithms associated with the “graph”, which requires writing the design and pseudocode on the whiteboard. At the same time, the interviewer will push you to come up with a better solution. You have enough computing resources to run in parallel, and how to do that. I did not answer this question well (I knew it was not good at the beginning, and the HR feedback later confirmed this).

There is a problem, is to solve the scene in life. You need to abstract the problem and solve it in code. In general, this kind of questions, it is necessary to repeatedly communicate with the interviewer and confirm the scene, how to abstract the business into an algorithm. I remember that I had a similar question when I interviewed With Amazon (except that when I interviewed Amazon, I was looking at OO Design, and this question was specific algorithm implementation).

Onsite talked for five rounds, two in the morning and three in the afternoon. Two of them were in English.

In general, the interview for engineer position will revolve around the following aspects (refer to the interview guide provided by HR):

  • Coding: Implements a given topic in a familiar programming language (no limitation). Emphasis will be placed on understanding and communication skills during problem solving;
  • Algorithms: sorting/search/divide and conquer/dynamic programming/greedy/recursion, specific data structures, and possiblyDijkstra å’Œ A*Algorithm, the need to analyze the complexity of the algorithm;
  • Sorting: common sorting algorithms, time/space complexity, such as quicksort/merge/heap sort/insert/radix sort and so on;
  • Data structure: array/table/heap/stack /hash/ number/binary tree etc.
  • Mathematics: It may involve discrete mathematics and combinatorial mathematics, such as the method of selecting K out of N.
  • Graph: representation of graphs (e.g. matrix/adjacencies), BFS/DFS, etc.
  • 2. A conversion between recursion and iteration;
  • Others: design and operating system;

The above part is excerpted from the Google Engineer interview guide provided by HR. PDF, if you need it (confirmed with HR, this information can be shared), please contact me to send it to you.

Have a meal

At noon, HR will arrange an engineer from Google to take you to dinner and chat with you. Talk to him if you have any questions. I have to say, Google’s food is pretty good.

I talked to my little brother about what it was like to work at Google.

English interview

English interview, take out separately to say, Google China side, there are 1-2 rounds. It is advisable to prepare ahead of time and practice the basic spoken English. Just because you’re suddenly forced to communicate only in English during the interview, don’t let the atmosphere become tense and cause you to perform poorly. You can prepare in advance, and then you can try to, for example, simulate the interview situation with some of the questions. The main thing is that you may need to familiarize yourself with basic computer related vocabulary in advance, so you don’t want to be unable to express yourself.

Overall, Google interviews are hard, but they’re certainly not as hard as I expected. However, the requirements are really high, and some boundary cases are also within the onsite inspection scope. After the interview, I was informed of the result the next day that I did not pass the interview. It turns out that the feedback on the failed results is faster than the feedback on the approved results. HR will give you feedback on where you didn’t do well, and then if you want to get into Google, you can brush up on the questions and say you can try again in a year, so keep in touch.

Haha, above is my complete Google interview journey, although failed (strength is not enough), but there is harvest. If you have enough confidence (of course, you should also have some strength), you can also ask me for help in the promotion, I can help the students in Google or directly to the recruitment of HR students. If you want to interview Google, brush the question is inevitable. On the whole, the interview experience at Google was very good. HR gave her careful guidance and timely feedback during the whole process, and she gave her thumbs up

If you think this article has gained, I also hope you can help to share, forward and “watching “. Thank you!