Chapter 1: Get an Interview with Google – The Complete Guide to Google Interview Preparation

Google receives over 1 million resumes a year and only a few people got the chance to take an interview. In other words, most people didn’t fail Google interviews but failed to get an interview.

When talking about Google interview preparation, most people will focus on coding questions and try to practice every single question on Leetcode. However, more than 90% of them didn’t get a chance to test it.

Even if you are not fully prepared, taking the interview means you still have a chance. In this chapter, I’d like to give a lot of practical suggestions on how to get an interview with Google. Most techniques also work for other companies.


Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More


Chapter 2: Build a Solid Foundation – The Complete Guide to Google Interview Preparation

This is the second chapter for our The Complete Guide to Google Interview Preparation series. If you pay attention to a lot of job requirements, you usually see things like “have a solid computer science foundation”. What does that actually mean?

Apparently, it doesn’t mean you have a computer science degree, nor does it mean you have written a lot of code. in reality, a solid computer science foundation means having a clear understanding of basic knowledge.

In this chapter, I’d like to delve into this topic and give you practical tips on how to build a solid foundation. I would say this is the entry point to Google interview preparation, but at the same time, it’s the most important step.


Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More

StockSnap_7ULJ7GRFDB small

Chapter 3: Practice Coding Questions – The Complete Guide to Google Interview Preparation

This is the third chapter for our The Complete Guide to Google Interview Preparation series. When it comes to Google interview preparation, most people will think about practicing as many coding questions as possible.

It’s partially right because you certainly need to practice. However, very few people did it correctly. With the right approach, you can definitely practice smartly and get improved in less time.

In this chapter, I’ll explain in detail how to practice coding questions with practical tips as before. More specifically, you’ll know more about the following questions:

  • Why we need to practice coding questions
  • When to practice coding questions
  • How to practice smartly (the post is mainly focused on this)
  • Recommended resources


Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More


Chapter 4: Experienced Engineers, New Grads, and Interns – The Complete Guide to Google Interview Preparation

This is the fourth chapter of our The Complete Guide to Google Interview Preparation series.

Our readers have completely different backgrounds. Some have been in the industry for a while, some are international students and some are looking for Google internship.

The preparation process may differ a lot depending on your background and target. That’s why in this chapter, I’d like to provide more specific tips for each type of interviewees.

Basically, I put interviewees into three categories: experienced engineers, new grads, and interns. If you are looking for a management position, this post is not for you. Also, if you haven’t read previous chapters, I highly recommend you take a look at them.

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More

2015-09-21-abigailkeenan-003 small

Chapter 5: System Design Interviews (Part I) – The Complete Guide to Google Interview Preparation

This is the fifth chapter of our The Complete Guide to Google Interview Preparation series.

From Gainlo‘s survey, system design interview is the No.1 thing people are afraid of. It’s not unique to Google interview preparation, but all companies in general.

Part of the reason is that system design questions are usually open-ended so that there’s no such thing as a standard answer. In addition, this problem also makes preparation hard because you won’t know if your solution works.

Let’s address all these problems in this chapter. I’ll briefly explain how system design interview is evaluated first, then I’ll provide practical tips about both preparation and interview strategy.


Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More


System Design Interviews (Part II) – The Complete Guide to Google Interview Preparation

This is the sixth chapter of our The Complete Guide to Google Interview Preparation series.

We’ll continue our discussion about system design interviews from <LAST CHAPTER>. In this post, we’ll mainly focus on some practical on-site strategies.

Assuming you’ve already had a somewhat reasonable design (if not, check our previous chapter), the idea here is how to maximize the results in a system design interview. How to clearly communicate your approach is both a science and an art. Also, many candidates are too eager to show off their knowledge and tend to use some buzzwords that make no sense in the current scenario. We’ll address all these problems and red flags in this chapter.


Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More


Chapter 7: Phone Interviews – The Complete Guide to Google Interview Preparation

This is the 7th chapter of our The Complete Guide to Google Interview Preparation series.

If you are following our previous chapters, you should already have a clear idea of how to prepare Google interviews. Normally, if you have passed the resume screen, the first step is the phone interview.

Although phone interviews are slightly easier than on-site interviews in general, it’s where most people get eliminated. There are certainly several red flags you should be aware of, but more importantly, some very simple and practical tips can significantly increase your passing rate. I’ll address all of them in this chapter.


Treat It As On-site Interviews

If you have interviewed with many top companies like Google, Uber, Airbnb, etc., you’ll soon realize how similar the phone interview processes are.

Generally, there are two types of phone interview – non-technical interview and technical interview. The non-technical interview is usually conducted by HR people. The conversation is mostly about your background and passion.

The technical interview is what we are focused on in this chapter. You can expect it to be exactly the same as an on-site interview except that it’s not face-to-face communication. Usually, you need to write code via some code sharing tools like Google Doc and some companies may even require your code to be compiled.

Take Google phone interview as an example. It’s roughly 45min and usually, two questions will be asked. You’ll certainly write code for at least one of them.

It’s unlikely to have system design questions in phone interviews, so my suggestion is just treat it as an on-site coding interview. That’s it. You don’t need to prepare questions specific to phone screens. In fact, many interviewers ask same questions in both phone and on-site interviews.

Therefore, you might need to adjust your expectations if you thought phone interviews were less technical and easier. Be prepared to have a very technical phone interview. Even if it turns out to be easier than you expected, it’s actually a good thing.


Brush Up Your Tools

Professional tennis players will try to get familiar with the courts before real games. By the same token, if you have never used the code sharing tools before your phone interview, you’ll certainly feel uncomfortable with it, which can potentially affect your performance.

The good news is that you can easily know what tools will be used beforehand. Search Google or Glassdoor, or just ask the recruiter. You should also check if compilation is required. The rule of thumb is to remove as many unexpected things as possible.

The next step is pretty clear. Practice coding questions as usual but write your code on the specific tool. Sometimes it may take a little while to get adapt to it, e.g. Google interviewers like to share Google Doc, which has no indentation, autocompletion or color highlight.

A lot of people usually ignore this in preparation as they think this is trivial and useless. However, what I want to say is that details really matter. Clean and readable code can really wow the interviewer. Also, if you take one step back, getting familiar with the tool won’t take much of your time and it can only do you good.


Think Loudly

Although I have emphasized this point countless times, thinking loudly is even more important in phone interviews. Everyone knows that communication is less smooth in a phone screen, but few really does anything to improve it.

If you think interview as a discussion, it’s important to make sure everyone is on the same page. The goal here is not to remove silence, but let the interviewer know what’s in your mind.

The biggest benefit is to reduce unnecessary misunderstanding. When I see a candidate keep silent for a while, I was wondering if he has no idea at all, or he misunderstood the question, or maybe he was on the right track and was almost there. If I knew what he’s thinking about, I would certainly offer help when things are not in the right direction. Additionally, the final code is only part of what we evaluate, the discussion process and how the candidate analyze the problem are equally important.

Here are few examples:

  • Talk about your overall strategy. Are you trying to start with some examples? Are you solving a simpler version of the problem? Are you going to use dynamic programming?
  • What is your concern? Do you worry about using too much memory or the algorithm is too slow?
  • What are issues you will address later? For example, you know the current algorithm doesn’t handle a particular case, mention this in advance.
  • What are you stuck with? When you find yourself not making any progress, articulate your problem.

You will also realize that these questions can help you better understand what you are doing. Sometimes you might find yourself just doodling on the whiteboard without making any progress at all, ask yourself what are the problem you’re trying to solve at the moment.


Clear Communication

Following the above point, you should pay more attention to the communication in phone interviews. Unlike in-person interview where you can use a whiteboard to help, vocal communication is the only approach in phone interviews.

A lot of my colleagues don’t like conducting phone interviews, which is mostly because of the communication issue. Clear communication can certainly give interviewers a better experience. Here are several tips:

  • Speak slowly and clearly. People tend to speak faster when they are nervous, which is more common in phone screens as it’s usually the first technical interview. Usually, when I have trouble understanding the candidate, it gives me the impression that he’s unclear in his mind. Just slow down the pace and don’t rush. This can also make you sound more confident.
  • Use typing to help. This is a “technique” to an in-person discussion. Don’t make it like a transcript. All you need is to highlight key points. For example, if your solution includes 3 steps, just list the high-level points. Some people are concerned about the speed. Remember that people who are slow in interviews are not slow in communication or typing, but slow in thinking the solution and finalizing the code (check this post for a detailed discussion). In reality, with some text to reduce unnecessary back-and-forth discussion, it saves your time eventually.
  • Find a quiet environment. You’ll be surprised at how many people had their phone interviews in terrible environments. Background noise, poor signal, and unexpected interruptions are top three things I’ve encountered. Sometimes it can drive me crazy.

It’s worth nothing that all these tips are not something you should keep in mind because you will definitely forget all of them in interviews. What you should do instead is to practice them. You won’t feel comfortable to think loudly unless you keep doing this for some time. Similarly, you won’t communicate clearly unless you try to improve it from day 1.


No Cheat

This is the biggest red flag in a phone interview. Some people make the phone interview more like a “group interview”. Sometimes I could clearly hear the whisper and discussion with someone else. I don’t think it’s worth to talk too much about this point, the only thing I’d say is that it’s way easier for interviewers to detect cheating than you expected.



I think one of the most important tips in this chapter is you should practice communication as early as possible. Most people don’t recognize the importance of this and it could be one skill that makes you stand out.

Don’t expect to have any big improvement within days. Be patient and over time, you’ll be surprised at where you are today.

If you want to have more guidance from experienced interviewers, you can check Gainlo that allows you to have mock phone interviews with engineers from Google, Facebook etc..

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More