
Google Software Engineer Interview Handbook
Interview Process
-
Recruiter Pre-screen (20-30 mins) – Non-technical. Chat about your resume and background. Get ready to answer questions like Why #google? What's your biggest achievement? Why are you leaving your current job?
-
Technical Phone Screens (40-60 mins) – One or two phone screens with the hiring manager or a Google employee. You'll solve a coding question related to #datastructures and #algorithms on a shared Google Doc. Some questions on your background.
-
Onsite Loop (4-5 interviews) – #coding and #systemdesign questions. Expect questions related to slightly harder data structure, algorithms, and system design.
Google evaluates candidates on 4 criteria:
1. Googleyness
Googleyness means putting the user first, being friendly, approachable, humble, doing something nice for others, being proactive, and keeping your eye on the goal. You'll be judged for being a team player and having a bias for action.
2. General Congnitive Ability
Your ability to solve problems and explain your thought process. Expect open-ended questions like how would you optimize this further? The interviewer wants to know how you learn and adapt to a situation.
3. Leadership
Your ability to take on tough problems and step back when it's not needed. They'll gauge if you can mobilize a team to solve a difficult problem. Get ready to answer questions like, how have you demonstrated leadership when you weren't the manager? how have you dealt with trade-offs and ambiguity?
4. Role-related Knowledge
Is your technical expertise sufficient to drive impact at Google? How will you grow and scale with Google?
Interview Tips
-
Data Structures - Practice Heaps, HashTable, Tree, Stack, Queue, Graph, and Trie.
-
Algorithm - Practice Dynamic Programming, Quick-Sort, Breadth-first and Depth-first search.
-
Explain your thought process - Practice describing your design decisions clearly and concisely.
-
Collaborate – Don't forget to discuss tradeoffs, present multiple solutions, and take hints from the interviewer.
Top recent Google tagged Coding Questions on leetcode
-
Happy Number (link)
-
Minimum Meeting Rooms (link)
-
Number of Islands (link)
-
Merge Intervals (link)
-
Number of Closed Islands (link)
-
Making a Large Island (link)
-
Employee Free Time (link)
-
Alien Dictionary (link)
Top System Design Questions
-
Designing a Web Crawler (link)
-
Designing Dropbox (link)
-
Designing Facebook Messenger (link)
-
Designing Youtube or Netflix (link)
-
Designing Twitter (link)
Reference
What our users say
MO JAFRI
The courses which have "grokking" before them, are exceptionally well put together! These courses magically condense 3 years of CS in short bite-size courses and lectures (I have tried System Design, OODI, and Coding patterns). The Grokking courses are godsent, to be honest.
KAUSHIK JONNADULA
Thanks for a great resource! You guys are a lifesaver. I struggled a lot in design interviews, and this course gave me an organized process to handle a design problem. Please keep adding more questions.
Roger Cruz
The world gets better inch by inch when you help someone else. If you haven't tried Grokking The Coding Interview, check it out, it's a great resource!