Status: Self-taught (2-3 yrs professional experience, 6 yrs total)
Position: L3
Location: Los Angeles, CA
Date: January 2020
1st Onsite (5 rounds):
4 technical and 1 behavioral.
2nd Onsite (2 rounds):
My experience:
I was originally contacted by a recruiter at Google and scheduled a quick phone call the following week. After the phone call I was invited to setup a phone screen call which was going to be a 45 min call with 1-3 technical questions. I scheduled that 5 weeks out (which seemed to be the most I could do) to allow myself as much time to prep. Up until the call with the recruiter I had no preparation. I spent the next 5 weeks studying and preparing as much as I could, doing Leetcode and watching Youtube vids on data structures and algorithms.
Shortly before the phone screen I submitted a reference that I knew at Google. They cancelled the phone screen and moved me straight to the onsite interviews. I did my first round about a week after the phone screen was scheduled to occur.
The day of the interviews was exhausting. Not just physically but mentally. The questions were tough, the interviewers show no emotion and they don't waste any time between interviews so you better time your bathroom breaks. I did two technical interviews, then had an hour lunch with a Googler (off the record), then did the behavioral and then two more technicals.
By the end of the day I was very tired but I felt that I did good. I was able to provide a solution for every question and fully code out said solution.
Within the week, I was contacted by my recruiter and told that I did good but they needed two more interviews before they could try moving forward. It was close to the end of the year so I scheduled the next round for January.
Going back the second time I was far more relaxed knowing what to expect. With the last interview I took my time chatting with the interviewer and didn't feel stressed for time (even though I barely had time to write the code on the wall).
Again I felt good about my interviews and was pretty sure I'd move forward. But alas, I got the call that I didn't get enough support from my interviewers to move forward and that was the end. The two areas which I failed in were coming up with a solution quickly and not being independent enough. Both of which I'm okay with.
All in all, it was a great experience and I'm glad I went through it.
For the motivational type:
Yes, I'm fully self-taught. I skipped going to college and I didn't go to any coding bootcamp or do any online degrees. Just hard-core practice and learning. Going into the first question was the first ever backtracking solution I've ever come up with and I struggled a lot on grasping dynamic programming but was able to use in the final question. My suggestion, just practice and try and dive in to figure out how something is the way it is. Work on a gradient. When I started, I failed to solve most of the easy questions. But after the first month I got really good with them and moved on up. Do challenge yourself.
Not that it matters:
Easy: 127
Medium: 28
Hard: 4