Hacker News new | ask | show | jobs
by hal9000xp 3720 days ago
The best meritocratic way (i.e. not dependent on your CV too much) to get invited to an interview with Google is to be top 1000 in Google Code Jam.

Study algorithms a lot, practice on CodeForces and TopCoder. If you work hard on it, in some year you will be on top of Google Code Jam.

Recommendations is good to have but it won't help you to be successful on the interview.

Practice algorithms a lot, ... I mean literally A LOT.

P.S. I had recommendations from Google employees. I screw up Google interview. Now, I'm preparing with algorithms and participate on coding contests including Google Code Jam (right now).

3 comments

I've actually interviewed with them, before when I was in college. In all honesty, I used to be on the defensive side of things against technical interviews only because I got really nervous and my mind would go completely blank, especially this one time when a BigTechCo hiring manager asked me to sort a LinkedList without using additional space.

So after many rejections and rushed algorithms textbooks regurgitations, I decided to start somewhere my well-roundedness counted more than my algorithm implementation skills( a big awesome Fortune 20 company too) , and actually REALLY take my time to study the ins and outs of being a real World software engineer and ENJOY IT.

A year and a half later after graduation, I don't regret my decision at all. My problem-solving and implementation skills have improved tremendously, especially after I discovered Firecode.io, which takes a more pedagogical approach to interview prep than TopCoder or google CodeJam.

I live in Seattle and have a few acquaintances who are in tech at various companies(Google, FB, Amazon, MSFT..) . My interactions with Googlers have been very pleasant; they just seem to be very down to earth compared to other engineers I have encountered, in general. I am not in a rush, though. I am gainfully employed and like my job, so that also drive my job search to be largely serendipitous.

Do you have any suggestions how to practice algorithms?
After many failed approaches, I came with conclusion that the best way to practice algorithms (and math) is to trying to solve some problem which you can not solve and getting stuck, after you tired and failed to solve a problem, you can read answer how to solve a problem.

This will help your brain to remember particular method/algorithm/concept because your brain will think that this is very important problem, a sort of missing puzzle for your brain.

If you just passively read book about algorithms, you will have false feeling that you learn quickly but you will forget everything very soon and not being able to reconstruct any of algorithms you learned so far.

If you participate in algorithm contests, you will struggle a lot and after contest you will read editorials and may be redirected to CLRS or Knuth books.

Your learning curve will grow very slowly but believe me you will get very solid knowledge which won't be forgotten for a long time.

P.S. I practised a lot of passive learning by reading algorithms books. I forgot almost everything. Now, I'm switched to learning though competitions. It's hard way but very solid.

If you want to do well on GCJ, practice GCJ. All the past contests are online.
Where does the "top 1000" come from?
My logic is simple.

There is qualification round, round 1a/1b/1c, round 2, round 3, onsite finals.

Advancing to round 1 won't impress anyone because qualification round is easy.

In order to advance to round 2 you have to be top 1000 which is pretty difficult but achievable.

Advancing to round 3 is very difficult, I think it's way beyond interview level.

Actually, in order to advance to round 2 you have to be top 1000 in one of the first rounds, so you make it to the top 3000.

The reason I asked is because I placed in the top 1000 (top 1000 of round 2) back in 2011 but was only contacted by a google recruiter in late 2012 (in the 2012 edition I had been just outside of the top 1000 in round 2).