JOURNEY TO
GOOGLE
Interview Process
● Resume Screening
● HR email or call
● Online Assessment
● Phone screening - 1 or 2
● Onsite - 4 to 6
Commonly Asked
● Graphs and Trees - 46%
● Arrays and Strings - 38%
● LinkedLists - 10%
● Searching and sorting - 2%
● Stacks and Queues - 2%
● Hash tables - 2%
Onsite Interviews
Interview 1 : Technical ( 45 Minutes )
Interview 2 : Technical + Googleyness & Leadership ( 60 Minutes )
Interview 3 : Technical + Googleyness & Leadership ( 60 Minutes )
Assessment Criteria
1. Coding
2. Data Structures & Algorithms
3. Good Communication
4. Collaborative Attitude
5. Time Management/Speed of solving the question (20 mins
per question)
1. Coding Criteria
BASICS
● Coding on Google Documents. "No IDE/Compiler" ( Practice writing code in a Google doc )
● Code as close fully functional working code (production level code)
● No Pseudo Code
GOOD CODE QUALITY & CODE FAST
● Please write well structured, clean and neat code with consistent coding style!
● Use proper syntax/indentation, but feel free to clarify uncommon APIs
● Use meaningful variable/function names.
● Your code should be very readable. No errors/bugs.
COVER FOR ALL EDGE/BOUNDARY CASES
TEST CASES (SAMPLE DRY RUN)
2. Data Structures & Algorithms
Frequently asked topics (in no particular order)
1. Binary search
2. BFS/DFS/Flood fill
3. Tree traversals
4. Hash tables
5. Linked list, stacks, queues, two pointers/sliding window
6. Binary heaps
7. Dynamic programming
8. Union find
9. Ad hoc/string manipulations
10. Arrays
11. Other good to know topics: Trie, segment trees/fenwick trees, bitmasks
You may want to explore these learning resources:
● https://www.coursera.org/learn/algorithms-part1
● https://www.coursera.org/learn/algorithms-part2
● https://www.udacity.com/course/intro-to-algorithms--cs215
● https://ocw.mit.edu/courses/electrical-engineering-and-computer-science
/6-006-introduction-to-algorithms-spring-2008/
● http://www.geeksforgeeks.org/top-10-algorithms-in-interview-questions/
● http://bigocheatsheet.com/
DS & ALGO ASSESSMENT
● Assessing based on your knowledge and understanding of data structures
and algorithms and your problem solving skill set
● Can you implement the most optimized data structure and algorithm for the
question?
● Propose a solution, and an alternative solution and analyze the tradeoffs
○ Can you explain the tradeoffs between the data structure/solution?
○ Can you explain why you choose a data structure for implementation?
○ Can you explain and analyze the time and space complexity correctly?
● Can you translate the algorithm to code well?
3. Good Communication
DO
● You are expected to “Talk and Code”
● Spend time analyzing the problem first, and verbally share your thought process with
the interviewer, explaining your rationale and approach (how and why did you derive
a particular solution)
● Explain your code to the interviewer
DO NOT
● Do not keep silent when thinking to yourself. Interviewers find it hard to assess a
candidate when they do not know what the candidate is thinking about!
● Do not mumble in an interview
4. Attitude
● Collaborative, proactive attitude suggesting your problem solving skills to the
interviewer
● Drive/Lead the technical discussion forward
● Solve the question with close to minimal hints/guidance
● Decision making skill set
○ Are you able to independently derive the solution instead of checking with
the interviewer for advice?
● Integrate any hints/suggestions by the interviewer in your solution
5. Suggested Time Allocation / Framework from Googler (20Min/Question)
● Ideally complete 1 question in 20 minutes
○ 2 mins: Asking Clarifying Questions to gathering all requirements from the
interviewer (Scoping)
○ 8-10 mins: Proposing valid solutions, an alternative approach and discussing
trade offs to get to the most optimized solution. Explain your approach and
rationale of choosing data structure & algorithms. Independently analyze time
and space complexity.
○ 5 mins: Code & Implement a fully working solution. Cover for Edge/Boundary
Cases
○ 5 mins: Dry run (sample Test Cases) along with discussion with the interviewer,
fixing bugs
● Coming up with the working solution first is important! Some candidates spend too
much time on problem solving, and end up having no time to code!
● You can also use brute force & optimize it along the way
Online Assessment
● Clarify
● Plan
● Implement
● Test
● Optimize
Always Start By Asking Clarifying Questions
● Ask 3-4 relevant clarifying questions at the start to reduce the scope of the
problem
● Do not jump in to solve the question before clarifying the requirements!
Examples of the good clarifying questions
○ What is the range of numbers?
○ Are these numbers floating integers or positive numbers?
○ How much memory is there?
○ Are there duplicates in the numbers?
Preparation Plan
● Start your preparation with Steve Yegge’s Blog and go through our website for Interview
Preparation Tips
● These sites are also useful to help you prepare for the technical interviews:
○ Google’s Tech Dev Guide is frequently updated with new problems and resources for
your preparation. You can go straight to the Resource Library for Google Coding
Questions
○ Sites like Leetcode, GeeksforGeeks, Interviewbit, Topcoder, HackerRank,
interviewing.io, Kickstart, Project Euler, Kattis, ACM - ICPC offer coding practice
and problem solving.
■ Time yourself!
● This will help get you into the problem-solving mindset. Practice as much
as you can! - with problems from LeetCode and Geeksforgeeks. For
LeetCode, practice around 150 medium (20-25 mins) or hard (45 mins)
level problems under different categories.
G&L Round
The G&L interview focuses on behavioural and hypothetical questions on
teamwork, leadership, challenging yourself to work outside of your comfort zone.
You can prepare examples from your internship or college life.
Mock Interview
Recommend using this website https://www.pramp.com/ where you will be paired
with an optimal peer (going through their interview process).
How to: Work at Google — Example Coding/Engineering Interview
How to: Prepare for a Google Engineering Interview
Prepare for Your Google Interview: Coding
https://docs.google.com/document/d/11n15922m46evuVBTIdmXeP-0WBRqz1kI9
ofiJ_SL0cQ/edit
ALL THE BEST :)