From 0 to Google/Apple/Others
Anonymous User
1320

Hey people!
I thought I might have a journey worth sharing here.
So here's the thing. A year ago, I didn't know coding. I was bad at it. Everytime I tried, I gave up when I hit a bump. Tried to convince myself that it wasn't for me and found excuses to avoid it. The maximum I knew was how to use vectors. I didn't know the difference between maps and hashmaps and was afraid to use hashmaps because I thought that we had to design hash functions in order to use them! :)

My junior year in college, I didn't know what leetcode was, I just heard that you're supposed to do coding for on-campus internship recruitment. So that was the first time I looked at cpp, studied vectors and sorting algorithms (yes, I didn't know about the sort function) and maps. I didn't study graph algorithms or trees(I thought they were too difficult and beyond my ability lol). I thought I was prepared enough for the interviews since I expected easy questions. This was around October 2019 and didn't make it past most of the OAs and the ones I did, I bombed pretty much all the interviews. At the end, I didn't have a good offer and saw all my friends get into great internships and chilling ever since. I was devastated. I mean, having been among the top performers in class, it was just hard to accept that I was basically failing every interview I ever gave.

I decided that I needed to make a change now and started studying properly. I discovered leetcode and OH MY GOD!! It's been just going uphill ever since. I started practicing a lot on leetcode. Obviously, it was hard to get the questions and a lot of frustration followed most of the time. But I think staying consistent is what helped me throughout. I didn't do a lot of contests because I wasn't confident enough to code under pressure but I kept practicing and applying off-campus. It did take a lot of effort and then I gave interviews for Amazon, Google, Bloomberg, start-ups. Just whatever opportunity came, I made sure to give it a shot.

My first two interviews were with Amazon in Feb 2020 and they were probably really easy questions now that I think about it but at that point of time, it was really hard and I bombed both the interviews. Then came Bloomberg and I was asked a very popular question on priority queues(you must've seen it on discuss) and I totally blanked on that as well! It was really demotivating but I kept going anyway since obviously, I didn't have anything to lose. Now came the Google interview in March 2020 and this was the worst!! I was pretty intimidated because Google interviews are generally harder and had really low confidence. My first interviewer asked me a coding question and a lot of cpp based questions and the second one had a direct leetcode hard question that I was unaware of at the time. So I received a LOT of rejections, believe me, a LOT! Then I tried for another company and my luck just panned out to be so good here that the interviewer asked me a basic for loop question and I made it through. I got a decent internship but that wasn't enough.

I had to keep going and I kept practicing on leetcode. I probably reached around 300 on leetcode until then. After this, I applied for Amazon again, got rejected AGAIN(lol) and decided that I needed to be stronger in doing what I have been. So after this point of time, I sort of got out of the easy comfort zone and started looking at medium level questions of harder topics like trees, graphs, DP, etc. These were topics that I had been avoiding for a long time and they came back to bite me quite a lot during the interviews :P. This was around July 2020 and on-campus recruitment for full-time was about to start in November. I kept applying off-campus as well to practice interviews and try out opportunities. I gave a lot of OAs and got rejected in most of them.

My first interview here was with Asana in around September 2020 and I was much more confident by then and the interview went well too. It was just very unfortunate that they'd stopped hiring for the role by the time I was done.
I interviewed with Intuit after this in November 2020 and pretty much bombed that too.
Then in December 2020, I interviewed with Microsoft on-campus and got a reject there as well.
Then came Apple and honestly speaking, I didn't have a lot of expectations here but I made it ! I got an offer from Apple and was really happy. But since I had applied off-campus as well, I was still interviewing around. I had done around 800 on leetcode and this time I bought premium for a month because I had more interviews coming up and I mostly read or did majority of the questions.
Around January 2021, I interviewed with a few more start-ups and received a couple of offers and then I interviewed with Bloomberg again. Made it past the technical rounds this time but got rejected in the manager round(sucks, tbh). I still got a lot of rejects and a few offers but I didn't mind so much this time.
Then came the dreaded Google interview! Lol since I performed so horribly the first time, I was really scared about this but decided to try anyway and I did another 200 questions for this! And then, there I was, with a little bit of struggle in the interviews, reading out my offer letter! I was super elated and every rejection seemed so worth it because it kept me on my toes, pushing me to try harder every single time.

What a journey it has been! Couldn't be more grateful to leetcode and the entire leetcode community!

My key learnings here

  • Keep trying, even if you feel like you don't want to. Just keep going. On your off days, try out an easy question or just checkout the Discuss section and go through the interview experiences/questions. Just try to keep it interesting and don't get too comfortable doing nothing. If you can, try scheduling an interview soon or giving an OA(maybe for some company that doesn't matter as much? this definitely worked for me). The pressure can help you push yourself.
  • If you ever feel like not doing a topic which may not be as important, try doing just a question or two of that. Even if you are looking at a solution and figuring out a solution. You may end up liking the topic or you could just move on to the next. If an important topic seems difficult, just dive into it. Just take that leap and learn to love it. I hated DP, always tried to avoid it until one day I just decided to break it down and see what it was all about. Solved questions to the point where I started loving it. Enjoyed the challenge and honestly, I like it more than any other topic now. I'm still not great at it, but atleast it's more fun now. :)
  • You can never have an acceptance rate of 100%, so don't be too hard on yourself if something goes wrong. Just figure out the problem and fix it if you can. All you can do is perform your best, leave the rest to them.
  • Keep interviewing. Even if you find it hard or are underconfident, just go for it! If you fail, you can always try again. For example, I was asked to talk about hashmaps in an interview. I kept struggling and gave random answers. A week later, I interviewed elsewhere and was asked the same question. This time I knew the answer and just glided through the interview smoothly. It has happened more times than I can count! You're less likely to forget where you messed up in an interview compared to where you did well or some question on leetcode. So definitely ask for feedback and work on it. Moreover, interviewing also helps build confidence because once you get used to giving a lot of interviews, you get more comfortable and are able to think more freely and are less intimidated.
  • Believe in yourself. This is probably the most important thing. You need to believe that you can do it and that's what will keep you from giving up.
    PS - I've posted most of my interview experiences in detail on discuss.
    HAPPY LEETCODING!
Comments (4)