(if you don't have time, skip to the interview section, although you might find it inspiring)
Getting into Google was a dream come true for me. I was an Electrical Engineer with a strong interest in programming, so I decided to pursue a Master's degree in CSE. I knew very little programming. Google called to recruit me for an intern post. I was ecstatic, but I failed miserably. I have no knowledge of what time and space complexities are, and I have no expertise of data structures or algorithms at that time.
I enrolled in the DSA course in the 2nd semester with great enthusiasm. I concentrated all of my efforts on studying data structures and algorithms, and Professor was quite helpful too. Also, I studied Java and built numerous programs. Almost all of my academic projects were in Java, and I put a lot of effort into them.
I didn't get a full-time job after college, but I did get an internship right before graduation. I used to be able to solve a coding problem with only math and a basic understanding of java coding. That is why I was not chosen for any of the jobs. Almost everyone was hoping for a flawless answer with optimum time and space. [AMAZON rejected me twice]
My eyes were awakened when I came across Leetcode during my internship. I gradually began solving problems on leetcode & preparing DSA on the fly. I looked at various fantastic solutions and wanted to beat each one with my solution in time & space. I give it my all. My buddies call out for interesting things every evening, but my heart always beats for leetcode. I used to find it tough to solve easy problems, you heard right Easy problems
I got into a full time job(this company didn't ask for any coding lol). I joined the company and thinking to prepare in steady pace. I felt confident solving easy tasks after solving around 30 of them, but Medium issues were quite difficult. To get into big companies, my brain said I need to tackle every problem in leetcode. I gradually grasped the medium problems. Now, medium difficulties are simple ones. I was hesitant to take on hard challenges, yet I did so on occasion.
Scheduled: 2 weeks after recuiter call
Phone Interview: A matrix or 2D array based question.
I had no hope clearing the phone interview but i wanted to give it a try. The question was medium-hard. I solved the question but the interviewer wanted me to optimize the solution. I struggled a bit but the interviewer gave a hint. I got that and solved it quickly :)
Onsite Interview
Scheduled: 5 weeks after phone interview
ROUND 1: Googleyness
Q1: Tell me about a time you had....
Q2: how do you handle ...
my rating: HIRE
ROUND 2: Coding
Q1(HARD): Graph question
It was so difficult to understand the question he stated and wasn't giving much information. I tried to get as much as possible and finally got the question. By this time, i lost 25 mins. I explained the approach and wrote the code quickly. The code was buggy.
my rating: NO HIRE/LEAN NO HIRE
LUNCH I was thinking about the coding round, I wasn't able to eat. I thought I wasted all my efforts. I was crying inside. I was upset & angry on myself.
ROUND 3: Coding
Q1(HARD): DP Question
I recognized a pattern, drew a diagram explaining my approach, wrote the code(most efficient code)
Q2(MEDIUM): Array based question
I solved this question in 5 mins and wrote the code.
Q3(HARD): Segment Tree based question
I explained the approach, interviewer was happy and suprised bcoz we still had 5 mins. She smiled and said enough "Lets talk about Google"
my rating: HIRE/STRONG HIRE
ROUND 4: Coding
Q1(MEDIUM): Tree Question
I solved this question in leetcode, I explained my approach and quickly solved.
Q2(HARD): follow up from Q1
It was little tough, I thought for a while, discussed and solved it too :)
my rating: LEAN HIRE/HIRE
ROUND 5: Coding
Q1: Same question as ROUND 4. I notified the interview and then he changed the question.
Q1(MEDIUM): Priority Queue based problem
It was easy for me to solve but i didn't remember an util method (interviewer asked me to assume something- more like hint). After that, we have discussed several other solutions - more like reviews.
my rating: LEAN HIRE/HIRE
HC RESULT: I was approved for L3. I know this is bcoz of the ROUND2. Time was not good for me. There were no team matches for my profile and the time went on. I was constantly in touch with the recruiter. Later I was told that there are a lot of openings for L4 so asked me to take up 3 more rounds.
ROUND 6(MEDIUM-HARD): GRAPH problem
I trashed the problem and came up with a best solution.
my rating: HIRE/STRONG HIRE
ROUND 7(HARD): GRAPH problem
I solved with a best solution with some minor mistakes.
my rating: LEAN HIRE/HIRE
ROUND 8:
Q1(MEDIUM): Priority Queue based
Q2(HARD): followup of Q1
I solved it with a optimized solution. I was shaky for the follow but did it at the end.
my rating: HIRE/STRONG HIRE
HC RESULT: Approved for L4 after 2 weeks.
Other Offers:
Microsoft, Amazon, Goldman Sachs, World Wide Technology
My older post: https://leetcode.com/discuss/career/228368/love-coding-yoga-motivation
I can't post the actual interview questions but I'm happy to answer your questions if any. If you like my journey/experience, give it a LIKE and SHARE with your friends :)
Hardwork will definitely pay you off someday!! GO FOR IT.
Thank you!
(Apologies, if find my write up akward/with grammatical error LOL).