I Joined Leetcode on 20 June 2021 and going to join Google Bangalore in July'22.
Will try to keep it as concise as possible.
My prep journey:
I never did any problem solving in my college; but was good with development(anything; backend, fe, ML).
I never solved any tree, queue, heap complex DP ques before this one year prep. I bought LC premium and started solving DS/Technique based explore section.
So basically I acquired knowledge before solving company based hard questions, in following order:
-
Array, strings> stack> queue> DP > lil bit greedy> heap> n-tree> binary trees. [Stopped here]
I used to solve 20~30 ques(30%easy 60%med 10%hard) per topic before moving to next. -
tried to do solve as much mixture ques as possible for like if I am on tree then try to tackle ques related to tree+dp or tree+stack. Didnt cared how much time I will take to solve anything. Other coders on LC suggest to do only medium,.. but if you are a noob like me then plz do 30~40%easy. very helpful in building confidence and staying motivated in journey(you might get overwhelmed by other super cool coders) and grasping new concepts like trees, DP like me.
-
After doing the above for some time(3~4months) I started focusing more on learning and practicing algo based question on point 1 topics. Also started measuring my time from this level. I also tried to do more mediums after this level only. so that I can make the count of num of easy == num of medium (atleast).
-
One more thing, If I couldnt solve a ques or solved it with a delay. I looked into ques discussion for solution to understand how other good coders can solve it. how their brain thinks about a problem. If I found a good technique I solve the same question again with new technique so that I could properly grasp it.
-
After doing the above 4 points for 6 months.. I started Graphs explore card. It took me a lot of time and effort to understand Union find and its related concepts. After learning union find and practicing atleast 10 ques related to it. I stopped graph again. Now, I started giving LC contest. tried to solve 3/4 in every contest. helpful in practicing time bounded question solving and practicing quick thinking.
-
Recruiter Approached me in second week of March(9months spent), I asked her time to prepare. Now, I only focused on complicated DS and Algos. Like graph, tries, etc. and famous question like rain water trap, etc. just to build my aptitude. then I started giving LC contest very seriously; tried to solve 3questions in 35minutes. Google interview is 1 medium and its follow up in 45mins(with intro and other discussions).
-
In April and may I just solved LC daily challenge didn't focused much on solving more questions now. I was at peace now. I was confident of my skills and my hard work for the past year. Moreover if I slogged and solved more question I knew I can't develop my coding aptitude overnight, I already did it in the past one year. I was also preparing for frontend and system design for Uber and rippling in this period.
I am a working professional, so it took me ~10months to do all the above. practicing all DS and algo from scratch. I think anyone else can do all this easily in dedicated 6months.
No. of ques: 375; 162+193+20.
Submission in last year:1300 (solved same ques after few months/ new technique).
Language: Python
YOE: 2.10 yrs
Changes I felt:
- Developed a habit of thinking more about optimizing while writing my code at job.
- quick thinking; was able to think about solutions very quickly as compared to before doing Leetcode.
- Related to 2. was able to easily complete my interviews very early. for eg: 1hr interview within 45 mins with all discussions.
- Code quality improved. I am Frontend dev. but many a times I have used sets and hashes where In past I would have just simply used arrays.
Thank you everyone at Leetcode :)



