How to study and practice for coding-style technical interviews

Things to keep in mind before studying

  • Don’t compare yourself to others. You’re probably here right now because you, like many others, felt the imposter syndrome associated with these style of interviews. It’s important to recognize that you are on your own path with your study journey. Don’t be discouraged by feeling like you’re behind in comparison to others.
  • Recognize underlying patterns, don’t memorize answers. It’s easy to fall into the trap of memorizing specific questions and hoping that they show up in the interview. Don’t do this. Instead, focus on building up your intuition to understand which data structures and algorithms are suited for which problem space.
  • Communicate as much as possible. Your words are the only portal that the interviewer has into your thinking. Make sure to always communicate your thought process even if the thought is still forming.
  • Appreciate the randomness of the process. There is a high degree of luck involved with technical interviews. The interviewer or yourself may be having an awful day. You may be asked a question that you forgot to cover in your studying. Developing a positive mindset towards this reality will help you deal with these circumstances and move in productively.

📚 Phase I: Fill in Knowledge Gaps and Identify Weaknesses

  • Big O Notation (Time vs. Space complexity)
  • Array
  • Strings
  • Linked List (Single/Double)
  • Hashmaps
  • Stacks and Queues
  • Trees
  • Graphs
  • Search (Binary, depth-first search, breadth-first search)
  • Sorting (Bubble, Merge, Quicksort, Heap Sort)
  • Heap (Min/Max)
  • Recursion
  • Backtracking
  • Dynamic Programming
This man is incredible

🟢 Phase II: Start doing easy-style questions on Leetcode

Easy-style Leetcode question

🟡 Phase III: Start doing medium-style questions on Leetcode

Medium-style Leetcode question
  • Seeing that a naive brute force solution typically exists with an unfavourable time and complexity.
  • Recognizing that something from your toolkit allows for a solution to be completed in one pass, which achieves O(n) space and time complexity.
  • Discovering that you can achieve O(1) space complexity with the use of a clever algorithm.

👥 Phase IV: Practice live interviewing with a real human

Pramp session

Conclusion

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store