Whether you have an interview scheduled or not, it is never too early to start preparing for technical questions. Chances are your Data Structures and Algorithms class covered some of the basics like merge sort and heaps, but tech questions can come from a much wider spectrum of categories.
If you already know about the best resources, then read how to use them effectively
Cracking the Coding Interview (CTCI) is the most widely known prep book. Simply reading through the book and doing the practice questions at the end of each chapter is a perfect start to your studying. For many of the lower difficulty interviews studying this book will be enough. However, the more intermediate interviews require more practice.
Elements of Programming Interviews (EPI) is another highly regarded resource. Some advantages of this book over CTCI is that it comes in both Java and C++ versions. EPI also includes a guide of which problems to do based on how much time you have left before an interview.
LeetCode is a website with hundreds of algorithm questions and a text editor in the browser that allows you to run your code against test cases. The questions range from beginner to the highest difficulty and it can be an invaluable resource when used correctly. Many questions you come across you’ll see in actual interviews or a variation of them. One drawback to LeetCode is that they don't provide an orderly structure to follow.
HackerRank deserves an honorable mention here because many companies will send you a preliminary coding assessment through their service. You can go onto HackerRank’s website to practice questions there, but if you choose to use LeetCode you won’t be at a disadvantage when doing a company's coding challenge.
Thanks for reading! Click the Newsletter button in the sidebar to hear when we release new Software Engineering resources.