Hi Leetcoders,
Everyone has their own unique journey, here I am sharing mine.
Background
Experience: FAANG+ company, 4 years
Education: B.Tech in Computer Science from Tier-1 college in India
July 2020
I was pretty much bored in my company and was looking a way out (4 years cliff was also there). Coincidentally, got a mail from a Google recruiter on LinkedIn. But he kinda ghosted me after that. After my 2 mails and a long wait, I got the reply that they have frozen the hiring for L3/L4 for some days.
Aug 2020
I heard about LeetCode for the first time. Created account here and started practice. Huge thanks to LeetCode Daily Challenges to help me in keeping my consistency. I can see that my consistency eventually helped me in picking up good speed in solving problems, both in how to approach the problem, and typing the code.
Sept 2020
An Amazon recruiter approached me, but ghosted (wow! right?). A lot of small startups approached and I scheduled a few interviews with them (at least for practice!). In all of them, my coding rounds went superb but always got eliminated right after Design round. This time I joined SDE Skills Discord Server and started learning how to approach Design questions.
Oct 2020
A Microsoft recruiter approached me and scheduled my interview for 2 weeks later. After a week, another Amazon recruiter approached, and I got it scheduled for first week of November.
Microsoft Interview (L61) [Offer]
All the Microsoft interviewers were so nice, and they appreciated the thought process over the final solution. I could see tremendous difference compared to the interviewers at small startups (No offense!).
Recruiter contacted after 4 days and offered the job, saying that the feedback was highly positive.
Initially the offer was for L61 but after Google offer, they were ready to offer me L62, saying that they can't give that much compensation at L61. Otherwise level-change after interview never happens, that is what recruiter told me.
Nov 2020
Amazon Interview (L5) [Offer]
After a week, another 2 rounds were scheduled
Got offer next day.
Meanwhile, I was approached by Uber recruiter. Got it scheduled in December.
Dec 2020
Uber Interview (SDE-2) [Reject]
Got last 2 rounds scheduled after a day.
I found Uber interviewers very talented.
Recruiter contacted me after 2 days. Told me that coding rounds had very positive feedbacks but last 2 rounds dramatically ruined it for me.
3 days later, out of surprise, the Google recruiter who contacted me in July, contacted me. Told me that the hiring has been resumed. I told him about my 2 offers and he tried to schedule the interviews ASAP, but I still asked for 1 month time for more preparation (After all, it was Google). In this time, my friends at Google helped me understand the process. Asked them for mock interview.
Jan 2021
Recruiter contacted next day, good feedback about question clarification, bad feedback about edge cases. Overall positive, so onsites were scheduled for next week.
All my rounds were scheduled in late night in India with NYC-based interviewers. Every night one round. All rounds had 45 minutes time limit. There was no extra time given for greetings or other discussions. And, instead of basic horrible Google Docs to write code, I was provided with a better platform, which had indentation and syntax highlighting support, and I think that's now standard virtual editor in Google interviews now.
Next day, recruiter contacted me and told me that all the feedbacks were highly positive. Except for first round, no other interview had any negative comment.
Google Interviewers write pretty detailed feedbacks (yes, you can hear them typing something all the time).
In all the feedbacks, I observed that they check for
After 2 days, got HC result. L4 was offered.
Recruiter gave me some peanut hike over my other offers. Didn't know Google pays much more than Amazon/Microsoft so didn't negotiate as I was getting hike over top offers from Amazon/Microsoft (It sucks, ngl!). Never make this mistake. If HC is accepting you, it is a huge plus for recruiter as well so they won't let you go easily. Demand!
Within 3 days, had team matching discussion with 2 teams. It is very hard to choose a team when you can't tell how they internally work. Both seemed pretty good to me, accepted one almost randomly.
Feb 2021
Declined other offers. Microsoft was ready to retain with hike over Google offer and also offered L62 level compared to initially offered L61. But I felt pretty exhausted after these 3 months, and wanted to take some rest. So, clearly maintained about joining Google.
How I prepared
Till September, I didn't know what was gonna happen in next few months.
2020 ended pretty well with 2 offers. 2021 welcomed with more happiness :)
So never feel demotivated while going through tough situation. Continue working hard.
Thanks for reading!
UPDATE
Questions asked in the comments
Q1: How did you negotiate for 3 months with Microsoft?
Ans: I got offer letters from both Amazon and Microsoft in November. I accepted them but made it clear to recruiters that I can't join before Feb. Both the recruiters didn't show any reluctance with that and put my joining date for Feb. For 2 months, I negotiated between Microsoft and Amazon.
Also, if you noticed, I said that in December, when Google recruiter contacted me, I told him about offers and my joining date in Feb, that's why he tried to make the process super fast.
Q2: My competitive coding ratings?
Ans: My CodeForces title is Expert (lower-end), and my LeetCode contest rating is ~2150.