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