Taro Logo

Software Engineer Interview Experience - New York, New York

May 1, 2011
Negative ExperienceNo Offer

Process

I applied online for a Software Engineer job opening at Google New York and was contacted straight away by a very friendly recruiter. We talked over the phone about Google's culture in general, the position, and my experience. I also had to rate myself on a scale of 1 to 10 on my programming language of choice, Java. A date was set for a technical phone interview. I read up on my CS basics, my core programming language, and some Google whitepapers.

A software engineer contacted me at the exact agreed-upon time. There was no small talk; we got straight to business. The first question was about garbage collection in Java. The interviewer was looking for a very specific answer, which I more or less could provide. The next question was about memory leaks in Java and how to cause them. I wasn't aware of any way to do that, but apparently, the substring method on a String object can cause it – the first time I ever heard of it. Then, he asked about pointer arithmetic. I gave him a generic description, but he was looking for more detail. I explained that an array reserves a memory block where, in principle, one could use pointer arithmetic to get the next memory block reserved for an index in the array. By this time, I got the sense that this was a C/C++ programmer proving the superiority of his language of choice over Java. Then, he asked about the synchronized keyword's use on a method, what guarantees it gives, and how it behaves under different use cases. I had no problems there.

Next came the programming task that I needed to resolve in a shared Google Doc. I had to implement encode/decode methods that would serialize/deserialize a binary tree. I didn't analyze the problem enough in advance and assumed he meant a balanced binary tree. After a while, he gave me a hint that I was on the wrong track. I started again and got two-thirds through the exercise when the interview time was up.

All in all, I felt I didn't give a good impression, although I felt the questions weren't a good gauge of my skill level. The impression I got from the interviewer was pretty negative. It felt like he thought he was wasting his time from the beginning. That wasn't a nice feeling. I sent an email to the recruiter explaining my impressions of the interview. After a few days, I got an email from the recruiter telling me they wouldn't be continuing the interview process. Oh well, their loss...

Questions

How does the garbage collector in the JVM work, and how does it reclaim orphaned objects?

Explain pointer arithmetic.

What guarantees does the synchronized keyword give when used on a method? When a thread calls a synchronized method, can another thread call a method that isn't synchronized on the same object?

Was this helpful?

Interview Statistics

The following metrics were computed from 344 interview experiences for the Google Software Engineer role in New York, New York.

Success Rate

13%
Pass Rate

Google's interview process for their Software Engineer roles in New York, New York is extremely selective, failing the vast majority of engineers.

Experience Rating

Positive69%
Neutral21%
Negative10%

Candidates reported having very good feelings for Google's Software Engineer interview process in New York, New York.

Google Work Experiences