Be prepared for your next job interview with this tried-and-true advice In today's tight job market, competition for programming jobs is hotter than ever. This third edition of a popular guide to programming interviews includes new code examples, information on the latest languages, new chapters on sorting and design patterns, tips on using LinkedIn, and a downloadable app to help prepare applicants for the interview. Like its earlier editions, this guide covers what software companies and IT departments want their programmers to know and includes plenty of helpful hints to boost your confidence. Walk into your next job interview with confidence, knowing you have thoroughly studied this newest edition of Programming Interviews Exposed .
An introduction to job interviews for programmers, how to prepare, what to expect, and the "do"s and "don't"s. It begins with how to start your job-hunt, finding your strengths, updating your Linkedin (reasonable tips there!), and finding the job that suits you. Since programming interviews are often technical in nature, the majority of this book focuses on these parts. It goes over all the basic data-structures and gives you a couple of example problems from interviews for each structure. These are good in that the author goes through a "natural" thinking process with each problem - starting with the "obvious" and "easy" solution, showing where the caveats are, "loudly" thinking about possible ways to solve it, finding the "good" solution, and then sometimes going further to the "perfect" solution (which doesn't help in interviews, but is there for pure nerd-satisfaction).
After a problem was solved in "plain text", example programs are included. These are written in Java, C++ or C. A warning here: Many solutions include low-level concepts like pointers (or even pointers to pointers), so if you've only programmed in languages without "manual pointers" like Python or Ruby this book won't help you much. In fact, the String problems are a little bit frustrating to read when you know the solution in Python would be a (slow) one-liner like my_string.split(" ")[::-1] (that one's surprisingly complicated in C).
After going through all the basic data-structures like binary trees, stacks, heaps, strings etc. a couple of non-datastructure CS related things pop up, like graphics programming, concurrency, SQL etc., which I rarely see, but good to see them included here. Then there are a few chapters on the typical "riddles", like this one (which doesn't even work with modern light-bulbs - LEDs don't get hot, fluorescent bulbs only a little), but the authors rightly state that these are cheap pot-shots which don't really help in anything. But since they come up in interviews, they had to be included. The book concludes with a couple of examples for "knowledge"-based questions, and a helpful appendix on structuring/writing CVs.
Recommended for: Job-hunting programmers, or those in the last year of their studies. People who've never been to a technical programming interview and would like to know what to expect. People who like to solve programming riddles. People who need a crash-course/refresher on data-structures and algorithms.
Not recommended for: Beginning programmers (too much low-level stuff). People who only program in high-level languages like Python or Ruby. People who want to study programming interview questions specifically - there are other, bigger, more complete books on that (but I don't really see the purpose behind that - in my own experience, people who learn programming solutions by heart [they exist!] can't program at all, which will hopefully become obvious in the interview).
An excellent resource to prepare software engineers for interviews. The book does a great job of describing the job application process, discussing how to approach the different types of problems, resume tips, and nontechnical questions. However, the book's bread and butter is a series of chapters devoted to numerous programming topics that you are often seen at interviews. These include recursion, concurrency, lists, trees and so on. Each chapter includes a nice concise overview of the topic, a series of questions, and wonderful step by step explanations of how to solve them. The solutions in particular are well written since they don't just blurt out the answer right away. Instead, they walk you through the thought process, paragraph by paragraph of how to approach the problem. The idea is that if you can't get the problem on your own, you can start reading each paragraph, and use each one as a "hint" but still figure out the final solution yourself. Of course, if you can't do that, keep reading, and they work out the whole thing for you. Great stuff.
Just like Cracking the Coding Interview, Programming Interviews Exposed is a great book to remember old topics. This book has less detailed examples but has much more detailed descriptions for the topics. If you want to revisit old topics, I advise you to read both books. This book can be the first one for your list because this will help you to remember and cover old programming topics. Then you can practice using Cracking the Coding Interview.
Programming interviews Exposed, preparation is the first book that everyone should read if you are starting your preparation. the book is good at explaining pros and cons of different approaches and creating a mindset to approach the coding problem.
But this book is not good if you have good enough background in coding preparation then I will suggest you go for Cracking the coding interview or Programming interviews in java which build on the knowledge you gain from Programming interviews Exposed
This book is amazing. It's pretty short, but talks about a lot of interesting things. The problems here are pretty easy most of the time, but I like how in-depth the thought process behind solving them is shown. I wish more books did that, as it nicely shows ways you can approach the problem and arrive progressively get your solution better.
The topics which are covered here are broad and interesting: not just data structures and algorithms, but also more practical things like databases, parallelism and so on.
This is a helpful review of the basic concepts covered in programming interviews.
It suffers from two drawbacks.
First, Cracking the Coding Interview does a much better job of covering the same materials, rendering this a backup option or supplementary materials.
Second, there are now many websites and videos that cover the contents of this book. They are interactive, not limited by the constraints of the page, and superior in almost every way.
With that said, this book is good enough for what it is, but I'd recommend something else to anyone looking to prepare for programming interviews today.
Along with "Cracking the Coding Interview", "Programming Interviews Exposed" is one of the 2 books MUST for every software engineer to have experienced at least once. Of course, if you have the ambitions to work at FAANG, once upon a time, like me.
While I was only accepted at Amazon in 2015, which I rejected then, this book was an essential learning tool and prepared me for a time when, while in 2015-2016, there were a plethora of learning resources, quality was scarce.
If you ever want to study hard and prepare for the "modern" interview, perhaps the 3rd edition of the book is the right choice.
This book has a very specific audience. Programmers who have either graduated or are about to and need to figure out how interviews work and how to prepare. It's helpful, I often review it before being interviewed to refresh on some concepts and to start thinking about how to answer common questions.
The chapter on graphical and spatial puzzles and the one on nontechnical questions where interesting the rest too short to be useful. Better get yourself a copy of Land the Tech Job You Love
As its title it is a great book for interviews, also I would recommend it as a read first before reading an advanced book in algorithms and datastructures. I gave it 4 stars because there are some topics that i wished to be covered to be complete like balanced trees and graphs.
A decent overview of the whole field of programming. It's not very in-depth, nor does it have a lot of exercises. It's just what I needed - something to help me review the sum of my knowledge and how it might be queried in an easy to digest format.
A must read before an interview! It's a very brief and compressed knowledge often needed for interview in IT and programming jobs. Although it doesn't contain broad explanation as CLRS, it can help arrange knowledge and be prepared for the common types of questions.
Os problemas não são interessantes e o método de solução é tão mal explicado que você acha que é ad-hoc se não conhecer o tópico e/ou resolveu um similar.
Programming Interviews Exposed is a good book for gearing up for a technical interview. I liked that the structure guides readers through important core computer science topics, starting with the foundations of data structures and algorithms. The advice was practical, well written, and easy to learn.
The authors offer sample problems along with detailed explanations of how to solve them and sample code solutions. I thought the code solutions were a bit too terse for my taste, but I think the goal may have been to get answers that would easily fit on a whiteboard.
The latter chapters of the book cover topics that were really broad and hard to teach exhaustively. These chapters offer decent summaries of topics like design patterns and object oriented design, but even the authors point out that readers should explore other books for more detailed discussion.
Overall, I enjoyed Programming Interviews Exposed, and I think any person facing a technical interview for a software career could gain a lot from reading it.
This book is an excellent quick review for technical interview preparation. It has pleasant and readable summaries of essential CS topics likely to come up in an interview like linked lists, binary search trees, OO concepts, brainteasers, and also very valuable advice for how to conduct oneself during a technical interview. There are lots of solved problems and excellent discussions of approaches and techniques for handling those problems.
The only thing I could complain about is that perhaps this book doesn't go quite far enough. E.g., one should probably have some understanding of, say, red-black trees, dynamic programming, and other CS concepts, and some of the things that they consider too advanced, like using x &(x-1) to count the number of bits in an int, are covered on p. 1 of books about such things.
In short, necessary but not sufficient reading to prepare for a coding interview.
If you are going for a job in a tech/software company, you should read this book, even if the position is not directly programming-related. It helps you get into the mindset you need to have if you're going to be interviewing with Microsoft, Amazon, Google, etc.
The meat of the book describes various concepts that are often asked on programming interviews like data structures, arrays, strings, etc and provides sample questions with detailed answers that are a good refresher on CS concepts that you might have forgotten from your Uni days. There are also sections on logic puzzles that are commonly asked on these interviews, which are great to help increase your mental flexibility.
I can say without a doubt that this title helped me land my newest (non-programming) job, so if you're hunting and going into a software position, check this out.
I can't recommend this book enough. It's concise and full of useful advice. Typically the authors chose the correct language for the examples. That can be tricky to do correctly. Other good books on the subject go wrong there.
It is good they included the section on puzzles and other bullshit questions. I'm glad to see that trend on the decline, but you never know when one of those could sneak in to an interview.
This book is also a good roadmap for conducting a useful interview. Focus on algorithms, data structures and coding and hopefully you won't go to far astray.
I wouldn't mind if the authors included more coverage of modern dynamic languages. The coverage of Javascript is useful but light. They don't really get a good problems specifically useful in those languages. But I suppose you can't have everything.
I would recommend this book to any programmer. Primarily this book is to prepare you for a technical interview. I would also tell any programmer to pick it up and go through the summaries and examples, especially if you are stuck in a job where you are only doing a specific task. This book opened up doors in my memory when it comes to certain things learned long ago in University. The best part is how the solutions are laid out. It steps through it slowly before giving you the best answer, giving you ample opportunity to tackle each problem and refer to the book if you need a hint (just like in an interview).
Topics covered are all the basics, data structures, string manipulation, recursion, concurrency, object oriented programming as well as frequent non technical interview problems and the process to solve them.
This was an excellent book for reviewing basic programming concepts, data-structures, and algorithms. It did indeed very well prepare me for an interview with Google, along with a few other resources and practice runs.
I tried to pick up a few other algorithms or interview question books, but they all failed at delivering the same sort of thought process and walk-through of an implementation that this book did. Not only does it deliver the background information and reviews, but it goes about how to use that information to answer sample interview questions, and steps through several thought-provoking options, weighing pros and cons of each, and always approaching them from the perspective of what an interviewer would be expecting.
I'd highly recommend this book to anybody who's going to be applying for a job requiring a technical interview.
If you're just starting to practice, this is the best book for you. It doesn't have a lot of questions, but the explanations are thorough and it covers the fundamentals. Interviews have come to such a point that no book would be enough, but as a start this one is as good as it gets.
Make sure you give a genuine try to the questions and understand how authors approach the problems. Then go pick CTCI and EPI, work through them as well and hope during the interviews they don't ask "I don't want to hire you" kind of questions :)
This book is an indispensable tool in any technical job search. Since I discovered it I'm sure to review it anytime I start a job search. Even as a seasoned developer reviewing fundamentals is essential & it gets my mind in the right frame for answering whiteboard questions. After working through the problems a few times I've found a quick skim is all that's needed to reactivate the necessary synapses.
This book provided a really good review of the kind of stuff you learn while getting a computer science degree but may be a little rusty on later in life. My one complaint is that it's pretty light on the C++. Pretty much the only chapter that is C++ is the one about linked lists. The rest is C# and Java. A lot of the stuff is more focused on algorithms so it's pretty language-agnostic but it would have been nice to at least cover i.e. thread synchronization in C++.