In the last 5 years I have given 20+ coding interviews.
As a result my approach to prepare and give them has significantly changed.
Reflecting on my mistakes, I have documented my learnings in 28 lessons that I wish I had known sooner. 🥲
These will help you in leveling up for programming interviews.
Let's go 🚀
You only get better by solving more problems.
Pick only ONE programming language you are extremely familiar with.
Biggest mistake you can make is ignoring the fundamentals.
Learn and practice topics in order of importance.
Prioritize practicing the most popular and frequently asked interview questions.
Look for key patterns that help you solve multiple problems.
Revising questions is underrated. That’s how you really internalize topics.
Gather maximum detail about the interview beforehand.
Understanding the problem is the primary step of problem solving.
Come up with more examples to test your understanding.
Break down complex questions into small independent questions.
Think of multiple solutions before committing to one.
It’s ok to take notes during the interview.
Whenever stuck, start with a brute force solution.
Explain the solution approach before writing code.
Solution first. Optimization later.
Let your interviewer know before optimizing the solution.
Prioritize optimizing repeated, overlapping or redundant computation.
For complex algorithms, write pseudo code first.
Your solution is as good as how well you communicate it.
Step through the code like a debugger to catch bugs.
Show your code works by testing it with sample inputs.
Discuss how your provided solution can be improved.
Prepare well for self introduction and final questions.
Mock interviews are a great way to make gaps in your preparation visible.
Irrespective of the result, reflect on your interview experience.
That's it!
I hope you find these lessons helpful.
If you liked this post, follow me for more of these 🙂
Also, share a coding interview lesson that you learnt the hard way in comments 👇