Google Interview Questions & Reviews in California
Getting an Interview
- Popular Job Titles:
- Software Engineer (851)
- Product Manager (129)
- Intern (86)
- Software Engineer Intern (84)
- Software Developer (65)
- Senior Software Engineer (47)
- Software Development Engineer (42)
- Account Strategist (40)
- Associate Product Manager (39)
- Software Engineering Intern (38)
- Account Manager (36)
- Associate Account Strategist (35)
- Administrative Assistant (31)
- Software Engineer In Test (31)
- Site Reliability Engineer (31)
- Engineering (31)
- Adwords Associate (29)
- Program Manager (24)
- Engineer (22)
- Analyst (20)
- Software Engineering (18)
- Technical Account Manager (18)
- Product Quality Analyst (18)
- Technical Program Manager (17)
- Business Analyst (17)
- AdWords Representative (17)
- Systems Engineer (17)
- Financial Analyst (17)
- Senior Product Manager (16)
- Test Engineer (13)
Software Engineer Interview (Positive Experience; Difficult Interview)
I applied through an employee referral and the process took 4 weeks - interviewed at Google in April 2014.
Interview Details – Direct onsite because I interviewed in the past and did well that time. From the time I sent my resume to interview day: 2 weeks. From interview day to offer over the phone: 2 weeks.
The syllabus for the interviews is very clear and simple:
1) Dynamic Programming
2) Super recursion (permutation, combination,...2^n, m^n, n!...etc. type of program. (NP hard, NP programs)
3) Probability related programs
4) Graphs: BFS/DFS are usually enough
5) All basic data structures from Arrays/Lists to circular queues, BSTs, Hash tables, B-Trees, and Red-Black trees, and all basic algorithms like sorting, binary search, median,...
6) Problem solving ability at a level similar to TopCoder Division 1, 250 points. If you can consistently solve these, then you are almost sure to get in with 2-weeks brush up.
7) Review all old interview questions in Glassdoor to get a feel. If you can solve 95% of them at home (including coding them up quickly and testing them out in a debugger + editor setup), you are in good shape.
8) Practice coding--write often and write a lot. If you can think of a solution, you should be able to code it easily...without much thought.
9) Very good to have for design interview: distributed systems knowledge and practical experience.
10) Good understanding of basic discrete math, computer architecture, basic math.
11) Coursera courses and assignments give a lot of what you need to know.
12) Note that all the above except the first 2 are useful in "real life" programming too!
Graph related question and super recursion
Design discussion involving a distributed system with writes/reads going on at different sites in parallel.
Array and Tree related questions
Designing a simple class to do something. Not hard, but not easy either. You need to know basic data structures very well to consider different designs and trade-offs.
Computer architecture and low level perf. enhancement question which requires knowledge of Trees, binary search, etc.
At the end, I wasn't tired and rather enjoyed the discussions. I think the key was long term preparation and time spent doing topcoder for several years (on and off as I enjoy solving the problems).
Conclusion: "It's not the best who win the race; it's the best prepared who win it."
Negotiation Details – You can and should negotiate politely. You are in a stronger position if you have another offer, but even otherwise, you should ask for more of every type of payment!
Software Engineer Interview (Positive Experience; Difficult Interview)
I applied through a recruiter and the process took 4 months - interviewed at Google in March 2014.
Interview Details – I was not looking to switch jobs, but I was contacted out of the blue by a recruiter on LinkedIn. I was happy with my job that I held with the same company since college graduation (10 years). However, I decided to give Google a shot. If anything it would probably teach me something about myself.
The recruiter set up a phone interview for roughly 1 month later. I apparently did well as the recruiter contacted me about 2 hours after the interview to say I passed. I was forwarded off to a recruiter in Mountain View that set up an on-site interview for about 1.5 months later. I'm sure the time frames here could have been quicker, but for each step I wanted time to study.
During the on-site interview, I met with 5 different engineers (4 where feedback was taken and 1 lunch interview). Each interview lasted between 45 minutes and 1 hour. I interviewed with members from 2 specific teams, the potential ones I would be joining if offered a position. Despite the fact the lunch interview was not supposed to count, I was told that the lunch interviewer was instrumental in getting me hired.
It took quite a long time after the on-site interview until I received an offer. It took 2 weeks to collect interview feedback and 1 week to get the go-ahead to put me through the hiring committee. It took 2 weeks to go through the hiring committee and an additional week to go through the executive committee. At that point I had an offer, but it took another day or two to negotiate the details. I initially wanted to decline the offer since I was leery of moving my family, but the recruiter gave me the weekend to think about it.
I verbally accepted after the weekend. It took another two days to choose a relocation package and 1 more day to receive a formal offer letter which I electronically signed.
I hope I made the right choice! I am worried that I took a step or two down in responsibility, but the compensation was a little bit better than what I was making even cost-of-living adjusted. If anything I'll have an interesting experience to talk about and Google on my resume.
Interview Question – However, I received 2 different dynamic programming problems which I didn't expect and I found to be quite difficult. 3 of the interviewers had me do whiteboard work but only 1 of them actually had me do any coding, which was a basic singly linked list type problem. Answer Question
Negotiation Details – I negotiated an additional $8K in base salary and an additional $5K signing bonus. Google would not budge on the RSU, though.
Software Engineer Interview (Positive Experience; Easy Interview)
I applied through a recruiter and the process took 6+ weeks - interviewed at Google in May 2014.
Interview Details – Timeline:
* Reached out to recruiter: day 0
* Call with recruiter: day 2
* In-person interview: day 15
* Calls with managers: days 28 - 32
* Three offer revisions: days 33 - 43
A pretty standard affair with 5 45-minute inreviews and a lunch after the first 2. Most of the people seemed genuinly interested in the interview (save 1 person who seemed annoyed at having to do such a menial task) and were a lot of fun to talk to. I can't go into too much detail on the questions themselves (covered by NDA), but it's standard fare and if you know your stuff, you won't have any trouble.
How to Prepare:
Just brush up on your algorithm design (iterative/recursive algs, big-o, etc). It might be helpful to just read up on some really clever algorithms from your academic days since the thought processes for those can have a lot in common with algorithms you might be asked to design.
The people who interviewed me seemed intelligent and very happy to be working at Google. One surprising factor for me was that every single person answered "what's you favorite part of working at Google?" the same way: "the people".
Reason for Declining – I had a better offer from a competing company that was also a better culture fit for me. I took it.
Senior Product Manager Interview (Negative Experience; Average Interview)
I applied through a recruiter and the process took 3 weeks - interviewed at Google.
Interview Details – My interviews consisted of a phone screen and in person interview at the Googleplex
My phone screen consisted of a product design / brainstorming question which was a lot of fun. The interviewer was a new PM and very respectful.
I met with five PMs on campus. My reaction of the interview process is negative.
The good: Coordination was good. Recruiter was in touch throughout the process. The lunch interview was the highlight of my day.
The bad: The interview panel was not very diverse - in fact was largely white/male, former CS or Management Consulting background. Google's penchant for the tricksy interview questions is alive and well.
Most of my interviewers were arrogant (with two notable exceptions). However what gave me pause was the uniform response from all of the PMs on the panel that "PMs only focus on execution", "Engineers hold the power here at Google", "Engineers need PMs only when they need to launch products", "Engineers look down on PMs that only focus on the front-end". This was very unexpected from my (external) perception of Google.
Apart from the "pirates on a deserted island" set of questions, the rest of the questions were Product Design or Product Analytics focused. These were fun but I got the sense that they were going down a checklist without probing too deep. In fact, it almost seemed like they had made up their mind to reject anyone who doesn't fit a certain mold. I walked away very underwhelmed.
1. Engineers have come to you with a cool new feature. What ideas can you come up with that incorporate this feature?
2. Design an app around your interest. How will you take it to market? How will you evaluate success?
3. How will you launch Android Wear?
4. Brainstorm some unique ideas for a vending machine
5. Estimate the bandwidth needs for You Tube for one year
There were no technical or coding questions on my panel. Not sure if this means that Google has done away with the coding questions.
Interview Question – "On a scale of one to ten, how difficult was this question? " Answer Question
Reason for Declining – Google's process is geared at identifying very junior PMs.
PMs on my panel seemed arrogant. The tidbit about being engineering led and only focusing on execution was very unexpected. There was also a candid observation shared that successful PMs at Google optimize for the short term rather than the long term. One of the PMs very arrogantly contrasted his startup experience and mentioned that he had never ever worked at a company where everyone was of a really high caliber - which is usually true of large companies.
Finally, given the makeup of the interview panel, I am not sure I would be very comfortable in a PM culture that is not diverse nor values different perspectives. I also did not walk away with a sense that they were particularly engaged or happy at Google.
Software Engineer Interview (Positive Experience; Average Interview)
I applied through an employee referral and the process took 2 months - interviewed at Google in June 2014.
Interview Details – I had three rounds of interview with Google within one mouth. I got the information 1 mouth before the interview, so I found some open judge website to solve some algorithm problem which I might encounter during the interview
- We took the interview through Google Hangouts and coded in a Google docs. In the first round of interview, the interviewer asked me: given a set of points in the plane, output all the set of points which are collineation. View Answers (2)
- Given a array of numbers, output the array like this: a1 <= a2 >= a3 <= a4 >= a5... View Answers (2)
Negotiation Details – The most important thing is communicating. Keep talking about what you are thinking.
Software Engineer Interview (Neutral Experience; Average Interview)
I interviewed at Google in May 2014.
Interview Details – Recruiter contacted me via email or linkedin, can't remember exactly. Asking if I would be interested in Google. I have a long resume and somewhat specialized set of skills in embedded systems so I said ok I will give it a go, but that I am not quite sure how my skills would be useful at Google. They waived the phone screen and moved me directly to an onsite interview. They send you a list of things to go over to prepare for the interview that looks like something out of college computer science course. I was really busy at my current job so I had little time to go over it, but it was fun revisiting the basic algorithms and data structures.
Onsite was 3x45 miutes 1on1 interviews, lunch and 2 more 45 mins sessions. All back to back, no breaks other than lunch.
1st session: Interviewer introduced himself gave me time to introduce myself for the 1st 10 mins. Then asked 2 questions. 1st was arrays didnt require to writ code, 2nd was dynamic programming asked to wrote code. I did well on both so we had 10 more mins to spare where I asked him questions.
2nd session: Introduction took a really long time, interviewer talked at great length about himself and his work. Asked me if I am interviewing for real or just there to get some interview experience, because apparently thats what he did initially himself. When we got to the question there was only about 15 mins left. Tree related question, that in my opinion wasn't really presented very well. Code was required. I started solving it but he was basically walking me through every step. Not sure if he just wanted to pass me or realized that he already spent too much time talking. Got the correct solution, but I felt like I was being lead to it.
3rd session: Embedded systems engineer, asked me a lot about my actual resume. In the end asked me a pretty basic question embedded system specific, asked to write code. Was really easy for me, did really well. Probably the most enjoyable session.
Lunch: The weirdest part of the day. Interviewer only got notified the night before, didnt look like wanted to be there. Didn't even know where the closest cafeteria was. Ended up walking for about 15 mins around the campus. Dropped the tray when getting food and spilled lunch over clothes, got really upset. Then suggested we sit outside because its quieter there. But the day was hot and it was really uncomfortable, I was glad to get back inside.
4th session: Usual introductions. General distributed systems question. Went pretty well in my opinion, but then I am not a distributed systems specialist, so cant really judge.
5th session: The worst one ofthe day. Usual introductions. 2 Questions. 1st question supposed to be a warmup, really simple bit manipulation, but for some reason my brain just went into a feeze, not sure if it was the stress or the sun from the lunch. Anyway I worked manually through some samples and did come up with an algorithm and a correct solution. In fact the interviewer corrected something in my solution, but when I started running it through a test case it turned out my initial code was in fact correct, so we reverted it. Because 1st question took so much time, we only had about 10 mins for the 2nd one which was supposed to be the main question. So we didn't really finish it.
Recruiter called me a week later saying that they decided not to go forward with my candidacy at this time. I am not really too bothered since I am pretty happy at my current job and this was more of a learning experience, but I admit that if they did make me a good offer, I would've seriously considered it.
While driving home I did come up with a really good solution to that unfinished question from the 5th session. And then also found every single question that I got asked in my interview on programming websites. So looks like if I wasn't so busy and just spent more time preparing, the interview would've gone much smoother. I thought just experience would be enough to pull me through.
Other than the lunch person and the 2nd session interviewer, everybody else was very pleasant and enjoyable to talk to.
Interview Question – All were unexpected. I didnt prepare for any, but was able to work through most of them. None really difficult under normal circumstances. Answer Question
Technical Account Manager Interview (Positive Experience; Difficult Interview)
I applied through a recruiter and the process took 6 weeks - interviewed at Google in October 2013.
Interview Details – Fairly long and drawn out, even relative to other positions at Google:
1.) Recruiter contact/interest screen
2.) Technical phone screen focused on problem solving and general technical ability
3.) Technical phone screen focused on coding and design
4.) Four-plus hour (with lunch) on-site interview round covering design/architecture/problem solving, sales and client facing skills, and coding
5.) Group presentation followed by a Q&A panel session (at the end of the onsite round)
Coding questions are somewhat more difficult than average, but still nowhere near as challenging as those you'd typically get in a software engineering interview at a very selective company. That said, given the number of hats you're expected to wear in this role, questions will cover a wide breadth of topics which makes the overall difficulty of the interview fairly high.
Interview Question – A number of IT-related questions about systems and networking which weren't terribly familiar to me; my background is concentrated in math, algorithms and theoretical computer science. Answer Question
Reason for Declining – Several reasons:
1.) I was independently promoted and received a very substantial increase in compensation from my current employer (i.e. not a counteroffer, but natural progression) around the same time.
2.) The position seemed likely to take my career in a direction that wasn't terribly interesting to me.
3.) Compensation wasn't competitive with other opportunities I was considering around the same time, including remaining in my current position (with promotion).
In short, it was modestly enticing, but only just; I wasn't really motivated to accept it.
Administrative Assistant Interview (Positive Experience; Average Interview)
I applied online and the process took 3 weeks - interviewed at Google.
Interview Details – People are told up front that Google's hiring process is long. It takes a determined and committed person to subject themselves to the torture of waiting for an answer and next steps. However, once you get past the initial interview with the recruiter and the critical thinking test you are added as a viable candidate for consideration on future opportunities. The recruiters do a great job of keeping you informed regarding expectations and process. They also make an effort to give you the proper information to make sure you have a good experience and advice on how to market yourself.
Interview Question – There were no really difficult questions. If you are a truly qualified candidate it becomes more about finding a good personality fit for the team. Answer Question
Software Engineer Interview (Positive Experience; Difficult Interview)
I applied through a recruiter and the process took a day - interviewed at Google in July 2014.
Interview Details – Standard: 1 phone screen + 5 on-site technical rounds. Overall the interviewers were pleasant and they look for coherent solutions with bug-free code. Prepare for computer science fundamentals especially algos and data structures. I was lucky that they did not ask any system design questions.
- Find the local minima in an array. A local minima is defined as a number whose left and right indices are greater than it in value. Answer Question
- An array contains integers with the property that a particular number, called the majority element, appears more than 50% of the time. Give an algo to find this majority number View Answers (3)
- Implement std::vector's push_back()
Also asked for maximum contiguous subarray problem Answer Question
- There are n points in a plane. Find the max number of points that lie on a line Answer Question
- In a given binary tree, find the number of elements that lie in a given range. Answer Question
Program Manager, Network Performance Interview (Positive Experience; Average Interview)
I applied through a recruiter and the process took 2 months - interviewed at Google in April 2014.
Interview Details – Series of 4 phone interviews with recruiter and technical peers, including technical personal and project manager leader. Considering the position requirements and the type of questions from all the interviewers, Google requires expert technical level experience and also extensive project management experience, which is not very common. Anyone applying to the Program Manager positions should be able to prove being a technical expert and excellent project manager.
Interview Question – All questions were pretty much related to the position but the Program manager role a Google would be seen as 2 different roles in other companies. Answer Question
Interviews for Top Jobs at Google