Google Software Engineering Interview Questions

Updated Jul 27, 2015
1,392 Interview Reviews

Interview Experience

Interview Experience

53%
30%
16%

Getting an Interview

Getting an Interview

60%
15%
12%

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

1,392 Candidate Interview Reviews Back to all Interviews

Sort: Popular Date Difficulty

Helpful (545)  

Software Engineer Interview

Anonymous Interview Candidate in Mountain View, CA
Accepted Offer
Positive Experience
Difficult Interview

Application

I applied through an employee referral. The process took 4 weeksinterviewed at Google (Mountain View, CA) in April 2014.

Interview

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! Interview 1: Graph related question and super recursion Interview 2: Design discussion involving a distributed system with writes/reads going on at different sites in parallel. Interview 3: Array and Tree related questions Interview 4: 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. Interview 5: Dynamic programming, 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."

Interview Questions

Negotiation

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!

Other Interview Reviews for Google

  1. Helpful (102)  

    Software Engineer Interview

    Anonymous Interview Candidate
    Accepted Offer
    Positive Experience
    Difficult Interview

    Application

    I applied online – interviewed at Google.

    Interview

    I first had a phone screen interview. After this, I was asked to come onsite for further interviews. I had 4 whiteboard and 1 lunch interview with the Youtube team. After this, I was told that my application is going through the Hiring Committee. Hiring committee asked my HR to find a team for me before giving any decision. I then had two phone interviews with different teams in Android. I informed my HR that I am interested in the first team. Next day, HR emailed me and said that this team no longer has an open position. I again went through the same process. This time, platform team was interested in talking to me. I gave 2 phone interviews wherein they made me write code. After their feedback, I was put through the Hiring committee again and this time I got a thumbs up from them. 1 week after that I was put through executive committee and got my offer. I had 7 other offers and my HR asked me about all of them before putting me through executive review. They gave me more than any other company I had offer from.

  2. Helpful (10)  

    Software Engineer Interview

    Anonymous Interview Candidate in New York, NY
    Accepted Offer
    Positive Experience
    Difficult Interview

    Application

    I applied online. The process took 1+ weekinterviewed at Google (New York, NY).

    Interview

    Applied online and got back from a recruiter within an hour. Had a conversation with the recruiter a week after and he said I can go straight to the onsite for interviews. I was interviewing many other places parallel so I scheduled the onsite two weeks after the day I spoke with the recruiter but they don't seem to care how quickly you take the onsite so choose time to give yourself enough time to prepare. There were five onsite interviews with one lunch with a developer (I heard that the lunch is not an interview). I had to write solutions on whiteboard for all of questions so be prepared. I never heard of any of questions they asked but studying leetcode and interview books helped me figure out ways to solve algorithm questions. All of the interviewers were nice and the interview felt like I'm solving a real work problem with a coworker. Think about time complexity and efficiency at all time when you come up with a solution. It took less than 2 weeks to get an offer. Think this can be different for different people.

    Interview Questions

  3. Helpful (5)  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Neutral Experience
    Average Interview

    Application

    I applied through a recruiter. The process took 2 weeksinterviewed at Google.

    Interview

    I was contacted by a recruiter who set up a technical phone interview for me. The interview question was average in difficulty, I didn't cover a corner case and when I asked the interviewer to add code to cover a specific corner case, he said I was out of time. I didn't get to move on to a second interview. I feel my answer was good enough for screening purpose (you'd assume first phone interview is the screening interview). Anyway, I would say as humans, talking over the phone while coding, we might not be in the best state to cover all the cases especially if it's just the screening call.

  4. Is this helpful? The community relies on everyone sharing – Add Anonymous Interview Review


  5. Helpful (4)  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Positive Experience
    Average Interview

    Application

    I applied through an employee referral – interviewed at Google.

    Interview

    Phone Screen consisting of basic algorithm questions, and a few questions about your background and if you clear it --a invitation onsite. Onsite consists of back-to-back algorithm rounds (4-6), with a lunch Break. Lunch is a good time to ask about working at Google. The process was very smooth and Google was very prompt in their responses.

    Interview Questions

    • The questions were what you expect of a standard programming interviews (DP, trees and other data structures). Make sure you have extensively reviewed algorithms before you attempt the interview.   Answer Question
  6.  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Negative Experience
    Difficult Interview

    Application

    I applied through college or university – interviewed at Google.

    Interview

    Interviewer was rude and condescending. I didn't like how he was drinking a beer during the interview and had his feet on the table. I think he didn't have much respect for me as a candidate and I disliked that a lot. I understand not everyone is professional, but respect is still important.

    Interview Questions

  7.  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Neutral Experience
    Average Interview

    Application

    I applied through a recruiter – interviewed at Google.

    Interview

    The process was just as I had read about. I was contacted by a recruiter through email. I had an initial phone screening with the recruiter. Then a technical phone interview with an engineer. I unfortunately didn't make it to an on-site interview.

    Interview Questions

    • What products would you want to work on? I wasn't expecting this and just babbled off a list of all of their products instead of picking out the ones that most interested me.   Answer Question
  8. Helpful (1)  

    Software Engineer Interview

    Anonymous Interview Candidate in Mountain View, CA
    Accepted Offer
    Positive Experience
    Average Interview

    Application

    I applied through an employee referral. The process took 4 weeksinterviewed at Google (Mountain View, CA) in July 2015.

    Interview

    I was contacted by a Google recruiter based on an internal referral from an ex-colleague. Since I already lived in the Bay Area and (apparently) my referrer did a great job talking me up, I was allowed to skip the phone screen stage and proceed directly to the on-site interviews. I went through 5 interviews (45 minutes each) on site, divided as follows: 3 on coding and algorithms, 1 on object-oriented design, and 1 on high-level system design. I also had lunch (1 hour) with an engineer, where I got to sample their famous free food and talk informally about life at Google. Like many other folks, I came in expecting very difficult and brain-warping questions. But to my pleasant surprise, none of the questions were particularly hard at all. The whiteboard coding and object-oriented design problems were really straightforward, very similar to the types of questions you'll get asked at most other major Silicon Valley tech firms. The system design question was a bit trickier, but it was ultimately just an open-ended discussion which felt pretty similar to real-life engineering design discussions that I do frequently at work. I definitely got the feeling that they don't care so much whether you "solve" the problem per se, but rather they focus more about how you analyze and approach the problem and how effectively you engage the interviewer in communicating your ideas. Personally, I really enjoyed all my interactions, and felt very engaged and energetic throughout the entire on-site interview day. After the on-site interviews, I received a call the next day from my recruiter, who told me that the feedback looked good and that I would be moved to the hiring committee stage. Within another three days, I was told the good news that I'd cleared the hiring committee (supposedly with flying colors, although perhaps the recruiter was just trying to flatter me!). They then checked my references and asked for details about my current compensation and competing offers. Finally, it took another week after that to do the team matching and receive the formal offer.

    Interview Questions

    • Can't disclose due to NDA. But as mentioned above, I did 3 coding interviews, 1 object-oriented design interview, and 1 high-level system design interview. The coding questions were of just average difficulty; I would say they are no harder than the types of questions asked at most other major Silicon Valley tech firms. Also, one of the coding interviews involved a few knowledge-based questions on Java (which I'd told my recruiter was my most familiar programming language--so they do seem to do some verification of your claimed expertise).   Answer Question
  9. Helpful (1)  

    Software Engineer Interview

    Anonymous Employee in Los Angeles, CA
    No Offer
    Neutral Experience
    Difficult Interview

    Application

    I applied online. The process took 2 weeksinterviewed at Google (Los Angeles, CA) in July 2015.

    Interview

    I interviewed with the Google LA office in Venice. Process was fairly quick. Recruiter contacted me by email and set up a technical phone interview. Phone interview was with a software engineer and it was a data structure/algorithm question (basic question was to remove duplicates from a list of strings). It was about 45 minutes. Engineer sounded friendly and asked me to optimize the solution. I thought it went well. After a couple of days, recruiter called me to setup an onsite interview. You know the drill. Google Onsite consists of 5 interviews - 4 coding interviews and 1 design interview and a lunch session (you will need it to recharge between coding sessions). The onsite interviews were more difficult than the phone interview. My only tip if you really want a job at Google will be to practice data structure and algorithm questions... especially tress and graphs. 3 of my coding interviews were trees and graphs questions. The "Programming Interviews" book is pretty useful to brush up on these concepts and similar questions. I thought 3 of my interviews went well, the other two not so good. It all depends who you get to interview with also. One interviewer constantly interrupted me as i was writing code on the board, and repeatedly asking me to keep revising my solution. I ended up not having enough time to complete it.

    Interview Questions

    • You are given a set of unsorted strings to work with. Construct a program that will suggest autocorrect words as they are typed. (the unsorted strings are the valid words).   Answer Question
  10.  

    Software Engineer Interview

    Anonymous Employee in Mountain View, CA
    No Offer
    Positive Experience
    Average Interview

    Application

    I applied through an employee referral. The process took 4+ weeksinterviewed at Google (Mountain View, CA) in July 2015.

    Interview

    The interview went seemingly smoothly, except for a couple quirks in the code on the whiteboard. The questions were way easier than I expected. The interviewers were not intimidating at all and did not try to make the process stressful. I felt like I passed and according to HR, the overall feedback was positive. My application went to the hiring committee which, in turn, rejected the offer.

Don't Miss Out On a Job You Love
Upload a resume to easily apply to jobs from anywhere. It's simple to set up.

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.