- Work/Life Balance
- Culture & Values
- Career Opportunities
- Comp & Benefits
- Senior Management
I have been working at Google part-time (More than 3 years)RecommendsPositive OutlookApproves of CEORecommendsPositive OutlookApproves of CEO
Good work environment, on site food, help you get settled into area and transport to site. Good travel opportunities. Very flexible and gender equal.
Long hours, tight deadline. Interview process is ununnecessarily drawn out and painful, was rejected after interview twice before being called back a third time and offered position!
Advice to Management
Keep up the great work, I feel secure in my position with your excellent support and guidance.
Getting an Interview
Getting an Interview
Helpful (524)Accepted OfferPositive ExperienceDifficult Interview
I applied through an employee referral. The process took 4 weeks – interviewed at Google (Mountain View, CA) in April 2014.
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."
- None. 2 Answers
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!
Google is not a conventional company, and we don’t intend to become one. True, we share attributes with the world’s most successful organizations – a focus on innovation and smart business practices comes to mind – but even as we continue to grow, we’re committed to retaining a small-company feel. At Google, we know that every employee has something important to say, and that...
Mission: Google’s mission is to organize the world’s information and make it universally accessible and useful.