DSA Learning Resources
You only really need one good course on data structures and algorithms, and there isn’t a lack of supply of free and paid options around the web. This list contains resources I actually tried and I helped me the most (none free). Just pick any resource you can find and stick with it.
Courses, Books, and Articles
Curated Problem Sets
Coding Interview Etiquette
Do
- Talk through your assumptions and approach
- Include the interviewer in your thought process
- Pay attention to the interviewer’s cues
- Ask clarifying questions
Don’t
- Start writing code without agreeing on a certain approach
- Belittle the problem or the interviewer
- Stay silent without letting the interviewer know that you are thinking
- Ignore the interviewer’s tips or act hostile to them
Interview Tips
Do
- Write/draw out a solution before you start coding
- Find and code a brute-force solution as fast as possible
- Walk the interviewer through your code as you type
- Test your code manually (go over each line) before stating you are done
Don’t
- Try to find the optimal solution right from the start
- Run your code before reviewing and manually testing it
- Forget to mention certain assumptions
- Use a language you are not comfortable with
Problem Solving Tips
Do
- Understand all of the problems constraints
- Map out the given inputs to outputs and come up with a few of your own
- Think about how you as a human would go about solving the problem
- Remember: “I wonder? What if? Let’s try!”
Don’t
- Just start writing without thinking about the problem
- Overthink it by trying to map out the complete problem space
- Try to validate an hypothesis (instead, try to break it!)
- Give up. If you are stuck ask/seek for help