This post assumes you know about the resources that Intern Supply recommends when studying for technical interviews.
Consistency is key when preparing for technical interviews. It is much better to practice one hour a day and only get a little bit done than to work for six hours straight every Saturday. If you’re completely new to CTCI, a good approach is to read the chapter, do the practice questions at the end of the chapter, then continue doing those types of questions on LeetCode. This will make you strong in one section of questions at a time, but you might get tired of doing the same question type over and over again.
An alternative is to work through CTCI entirely and then switch to LeetCode. This is pretty straightforward, but once you get to LeetCode you might become a little lost as to which questions to choose. Either option is fine and really doesn’t matter in the long run.
What really matters is studying in a way that effectively prepares you for an interview scenario. This means you have to resist the temptation to look at the answers on LeetCode until you’re sure you don’t know what to do. If you find yourself stuck on a question for thirty minutes plus, then take a look. However, read the solution, understand why it is the most efficient solution, and then go to the next question. Don’t type in the solution after reading it. Come back to that question another day to see if you truly understand it. This isn’t about memorizing solutions. You must have a full understanding of how to approach the correct solution or you will freeze up in your interview.
Also, don’t only practice by typing and writing. Some companies may have you type or write, but you have to also be ready to write code on a whiteboard. Some people have no problem with this, but it can be unexpectedly hard to think of your solution, write on a whiteboard, and talk out loud at the same time. No matter what form of coding you’re doing, it is crucial that you speak your thoughts out-loud. If you’re silent then the interviewer can only assume that you don’t know what you’re doing.
To practice this, grab a friend and a whiteboard. Take turns giving each other questions. Talk out loud and have your friend ask you questions about your solution like a real interviewer would. At first it will be shaky and awkward, but the more you do it the better you’ll get. If nobody is available to work with you, then record yourself talking on your phone.
It's important to note that since time is valuable, some CTCI chapters are more important than others. Going in order of 1-4, 8, 7, and then 10 makes sense in most situations.
Thanks for reading! Click the Newsletter button in the sidebar to hear when we release new Software Engineering resources.