Senior Software Engineer @BlueJeans by Verizon
Tips on Google interview process & preparation! Get guidance & valuable insights from our Google mentors for Google software engineer interview preparation.
"Google Software Engineer II and III."
The overall expectation from them is perhaps the only difference between the two levels.
Either you are preparing for Google SWE II or SWE III, the difference at Google is that, in the interview phase of SWE II, there is room for mistakes.
Google SWE III aspirants are expected to be completely perfect.
They should be good at finding solutions, must possess a clear thought process, should be able to properly communicate their thoughts and must write well, in a clear and proper manner.
In the case of SWE II, the interviewers might go easy and be willing to maybe even overlook a few shortcomings.
"Something rather specific to Google is that the interviewers are more concerned with the candidates' thought process than the output that they generate during the interview"
If you are looking to join as an SWE at Google, you're at the right place.
Gaurav breaks down the Google interview process for SWE II and SWE III and shares some valuable insights on Google interview preparation.
Let's get started.
Have you heard that Google hires the world's top talent?
Or that its acceptance rate is less than 1% of applicants for software engineering roles?
Google's quality standards coupled with the increasingly high number of applications they receive every year make for the difficulty candidates face in getting a job.
The tech giant receives nearly 3 million job applications per year making it more competitive than even Harvard University. 🤯
Google software engineer interviews tend to time around 45 minutes on average.
The pass rates range between 15% to 20%.
Getting into Google may not be a piece of cake but it's not exactly rocket science, either.
So what exactly do you need to do?
If you want to get into Google as a software engineer, you need to put in a lot of guided, strategised efforts that include practice and preparation.
Google software engineer interview process may be categorised into three stages —
👉 Online Assessment
👉 One or two rounds of Technical Phone Screen
👉 Onsite interview consisting of four rounds
The Google software engineering interview process can take a little over eight weeks and follows these steps:
👉 Application of Resume, cover letter, and referrals
👉 Online assessment (only for new graduates and interns)
👉 Technical phone screen - inclusive of one or two interviews
👉 Onsite interviews - ranging between four to six interviews
The exact process varies according to the position.
Google recruiters also send you a PDF at the beginning of the process detailing the interviews you may expect. .
When applying for a new graduate or intern position, the Google SWE interview process often starts with an online coding sample test.
This consists of two questions required to be completed within one and a half hours.
The questions in this round are based on data structures and algorithms and resemble the ones asked in interviews.
Candidates are expected to write their own test cases and can use any IDE before submitting their solution.
Both questions must be answered correctly to proceed to the next round.
Quick tip💡: The archives of Google's coding competitions, particularly the Code Jam competition, can help you get a good idea of the types of questions you should prepare for.
Leetcode is another good resource with a helpful thread on what questions to expect in Google's sample coding test.
Experienced hires as well as new graduates who pass the coding sample test are invited to the next round which includes one or two technical phone screens.
While referred to as the "phone screen", this interview is generally conducted over video chat on Google Hangouts or Google Meet.
Each interview will last anywhere between 30 to 60 minutes.
In this round, the candidate speaks to a peer or a potential manager and is expected to solve data structure and algorithm questions.
Sharing a Google Doc with the interviewer, the candidate must write the solution directly in the document without access to syntax highlighting or auto-completion like it is available in a regular IDE.
It might be worth it to practice writing code in Google Docs before the interview.
Lastly, in addition to coding questions, you should also prepare to answer a few typical behavioural questions: "Tell me about yourself," "Why Google?" or, "Tell me about a recent project you worked on."
Refer to our guide on How to Clear Googleyness round in Google interview.
Onsite interviews are the real deal.
Expect to spend almost a full day at a Google office with four to six interviews in total.
Every interview will last around 45 minutes and cover one of these topics:
👉 Coding interviews
👉 System design interviews
👉 Leadership interviews with a focus only on management positions
Prepare to go through three coding interviews with data structure and algorithm questions, and one or two system design interviews.
Candidates are expected to be at their best in coding interviews.
You will write your codes on a whiteboard in most onsite interviews at Google.
But the company has also started offering Chromebooks for coding interviews at some locations.
An interview app in these laptops lets you choose the coding language you want to use.
Finally, in addition to the interviews, you'll have lunch with a fellow engineer onsite.
Your time to ask questions about what it's like to work at Google, the company won't be evaluating you during this lunchtime interview, but it's best to behave as if they are.
Instead of attacking the more in-depth, more difficult topics first, for the first two months, strive to answer the very basic questions on data structures.
Follow this up by answering the basic questions on array and stack.
The goal is to keep your approach related to the question, rather than the specific data structure.
Misinformation will derail your Google technical interview preparation and an incomplete understanding of a technical question will ruin you in the actual interview.
For the first few days, start with the basics — check out Google's career page and solidify your knowledge about how Google hires.
Watch videos from Google on what interviewers look for in the interview.
Check out example interviews featuring real Google engineers.
You can also read the full conversation here: Google Interview Experience for SDE
Got the foundations ready?
Read your way through CTCI (Cracking the Coding interview by Gayle Laakmann McDowell), especially chapters 5 and 6 entitled Behavioral Questions and Technical Questions.
This should give you a good sense of what a well-prepared candidate looks like.
With the knowledge you have gathered about how prepared you should be, make sense of where you are right now.
The CTCI will come in handy.
Choose a few questions from every section and try solving them.
Time how long it takes you to reach an optimal solution for every problem you solve.
For every problem you solve yourself, check the accompanying solution to test how you did.
Reached optimal solution?
Progressed beyond the naive/brute force answer, at least?
💡 Note the time you required and whether you were able to write the code in the minimum lines possible to do so.
Repeat this for each section.
Finished? Take a step back, and prioritise the sections you find your performance unsatisfactory during practice.
Deal with the rest of the sections later.
Ensure you repeat this exercise right before your interview, this'll help you get a grasp of what your weak points are before the day of the interview.
With all the data you acquired through testing yourself, create a priority list of things you'll need to study for Google SWE interviews.
You'll find almost everything you need already covered in CTCI and the standard algorithms book.
Remember, the memorisation part is for your understanding!
There's little chance you'll ever have to write out an algorithm verbatim.
What will be expected instead, is that you know each algorithm enough to be able to use them creatively and solve unknown problems.
Select two or three items from the study list and spend a minimum of two to three hours every day, working on them.
Test yourself as you memorise things, and write out algorithms and data structures on papers or whiteboards.
Follow them up by writing down the worst-case Big-O time and space complexities for algorithms.
💡Note: Check your work every single time, without fail!
Copy what you’ve written to an IDE, and compile.
Any compilation errors? Note them down and try not to repeat them on your next try.
Make sure to create unit tests and verify the correctness of your code.
Continue doing this until you are transcribing and compiling codes with zero logical and syntactical errors.
Read this in depth guide on DSA Preparation.
If you have followed through with all the steps until now, you are quite ready with the skills you'll need to answer the Google interview questions.
Begin with CTCI and try your hand at every single programming problem you can. Use the six steps each time.
This will be for half your study time, the other half should be spent reviewing items from your study list.
If you find yourself running out of questions in the book, know that you are doing pretty well.
Look up sites like CareerCup and InterviewCake to find tons more real samples online.
Spend some time practicing with other people, both technical and non-technical.
Ask them if:
Once your resume is up-to-date and studded with your projects and achievements, it's time to apply at different job portals.
Make sure to apply at LinkedIn and all other relevant job portals.
You don't want to overlook the underrated Naukri.com either.
Talk to people at different organisations and in different roles.
Try to get as many referrals as you can.
Text and mail often, cold outreach is a tried and tested way of succeeding at jobs.
Candidates have a tendency to focus mostly on those topics that they find easy to solve.
And don't spend an appropriate amount of time on topics with higher difficulty levels.
This can really jeopardise you so make sure you do not fall into this trap.
Another mistake you really want to avoid is memorising solutions.
Instead, focus on understanding how the solution for different problems is reached.
At the same time, identify the gap between your way of solving the problem and other ways of solving the problem.
A mentor can prove very effective and helpful in your Google interview preparation for SWE II and SWE III roles, by helping you see the redundancy in your solution.
Your chances of success do not die at the first sign of failure.
As cliche as it may sound, your failures are in so many ways, your stepping stones to success.
Rejections are a part and parcel of the job application process, keep trying and you'll get to the summit, sooner than you think.
Preplaced can and will be more than glad to help ease your journey. 💫