(This story is part of the weekly assignments for my internship at Nearsoft by Encora. I hope that some of the insights I learned this week can help others in their learning journey.)
Here’s a few insights of the first 8 chapters of Cracking the Coding Interview by Gayle Laakmann McDowell:
Data Structures and Algorithms: Study Them 📚
Data Structures allow us not only to store our data but also to organize and do data management more efficiently. By being familiar with them it’s easier to recognize patterns that are present in the questions and figure out what algorithm or data structure can be used to solve the problem. On Cracking the Coding Interview, Laakmann offers some light on a particular approach: the Data Structure Brainstorm which is to “Try different data structures and see which one best fits the problem.”
Problem Solving Flowcharts: Use Them 🔧
When facing a coding interview is important to have a mental model of how to approach a problem. It allows us to unblock our thoughts and follow a structured manner of how to get to the best solution. On the book, Laakmann provides a full Problem Solving Flowchart and explains that it’s important to listen to small details of the problem as they will come helpful. There’s always a reason why these details are included in the problem.
Also, by drawing a sufficiently long example we are certain to be tackling the right problem. When we choose a short example we may be missing on several cases of the problem. It’s algo important to first design an algorithm, then optimize it. Even if the first approach that we design is a Brute-Force solution, it serves as a starting point for more efficient and elegant solutions.
Mock Interviews: Do Them 💬
Before having a Real Interview, is important to have practiced a couple of times doing Mock Interviews. Having another person asking you questions and setting the environment of a real interview will help you identify and work on areas where you see improvement. Most importantly, you can receive feedback from the other person that will help you apply consider the perspective of the interviewer towards your answers and attitude.
Mocking Interviews also allow you to reduce anxiety of the real one by allowing you to identify how you react to certain scenarios and to practice unblocking your mind at times were you feel nervous.
Coding Interviews: Crack Them 🏆
In summary, and after applying some of these techniques myself, I can say that this book provides a framework to tackle and crack the coding interview not only by providing technical guidance but also advice on behavioral questions. Now, it’s up to me to apply this resource and to practice as much as possible and then perform as best as I can.