I applied through a recruiter and the process took 3+ weeks - interviewed at Google in February 2014.
Interview Details – I had been contacted by a couple of Google recruiters in the past but I wasn't interested at that point. When I decided to pursue an opportunity with Google last month, I just contacted them back and they set me up for a loop.
Since I was interviewing for a role in MV, there was one phone screen. The question itself wasn't very interesting but I had to write code in a shared Google doc.
The next day, I was told that the phone screen had gone well and was invited for the onsite rounds. There were 5 technical rounds (and an hour around noon for lunch) - each had 2 questions and some time for my questions. While I won't discuss the actual questions here, I'll say that it wasn't 'difficult' (Basic data structures and algorithms). There were no questions involving fancy data structures (Binomial heaps / skip lists etc) either.
Two days after the onsite interview, I was told that the hiring committee had approved it, a week after that, I got the final offer.
Interview Question – The NDA prevents me from discussing the actual questions I was asked. Answer Question
Negotiation Details – Compensation - I asked for more stock (I had a competing offer) and they came back and offered even more than I had asked for - there was nothing further to negotiate.
Interviewed at Google
Interview Details – got interview with google. first a little check with my resume, about 5 mins, then asked what is my favorite google product, then asked about a question: you got a fence, you need to paint the boards with black and white, but can not have 3 or more boards same color in a roll. how many ways do you have.
Interview Question – what is my favorite Google product, need to show passion about it View Answer
I applied online and interviewed at Google.
Interview Details – Applied for Google Software Engineer position online. Recruiter contacted me within a week to set-up a phone interview. The phone screen was scheduled within week. The interviewer asked about various data structures and general computer science concepts. Asked me several questions about queues, and heaps. After that two programming questions: 1) traverse array in a spiral order. 2) check if directed graph contains a cycle. in 2 weeks I was contacted to set up on-site interview. I asked to schedule interview 3 weeks later, so I could prepare for it.
There were 4 technical interviews onsite, one lunch interview (just informal talk with some guy from Google glass department), and lastly PhD dissertation discussion.
First question was in-order traversal of BST. I wrote the code. Then asked me two check if two different BSTs have same inorder traversal. I suggested to store first inorder traversal into vector, and while traversing second BST check if the element values match. I also started suggesting using linked list, or modified recursive approach, but he said to make life easy and go with the simple solution.
Second interviewer gave me array, with elements first strictly increasing, then strictly decreasing. Asked me to find the largest number. I suggested to use binary search. O(logN) time complexity, with no additional space required. After implementing the code he asked another question. Given infinite doubly linked list, and separate list of elements, which are linked to some linked list elements. Find out from the list of elements how many neighboring groups are formed. I suggested to use Hashtable, to make look-up process quick, and traverse the elements and check if they are neighboring elements. O(N) time and space complexity. Implemented the code, and time ran out to test if with different cases.
Third interview was the weirdest. The guy had thick accent and from the beginning became apparent communication was an issue. He gave me system design question: Observer class has three methods AddObserver(), RemoveObserver(), NotifyAllObservers(). After asking some clarification questions, I suggested to use doubly linked list to keep track of all observers, and hash table to look-up the individual observer. Then he asked to implement three methods. After implementing the code in JAVA he told me the program would not work. Apparently the Observer was designed for Chrome browser. He went into details when user clicks on mouse and then key-press is released. I responded the initial question was very vague and asked for more clarification and precise requirements. I suggested what I would change to go around the problem, but time ran out and didn't get a chance to modify the code on whiteboard.
After that I had lunch and came back for fourth technical interview.
Fourth interview: the guy told me to add two numbers in base 3 system. The input: two base 3 streams provided as String. function should return sum of the two numbers also in String format as base 3 stream. I suggested to convert from base 3 into base 10, add numbers and convert back to base 3. I know how to add two (base 2) binary streams without conversion, since I was under the time pressure I went easy way. I implemented conversion from base 3 to base 10. The interviewer said he was satisfied and wanted me to solve another problem. He gave me file size, and asked me to partition file into chunks, so that each chunk size is power of two, and the number of chunks is minimal. I suggested to find the nearest power of two and obtain absolute value of difference between the original file size, and nearest power of two. Then re-apply the process until reminder is power of two (1 is 2^0). There was time pressure, so didn't have time for analysis, just implemented and turned in the code.
Last interview was PhD dissertation discussion. It went alright. Most interviews went ok, except the 3rd one, during which I had hard time communicating. Within a week recruiter emailed me saying hiring committee didn't want to move forward with hiring.
Interview Question – I didn't feel any of the questions were difficult, I haven't been stuck at any point, but apparently that wasn't enough. I also had chance to look up online the most optimal answers to the questions I was asked. To be honest there is very little I would have changed in my responses. Answer Question
I applied through an employee referral and the process took 4 months - interviewed at Google in March 2012.
Interview Details – Got referred by a colleague. Recruiter contacted me and I responded positively. Technical phone interview follows. Then I was called for an onsite. They told me I did really well (and I believe so) but in the end I didn't get an offer. The recruiter kept "searching for a fit with a team" for a month after the interview. In all their communication, the recruiters were very professional and polite.
Interview Question – Given two sorted arrays with N elements each, find the median of their union in O(log n). View Answer
Interviewed at Google
Interview Details – I register on their website. When they want to hire people they just ask you if you are interested in applying. Then I have 2 rounds of interview on campus. They may ask you to write code on a piece of paper or using a google doc. The interviews are very nice. They will lead you to correct answer, very professional.
Interview Question – All the questions are easy at first. But they may ask you to step into it further and further. The most common questions are : now you have this answer how can we improve it ? Answer Question
I applied through an employee referral - interviewed at Google in February 2014.
Interview Details – applied via a friend and got a call the following week and then on site.
I applied through college or university and the process took 2 months - interviewed at Google in February 2014.
Interview Details – Applied through the school career website. Got phone interviewed. quite hard programming and algorithm questions and some brain teaser questions. The phone interview lasted 40 mins . I was not able to answer all the questions. :(. The overall process is fast and tough.
Interview Question – programming and algorithm questions and some brain teaser questions. Answer Question
I applied through college or university and the process took a day - interviewed at Google in February 2014.
Interview Details – 2 rounds back-to-back
first round: coding problems. wiggle property + graph
second round: String manipulation
The problems are not that hard, but you need to write real codes which makes this not that easy. The interviewees are good, except the first one, who did not give you so many instructions when you are stuck
Interview Question – They asked coding problems and letted me write code on paper, only coding Answer Question
Interviewed at Google
Interview Details – Got phone screening then onsite.
Onsite contains 4 rounds, 45 min each, with a 15 min break.
Problems are not common and hard to guess.
But know your algorithms and master your programming languages wouldn't be wrong.
That's actually quite energy consuming, so be prepare with a decent breakfast and some chocolates would be a good idea.
I applied through an employee referral and the process took 2 days - interviewed at Google in January 2014.
Interview Details – I was referred by another engineer. I had a very brief phone screen and immediately scheduled an onsite interview after selecting the position to apply for. My first day consisted of three 45-minute interviews. Two involved writing code for text/string problems (no specific details because of NDA). They weren't especially challenging but increased in difficulty and constraints over several iterations of problem revision. No super complicated data structures were necessary, from my impression, just writing very tight code correctly and clean, reasonably rapidly, 20-30 lines. And very short discussion of runtime and space.
I wrote in C but I have a feeling C++ or Java was preferred. I explained how such convenience APIs (Java Queue, C++ map, etc.) worked under the hood and basically reinvented them in C. I feel a better approach would have been to just use them and mention in passing how they work.
My third interview was troubleshooting a site deployment problem. I just isolated components and talked specifically about how I would pinpoint and solve problems related to networking, load, etc. We just went through different hypothetical scenarios and how it affects users, etc.
I then had a second round of interviews consisting of three more and a lunch on a separate day. Two more coding not entirely different than the previous two. One had much more emphasis on analysis of runtime and different ways to improve and the limits on maximal efficiency. The last interview was large distributed system design for a game, with bits of code and pseudo code and how to design the various components.
Interview Question – Nothing specific because of NDA. Answer Question
Your feedback has been sent to the team and we'll look into it.
The difficulty rating is the average interview difficulty rating across all interview candidates.
The interview experience is the percentage of all interview candidates that said their interview experience was positive, neutral, or negative.
Your response will be removed from the review – this cannot be undone.
Simply post an anonymous review for a recent interview experience or current/former employer. Your post is anonymous – and if you're worried someone will be able to identify your review, you can even post without telling us your job title and location. Learn More.
No thanks –