How to Crack Interviews at Big Tech like Google
I am sharing my experience of interviewing 100+ candidates at Google. This is a guide for anyone planning to interview at big tech companies be it for tech or non-tech roles.
After much preparation, messaging numerous recruiters and asking employees for referrals you have that much awaited interview scheduled at your dream company like Google. Though you have prepared for technical interview rounds but your anxiety has kicked in. You start wondering how the interview will go, and if there is anything missing in your preparation. You wish you had someone to talk to, someone with experience, someone who knows how these interviews are conducted and how you should approach the interview questions.
I started my tech journey by clearing interviews for companies like Goldman Sachs, Adobe, Amazon & Google. In my 10 years of industry experience, I have interviewed 100+ candidates for software engineer roles at Google. I have counselled numerous candidates on how they should approach the interviews at Big tech. So I am writing this blog to help you understand what happens during an interview at big tech companies like Google. Being a software engineer myself, my experience can be biased towards interviews for software roles, but I aim to keep this post relevant for non technical interviews too.
Interview process at Big Tech
Once your resume is shortlisted for an interview at big tech, you will go through the following interview process.
Initial call from recruiter
You will receive an initial screening phone call from the recruiter. Do not take this call lightly. It is part of your selection process. The recruiter themselves would not be a person belonging to your field, but they will have a set of questions prepared for initial screening. These will be short and easy questions whose answer would usually be of one word form. If you are well prepared for the actual interviews, these questions should be easy to answer. For example: a software engineer candidate can be asked to tell the time complexity of the merge sort algorithm.
Phone screening
Once you have cleared the initial call from the recruiter, they will schedule a qualifying round. This happens virtually over a video call. For technical roles, this will be a data structure and algorithm interview. You will be asked to solve 1 to 2 technical questions in a duration of 45 minutes. The feedback from this round decides whether you will be called for onsite rounds or not.
Onsite interviews
Once you have cleared the phone screening round, you will be called for onsite interviews. Pre-covid, these interviews used to happen in the office. Google would call you to their offices to take in person interviews. They would pay for all the travel, food and accommodation. It used to be a great luxury experience. These days, the onsite rounds also happen virtually over video call. These interviews are similar to phone screening rounds, where you will be asked 1 to 2 technical questions. In some cases interviewers may ask 3 questions as well, if you manage to solve the previous 2 questions fast enough. All the interviews are of 45 minute duration. If you are called to the office, these interview happens back to back, all in one day. For virtual rounds, the interviews may happen on different days. There will be 4-6 interview rounds based on your job level, role and how you have performed in the interviews. Usually there are 4-5 interviews, but the recruiter may be willing to schedule another interview if you are a borderline case. For technical roles there will be 3-4 DS/Algo rounds and 1-2 system design rounds. Senior level candidates can have 2 system design rounds. At junior level there will be only 1. For freshers, there may be no system design rounds. At Google, there will also be a behavioral interview round also known as Googliness interview which assesses if you are a right cultural fit for the company.
Offer letter
Each interviewer will submit feedback about how the interview went. The feedback is really detailed, usually it takes about 30 min for interviewers to write the feedback itself. The feedback has details about what was your thought process, what solutions you proposed, what code you wrote, how you performed on various technical and non-technical parameters and a recommendation on whether you should be hired or not. Feedback from each interviewer is compiled and sent to the hiring committee. There are multiple hiring committees which look at the feedback and take a final decision on whether to hire the candidate or not. If the committee approves, there are some other steps involving hiring manager and compensation decisions after which the offer letter is rolled out.
How to approach interview questions ?
To be able to crack the interviews at big tech like Google, you should obviously be well versed with the topics you are interviewing for. For software engineer roles, you should have command over any one programming language, know ins and outs of all the major data structures, have expert knowledge on applications of the algorithms. In this post, I am not going to go into the technical details. Instead I will tell you about the various other skills you need for solving a problem during an interview.
In big tech companies, it is very important that the employees have these skills:
Being able to solve hard problems.
Being able to work together in a team to solve those hard problems.
Doing the right thing which aligns with the company’s values.
To demonstrate above skills, you should take care of the following during the interviews.
Resolving ambiguity
It is a very standard approach by interviewers where they leave some ambiguity in the problem. They will deliberately leave some missing dots or some unanswered questions while explaining the problem. It is expected from the candidate that before they start solving the question, they resolve these ambiguities by asking questions from the interviewer. You should not directly start solving the problem, instead you should ask relevant questions and make the problem more clear. As an example for technical interviews, the interviewer may not tell you the bounds of the problem, so you would have to ask them so that you know what kind of edge cases may occur. Start you interview by asking questions and not by giving solutions. This ensures that the candidate has a curious mind, and in a real world project they will be willing to spend time in understanding the problem domain before jumping into the solution.
Multiple approaches
Every problem that is asked in an interview will have multiple solutions. Not all solutions will be optimal, but it is expected from the candidate that they are able to think of multiple approaches. You should not just fixate yourself onto one solution even if it is the most optimal one. Instead you should tell what all approaches can be used to solve the problem at hand with pros and cons for each approach. Along with mentioning the approaches, you should also be able to tell why you will reject some approach and why you are accepting the approach in your solution. Every employee at Google is expected to think through multiple approaches before beginning to work on a project. If the candidate in an interview can not demonstrate this skill, they might not perform well on the actual job.
Good communication
Communication plays the most important role while working in a team. Candidates are expected to show good communication skills even for the interview of software roles. By communication skills I do not mean that they should have very good English vocabulary or good accent. All I mean is that you should be able to adequately express your thoughts. It is important that you do not use vague terminologies to explain the concepts. You should frequently talk to the interviewer and tell them about the approach you are thinking about. There should be a free flowing conversation between you and your interviewer like both of you are solving the problem together.
Care about the user
This is one of the most un-utilised skills which can earn you good brownie points in an interview. You should always care about your target user. When you are asked to solve a problem, you should understand who your target users are. The target users are the one who will use the solution you are building. Once you identify these users, you should mention some points which will ensure the best experience for these users. For example, if your solution stores user’s personal data, you should mention how will you ensure user privacy, and how will you prevent any data thefts. You can mention what metrics you will track so that you can optimise for a good user experience. All employees at Google are expected to consider these parameters for user experience before they start working on a project. Showing these skills in an interview will demonstrate that you care about the user and you will gain good points in the interviewer’s feedback.
How can you learn more ?
It is not just the role specific skills like coding or algorithms that gets you through the interviews at big tech companies like Google. You need to learn how to approach those interview problems. One of the best ways to get good at interviews is by practising. There are many services out there which help you with mock interviews, so you can try for those. You can ask your friends at other companies to take mock interviews for you. You can talk to people who have gone through the interview experience themselves and learn from them. The more you practise the better you get. I wish you all the best for your upcoming interviews.
In this post, I tried to cover the interview topic in detail but it is natural to have more questions on interviews or anything related to your career. To get your answers you can schedule a career guidance call with me.
“I have also shared my journey from zero coding knowledge to multiple rejections to getting a job at Google, and how you can benefit from it. You can read all about it.”