Journey to Google
How to apply?
There are 2 options:
1) Referral : If you know someone then it would be the best option for you. But in my case I didn’t had this privilege. Therefore I went hard way.
2) Google Careers page : I call this option as hard because for this you need an impressive resume which can clear the AI check and a person really can review your profile. So how did I made an impressive resume? I just followed this video and lucky me I got reply within a single day after applying.
Preparation:
I was good in data-structures and algorithm from my college-time as I spent too much time on HackerRank/HackerEarth/GeeksForGeeks during my college. And during my 4 years at Commvault I got a nice exposure to my development skills. And I also use to casually solve problems on Leetcode or InterviewBit. So I was already in good touch with programming, I just need to brush up and enhance my skills.
Since I was already working therefore it was hard for me to get time for preparation on weekdays. And honestly I could make time for preparation on weekdays after 7 pm or in morning but I did not wanted to take any extra mental pressure. However on Saturday and Sunday I was fully dedicated to preparation, you can say continuous 10 hour. So yeah I was effectively giving 20–24 hours a week to preparation.
And one more thing I did was I used to have a call with one of my friend daily and discussing the interesting problems I solved that day and multiple ways to solve them. And he also used to motivate me and kept me align to my goal. This call had 2 benefits, first is your mind get relaxed as you talk to a friend and you get discuss your solution.
Preparation Material:
For reading or gaining info purpose, I completely rely on GeeksForGeeks. This is the best site for DS and algorithms.
For practice purpose, I use Leetcode and once you solve the problem their discussion page helps a lot in increasing your code-readability and you get to know many simpler approaches. And once you have interview scheduled I will suggest LeetCode Premium as must.
For mock interviews, I used Pramp . They have good approach, just try it. And most importantly it is free. However most of the time I got matched college-students.
For networking/OS/DBMS, I just brush up using StudyTonight. I find their tutorials very simple.
These all things worked for me. But different things work for different people. So try to find whatever is suitable for you.
Phone Interview:
So after applying recruiter contacted me and asked me for my availability for a phone interview. As I just applied to the position without any specific preparation therefore I asked approximately 3 weeks time for preparation before interview. And interview got scheduled approximately after 25 days. Interview went fine I was able to solve the problem quite easily. There were 2 problems(one easy and another medium level).
Onsite Interview(Virtual due to pandemic)
I got positive feedback from recruiter within 2 days after phone interview and asked me for my availability. As recruiter hinted me that these are going to be little hard compare to previous Phone interview so I asked 3 weeks time again for preparation. And then after 20 days all 5 interviews(4 technical/1 behavioral) got scheduled. All interviews were 45 mins each and I have to code on Google Docs only. You can check this blog for setting up Google Doc for interview.
Hope this helps you. Best of luck.
PS: Interview questions are confidential and I applied for Software Engineer L4.