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)