I applied through a recruiter. The process took 2+ months. I interviewed at Google (Mountain View, CA) in September 2016.

The Google interviewing process is super long and slow. The steps for me were recruiter phone screen, coding challenge, technical phone interview, and then onsite (4 rounds of 45 min interviews). In between each step was roughly 2-3 weeks, so the entire process took roughly 2 months.

The phone screens and coding challenge were really easy, just typical DFS or integer array/string manipulation questions. Just study up on Hackerrank/Leetcode and you'll be okay.

My onsite was a nightmare and honestly a terrible experience. The questions themselves were not bad, and I solved most of them in time and made optimizations for them. But the process itself was so bad: I was given the incorrect building and no schedule in the morning, so I had no idea where to go. I had 4 technical interviewers and 1 lunch interviewer: the first two technical interviewers were really nice and engaged, but the 3rd and 4th honestly made me not want to work at Google. The 3rd was very disengaged and was checking his phone/writing emails when I was whiteboarding. The 4th also didn't seem to pay attention to what I was doing and didn't really answer my questions at the end; just not very sociable. My lunch interviewer was a nice lady but she had no idea what was going on, and since I wasn't given a schedule of events, she thought our lunch lasted for longer than it did and made me 20 minutes late to my last interview.

That added to the terrible time I had getting to the actual Google campus (did you know that Google only reimburses you $60 if you are a local candidate? Good luck getting there if you don't have a car.) made me lose a ton of interest in actually working there.

Interview Question is:
Given two identical strings, where one string has a random character inserted, return the random inserted character.