I applied through a recruiter. The process took 5 months. I interviewed at Google in Nov 2014
Interview
The recruiter contacted me by email in June 2014 for Software Engineer role, but I was still in the middle of my grad, so I asked for Internship. I had to wait until next internship proccess, in November. She said my GitHub activity caught her attention.
Interview questions [1]
Question 1
You are given a sorted list of distinct integers from 0 to 99, for instance [0, 1, 2, 50, 52, 75]. Your task is to produce a string that describes numbers missing from the list; in this case "3-49,51,53-74,76-99".
I applied online. The process took 4 weeks. I interviewed at Google in Nov 2016
Interview
2 telephonic rounds of 45 minutes each. Though second one went for more than 1 hour. Live coding on Google doc in both the rounds. First round was very easy and a simple question of Strings was asked to check basic programming skills. In second round, there were 3 questions asked from dp and basic ad-hoc.
Interview questions [2]
Question 1
To implement addAll(Container) method similar to addAll() of any container class in Java.
Required Time complexity : O(1)
I applied online. I interviewed at Google in Jan 2017
Interview
Initially it was 2 technical 45 minute phone interviews. Need to code on a shared google doc.
Then they called for an additional one. So 3 interviews in total. It took around a 3 weeks.
I wouldn't call it a difficult interview. The questions were very straightforward. No googliness or puzzles. Basic data structures and algorithm, especially trees. 2 of my rounds were on trees. If you are done with CTCI, you should be able to ease it. Get your data structures strong, really strong . Also, get comfortable coding. This is very vital, as interview preps can stress you out and you can blank out even on the basics. So practice a lot.