A comprehensive study guide I slowly and continually contributed to en route towards landing a SWE job at Google.
Firstly, I encourage you to read my LeetCode discussion post discussing my journey and relevant LeetCode advice: https://leetcode.com/discuss/general-discussion/908588/i-hate-the-system-i-understand-the-system-thank-you-leetcode
This repo is meant to be forked!! Take it and make it yours :)
topics/
This holds all related topics you'll ever encounter on a general LeetCode question or typical interview.
I've learned studying and mastering the concepts is a far greater help than just doing the "most liked" or "top rated" questions on leetcode. Harden your fundamentals!
Each topic has its own markdown (.md) file with all of my favorite associated problems inside them along with my attempted code snippet in Python. After each snippet, I added a personal takeaway section to help me remember quickly what was necessary to understand to solve the problem. Please feel free to delete/overwrite them in your forked repo.
The most important file in this folder is cheatsheet.md. This holds summary bullets of points to remember about a given topic. Again, these were specific to me, and I encourage you to overwrite these points so they make sense to you.
me/
This folder has empty markdown files like projects.md, about-me.md. Please put your resume here! I have my own private repo of this to hold my resume and other experience info. These are helpful to reference.
readings/
Contains single file links.md of my favorite sites I used to study outside of my coding problem prep.
Here, I detail a recommended prep plan for those of you just starting.
Pick your favorite, and mainline that. 99% of the time you have a choice over the most popular languages for a generic SWE role.
I recommended buying premium if you know you have interviews immediately coming up, definitely worth it.
https://yangshun.github.io/tech-interview-handbook/algorithms/algorithms-introduction
This is one of my favorites from links.md, and quickly offers a refresher course on each concept. You can do his concept problems, or use my own.
Bookmark this site! It's fantastic for all aspects of the coding interview.
Read through one concept at a time, please try clicking the LeetCode link on top of each problem snippet. Try it yourself and come back to mine if you like.
Master the concepts, then dive into LeetCode's top-rated/liked problems. It usually takes 4 weeks to get comfortable with easy's, then another 4 weeks to get comfortable with medium's.
If you are comfortable with > 90% medium problems, you are ready.
^
Single best practice you can do to check your readiness. LeetCode offers 1.5 hr long coding contests on Saturday nights. They deliver 4 problems (1 easy, 2 medium, 1 hard). These were the most helpful to me, and I really saw myself grow.
If you can get 3/4 problems consistently, you are ready.
Go through the rest of my favorite links.
Apologies for any confusion in my bullet points, this was originally contributed to without the intent of being published for others.
Be patient with yourself. If you fail contests, or interviews, don't let that get to you. You're on a personal mission to improve, go at your own pace, you got it :)