How to Prepare for a Technical Interview
By Tonya Wells – Preparing for a technical interview can be very stressful. You have no idea what questions are going to get asked from the vast array of software development concepts that are part of the possible interview question pool. This article focuses specifically on what technical interview preparation books are the best ones that I could recommend. If you’re more interested in the best general interview preparation books, check out that list here. But, if you are here looking for a solid list of technical interview prep books, you’re in the right place!
Are they going to ask you to explain a little used concept you learned in college 20 years ago?
Are they going to ask you for a code sample of a software language in which you have little or no experience even though you are a guru in another development language?
As a former software developer myself, I’m fully aware that many software development concepts do cross development languages; thus, you should know the answer to IT concept questions no matter what language you use. However, technical syntax required for each language many times does not cross over to another language.
So, it can be particularly stressful sitting at home preparing for an interview not knowing exactly what code snippet you’ll be asked to provide, from what language it will be, and exactly what the syntax differences are from the language you know really well. And, then you just never know when you’re going to get thrown a curve ball question that seems to have no relevance to the interview at all.
Fact: IT Hiring Managers Love to Stump Candidates
Sure, the questions SHOULD be about whatever language for which you’re interviewing, but one thing I have learned through my past 20 years of working with IT hiring managers, is that some of them are sick, sadistic little bastards. Some of them thoroughly delight in stumping a candidate with one or two zinger questions meant to tell them how well the candidate can work through a difficult problem to arrive at a solution. They seriously love seeing the candidate squirm.
Why They Do This
It tells them not only if the candidate can provide the answer, but if they can also work through how to gather the information needed from others (because hopefully you will ask clarifying questions back, of course, as you would if you were working with an actual end user) in order to arrive at a solution.
Still, many times these IT managers could ask a more simplistic question to determine the exact same thing. Many of them just like watching the candidates freak out a little bit. I know, because I’ve sat on the hiring end listening to many of them laugh about the looks on the candidates’ faces when they were asked the question. And, when they see that look, they are quite pleased with themselves at how clever they were for thinking of that question. They are also impressed as hell when someone is able to solve their perplexing question.
Preparing for the Ultimate Interview – Google, Amazon, IBM, Microsoft
Three tech companies which are known to have some of the more difficult technical interviews are Google, Amazon, IBM, and Microsoft. Interviews at these companies often require multiple rounds of interviewing, have questions that are perplexing that often stump candidates, and that are meant to determine if the candidate really has the ability to function within their top-secret mini teams that work on their algorithms, new R&D, and keep these companies at the top of the most desired tech companies for which to work in the world.
Let’s face it. Where the Big 6 or Big 8 (depending on how old you are) used to be resume builders that were guaranteed to provide an IT employee with a lifetime of employment opportunities long after they left those companies, so now are these tech giants. Anyone with these company names on their resume and a good reference from an IT manager there will have almost no trouble finding a job with another tech company for the rest of their careers.
How to Prepare for Technical Interview Questions
So, if you do manage to snag an interview at one of these companies, you better prepare for the interview like you’ve never prepared before. Landing a job here is not only important for your career here and now – it almost guarantees you success in the future should you ever be looking for a job again.
I’ve prepared a list of technical interview books that contain the best technical interview questions and answers. Keep in mind that no one book is the end all, be all to prepare you for your interview. There will be nuggets in each one, and if you read more than one, you will notice that some things tend to repeat themselves. You should take note of these because this means they are the more common ideas or questions you’re most likely to encounter in your interview. And, remember the quirky ones too. There’s probably some sick, twisted IT manager out there who has this one stored for some unsuspecting, unprepared candidate.
Top 10 Technical Interview Questions Prep Books
(in no particular order)
1. Cracking the Coding Interview: 150 Programming Questions and Solutions – By Gayle Laakmann McDowell
This book is a #1 Best Seller in the Job Interviewing category on Amazon. It is also #1 in the Software Design and Engineering training category, and #2 in the category for books about Software Design and testing. The author has worked for Microsoft, Google, and Apple, some of the tech industry’s giants. Ms. McDowell worked in roles at these companies that gave her insight into their hiring practices, and is the first one to tell people she is a software engineer, not a recruiter. This book describes their interview process, what happens behind the scenes, what interviewers are looking for specific to different types of IT positions, how to prepare for and get the interview, covers strategies to tackle tough technical questions, and lists out 150 questions and how to provide answers to them. This book has a 4.7 stars out of 5 stars, and almost exclusively has glowing reviews.
2. Elements of Programming Interviews: 300 Questions and Solutions – By Adnan Aziz, Amit Prakash, and Tsung-Hsien Lee
This book is a #1 Best Seller in the Data Structure Algorithm category, and #3 in the Job Interview category. This book contains a very brief section on how to prepare for your interview, and then dives straight into some of the most complex technical interview questions you can be asked and provides their solutions. Code snippets are provided as well. Some of the topics covered include: Primitive Types, Arrays and Strings, Linked Lists, Stacks and Queues, Binary Trees, Heaps, Searching, Hash Tables, Sorting, Binary Search Trees, Meta-algorithms, Algorithms on Graphs, Intractability, Parallel Computing, Design Problems, Probability, and Discrete Mathematics. This book is for the die-hard techie interviewing for a complex software design / engineering position.
3. Ace the Programming Interview: 160 Questions and Answers for Success – By Edward Guinness (Available in Kindle Only)
This book was written by a programmer who has also been an interviewer for technical jobs. This book discusses what your resume needs to include, it sets expectations about the technical interviewer, how to prepare for the interview, and even helps you prepare for a phone interview by creating your own cheat sheet to code-writing best practices, and language-specific quirks. You’ll learn what you need to research before the interview and how to be prepared for some of the most common problems technical interviewers present. It discusses some of the small differences between code snippets of JavaScript, C#, Java, Perl, Ruby on Rails, and T-SQL. And, it also discusses how to answer open-ended questions that test the experience of a programmer.
4. Design Patterns: Elements of Reusable Object-Oriented Software – By Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
This book has been described by many online blog reviewers and reviewers of this book as THE must-read book for all developers. It is the #2 Best Seller in the Software Design, Testing & Engineering category, and is the #3 Best Seller in the Pattern Recognition Algorithm category, and is the #5 Best Seller in the Software Engineering Design Tools and Techniques category. This book focuses on core object-oriented coding principles, and even though it was published in 1994, all reviewers of this book still firmly state (with reviews as current as Nov. 2013) that this book should be required reading for anyone getting into the software development field of object-oriented programming. That says a lot for a book that is almost 20 years old. So, what’s the big deal?
The book presents a catalog of commonly occurring design problems, and presents 23 patterns that allow designers to create flexible and reusable designs without having to recreate the wheel themselves to the design solutions. They describe what patterns are and how they can help you design better object-oriented code. They then name, explain, evaluate, and catalog recurring designs in most object-oriented systems. You will learn when to apply these designs, their constraints, consequences, and trade-offs of using the pattern within a larger design. Code is also included that demonstrates how it can be implemented in object-oriented languages. Once you have learned these recurring designs, you can very quickly and easily begin to apply them to some of the most common problems you will face as a programmer.
5. Programming Interviews Exposed: Secrets to Landing Your Next Job, 3rd Edition (Programmer to Programmer) – By John Mongan, Noah Kindler, and Eric Giguere.
This book is a Top 30 Best Seller in the Software Design & Engineering category; Software Design, Testing & Engineering category; and in the Job Hunting category. It has 4.2 stars out of 5 stars in reader reviews. This book provides you with step-by-step solutions to an exhaustive set of technical interview questions. It starts by helping you utilize LinkedIn and other social networks to find the jobs and how to prepare for the interview process. It then teaches you the techniques needed to solve complex technical interview problems. This book provides step-by-step solutions to solve questions asked about linked lists, trees and graphs, arrays and strings, recursion, sorting, concurrency, object-oriented programming problems, design patterns, database problems, graphics and bit manipulation, counting/measuring/ordering puzzles, graphical and spatial puzzles, knowledge-based questions, and non-technical questions. Code snippets are provided in C, C++, C#, and Java with an emphasis on object-oriented solutions. This third edition also includes new chapters on sorting and designing patterns. It also includes new questions on 64-bit computing and secure programming practices.
6. How Would You Move Mount Fuji?: Microsoft’s Cult of the Puzzle — How the World’s Smartest Companies Select the Most Creative Thinkers – By William Poundstone
This book is the #1 Best Seller in the Kindle Stores Job Hunting category, and #7 in the same category for printed books. It has 4 out of 5 stars in the reviews by readers. This book is touted as a goldmine for preparation for Microsoft’s technical interview process. These are puzzle questions that have nothing to do with your technical ability and everything to do with your ability to think outside the box about a problem. It shows the interviewer how you go about solving a problem to which their is not an immediate answer. Often seen as riddles or impossible questions by interviewees, companies like Microsoft utilize questions like these to truly test your problem-solving ability, to test how you react under pressure, and psychologically to see how easily you can get rattled. This book discusses the approach you should take to solving questions like these, and helps you understand how to systematically break these questions down into components that could potentially answer the question. Not used just in technical interviews anymore, puzzle/riddle questions like these are becoming more prevalent in behavioral interviews of main stream jobs. This is definitely a must-read, in my opinion.
7. The Google Resume: How to Prepare for a Career and Land a Job at Apple, Microsoft, Google, or any Top Tech Company – By Gayle Laakmann McDowell
If one of your goals is to secure a spot on your resume with one of the top tech giants in the industry, then this book is for you. From discussing what you should major in at university to which extracurricular activities you should have experience in, how to apply for these jobs, how to design and tailor your resume to get noticed by one of these tech companies, to how to prepare for and excel at an interview with one of these companies, this book will tell you what these tech giants’ interviewers look for when identifying top potential candidates. A lot of emphasis is put on deconstructing your resume and cover letter so that it will get noticed. It also talks about how the programming interviews differ at Google, Amazon, Apple, and Microsoft, and what types of questions you should be prepared to answer. There is also a chapter dedicated to gamers intent on breaking into the development world of the top gaming companies. Definitely a must-read so that you will help gain a better understanding from the recruiters perspective what they are looking for and how to get noticed.
8. Are You Smart Enough to Work at Google?: Trick Questions, Zen-like Riddles, Insanely Difficult Puzzles, and Other Devious Interviewing Techniques You … Know to Get a Job Anywhere in the New Economy – By William Poundstone
This is another Top 30 Best Seller in the Kindle Store. This book contains dozens more of those pesky trick interview questions and works you through how to answer them. The focus is really on creative thinking and how to show your interviewer how your brain works step-by-step as you solve complex problems. With these questions, it is not so much the answer that recruiters are looking for as it is the process you use to solve the problem. This book also discusses how to one-up the competition for these jobs, what your social profiles say about you, and how to handle those questions that you just can’t seem to answer.
9. Introduction to Algorithms – By Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
This book is a #1 Best Seller in the Algorithms category, #3 in the Modeling and Simulation category and is touted by some tech bloggers and reviewers as the Algorithm Bible. If you have read through some of the other tech interview books I’ve recommended above, and the sections on Algorithms are throwing you for a loop, then you need to make the investment and buy this book. Explanations are explained in an elementary enough fashion that even a tech newbie can understand them. If you are looking to work at Amazon or Google, or some other high-tech company that focuses a lot on complex data models or data analytics, search algorithms, or complex processing of data, this is a must-read. Many of these companies have a sink or swim mentality, and once you’re hired, you’re expected to be able to handle assignments such as these and tackle them without any problems. Better to learn it now than have to scramble on the job and figure it out after you’re hired!
10. What to Wear To Your Job Interview: How to Dress for Your Job Interview and What NOT to Wear if You Really Want the Job! (Ace Your Job Interview) – By Tonya Wells – Ranked a Top 100 Job Hunting Book on Amazon
Yes, I wrote this book. After all of your technical interview preparation, don’t forget your non-technical preparation! The #1 gripe that I have with my IT candidates is that they pay absolutely no attention whatsoever to their appearance. Your appearance can set you apart from other candidates if you are dressed to impress, and it can blow your chances at getting a second interview or a job offer if you look like a complete slob. This book will tell you how to make sure you are not overdressed nor under dressed for your interview, it will tell you what NOT to wear, and it will explain how what you look like affects your chances of getting hired.
Conclusion
While none of these books can guarantee you will get the job, get asked ANY of these questions, or even that you won’t mess up during your interview somehow, interview preparation is a critical component of a technical interview.
Many programmers have the attitude that you either know it or you don’t. In the programming world, that’s true. In an interview setting, it’s more about your ability to explain what you know to the interviewer, and your ability to think on your toes and explain your thought-solving process to them.
These books will help get you in the right frame of mind and will help you answer these questions not how you would answer them, but in a way that actually gives the interviewer the answer that they are looking for. Keep in mind that sometimes the interviewer is not asking for the cookie cutter answer, they’re looking for someone with the ability to give them the answer AND explain how they arrived at the answer.
So in summary, pick out two or three of these books and give yourself plenty of time to read them before your next technical interview. And, please send me your feedback on these book recommendations to tonya.wells@blogaboutjobs.com. I always enjoy hearing from my readers.
For Further Reading:
Top 10 Best General Interview Books – Questions and Answers, Tips, and Secrets