HOW TO USE THIS BOOK
Preparation is the key to mastering the programming interview process. The following are some general guidelines on how to effectively use this book to prepare for programming interviews:
- Give yourself enough time to prepare. Start your preparations as early as possible, ideally weeks or even months ahead of your interviews. You need that time to practice the concepts presented here. (If you don’t have the luxury of that much time, try to put aside some blocks of uninterrupted time to study the material.)
- Practice answering problems. Don’t just read through the solutions. Work through the problems using the solutions for a hint when you get stuck and to verify your answer. Try to simulate the interview experience. Much of the time you’ll be writing code on paper or a whiteboard; practice this! It sounds silly, but it takes some practice to get the programming part of your brain engaged through a pen instead of a keyboard.
- Make sure you understand the underlying concepts. Understanding the concepts that underlie the problems is the key to your success. Don’t skip or gloss over the material you don’t understand. This book provides enough of an explanation to refresh your memory of topics you’ve learned before, but if you encounter something you’ve completely forgotten or never learned, you may need to read more about it in another reference.
- Don’t bother memorizing the answers to the problems. Interviewers are unlikely to present you with any of the problems in this book. Even if they do, they may change the problem in any number of small ways. If you answer it by rote, your answer may be incorrect.
- Keep practicing. Your preparation doesn’t stop after finishing this book. Keep working on programming problems; they’re easy to find on the Internet. Find additional reference material, especially in your areas of expertise, and keep reading.
Now, let’s get started!