- Referral/codejam/campus hiring test + Resume Shortlisting
- [Optional] recruiter call and resume discussion round
- 1 or 2 online rounds on Hangouts
- 4 to 5 onsite rounds (usually 4 technical + lunch with a googler)
- Hiring Committee package review
Get referred for any open position by a Googler.
This will result in a recruiter contacting you if the referral is accepted and if they feel you are a potential match for the role you are applying for. You go to Step 2 in this case.
If you get a decently good rank in CodeJam/ Kickstarter Asia Pacific, then you are again contacted by a recruiter for an open position that they think you might be a potential match for. You proceed to Step 2.
Campus Hiring Test
Similar to other companies online test consisting of 2-3 questions in an online round is held at respective college campuses. The leaderboard of this test coupled with a resume screening pushes you to the Step 2.
Once you are in the process from any of the three ways from step 1, you get a call. This call will be discussions about the projects in your resume along with some MCQ type questions on various topics like DSA, OOP, DBMS.
Further, your recruiter will ask you about your previous internships, any other job offers that you have (PPOs etc) and give you a rough idea about the compensation that is going to be offered for the role in question. The comp talk is usually only if you already have offers that they are willing to match up to.
After an evaluation on these, the recruiter will schedule an online round for you.
The interview process starting here gets purely technical. You’ll have one (or two, depending on how your rounds go) technical round over Google Hangouts video call and a shared code editor.
Important Note: All interview rounds are strictly 45 minutes.
In the 45-minute call you might be asked 1,2 or 3 questions on data structures and algorithms. You are expected to code all of these questions in the shared editor. If you are asked more questions ( 3 or more, you might not be asked to code all of them).
The shared code editor is nothing fancy, so beware of that. It’s plain Google Docs, and hence there is no IDE like autocomplete or syntax highlighting. You are free to use any programming language for any question through all the rounds.
Once you get a positive feedback on your hangouts rounds, you will receive a call from the recruiter. You’ll get to know the feedback and an onsite round will be scheduled. This typically takes 1-2 weeks to hear about hangouts rounds and the onsite is scheduled 1-2 weeks later. If it is in an office that’s not where you live, you get travel+accom for the days of your onsite interviews.
The onsite round is conducted at a Google Office. You will have 4 back-to-back in-person interviews, each of 45 minutes with a break in between. A Googler will accompany you to lunch where you can ask anything that you want to know about the role or Google in general.
All the onsite and hangouts round are data structures and algorithms rounds. You’ll be given 1 or in some cases 2 problems to solve and write code for the same. You have only 45 minutes so be mindful of the time you take to think of the solution.
Google interviewers pay very good attention to the code you write, so it’s advised to practice all the basic algos and more importantly data structures as you would have to modify standard DS for your solutions. Be fluent in writing code and avoid making mistakes like:
- semantic errors - off-by-one errors (in tree levels, binary search) - null pointers in linked lists and trees
Writing good code in one go can take your interview to a strong positive feedback instead of a ‘just positive’ feedback. Writing proper code, keeping in mind edge cases and abstracting implementation to allow for possible modifications to the question will really tie up the interview strongly.
There is also an additional Leadership interview round that has been added to onsite interviews.
The last step at Google is different from most of the other companies. Once your onsite feedbacks are received in, you’ll get a call from your recruiter about the same.
At Google, onsites (DSA and Algos) matter as well as your skills, which is why you have a packet review. A packet is sent to a hiring committee which makes the final decision to hire or not. Your packet contains your feedback from all the previous rounds and other details that your recruiter will ask in the call. This is where your previous experiences come in, which are used both in deciding Hire/No Hire and team matching in case of a hire decision.
Things to tell your recruiter to include in your packet:
- Research Papers
- Previous internships (good companies and good projects will increase weightage)
- Google Summer of Code / Outreachy / similar programs
- ICPC CodeJam ranks
- Any hackathons/programming contests that you have participated in (e.g.: Google HashCode, Microsoft Code.Fun.Do, Goldman Sachs Quantify, Facebook Hacker Cup)
- Codeforces/Hackerrank/TopCoder ratings
After submitting your packet, you’ll hear back from the recruiter in 2 to 3 weeks time with the final decision.
Congratulations if you are a ‘Hire’.
(This is just a compilation from some interview experiences. I do not represent Google.)