Deliver to Cyprus
IFor best experience Get the App
Elements of Programming Interviews: The Insiders' Guide
P**Z
GETTING THE DREAM JOB... Comparing the Top 4 IT Interview Books
I worked with the data science association on their new standards for "Data Scientist" interviews (entry salary of $125,000), and both real questions and after interview polls were included for the biggest names in data today, from the web to corporate and government IT. "Data Scientist" is one of the hottest new jobs out there today, and some companies are even forming CDSO jobs--Chief Data Science Officer!To begin, ALL FOUR of the books in this review are 5 star "superstars" for IT interviews. The two problems are, my library customers want to know the top two, and our Amazon shoppers want to know if they can get away with one, two, three, or if they have to buy all four! Of course the answer depends both on the focus of your resume, and the overlap/focus in the four books.First, the summary, by author, title/Amazon link, year published/edition, number of pages, trim and cost, problems included, main language(s) foci. These four are the most frequently purchased by the over 100,000 libraries (including corporate technical libraries and schools as well as private and public) in our database. (Note: page counts are via visual inspection at the time of this writing, not Amazon stats. Pages can vary with on-demand books.).Aziz, Elements of Programming Interviews: 300 Questions and Solutions by Aziz, Adnan, Prakash, Amit, Lee, Tsung-Hsien 1st (first) Edition (10/11/2012), 2012, 481 pages, 6 x 9, $25, 300 problems (mostly C++, concurrency in Java, discrete math in formulas and English)McDowell, Cracking the Coding Interview: 150 Programming Questions and Solutions, 2011 (5th edition), 500 pages, 6 x 9, $23, 150 problems, (mostly all Java except of course the C, C++ question sections!)Guiness, Ace the Programming Interview: 160 Questions and Answers for Success, 2013, 419 pages, 6 x 9, $20, 160 problems, (mostly Java and C# but some unusual JavaScript, SQL, Ruby and Perl examples too)Mongan, Programming Interviews Exposed: Secrets to Landing Your Next Job, 2013 (ed. 3), 301 pages, 7.4 x 9, $18, 150+ problems (C, C++, C#, Java)All four of these fine prep texts cover the usual suspects in Algorithms and Data structures, including a focus on "scalable" problems of most concern to the Amazons, Googles, Facebooks, etc. of the world. These include recursion, arrays, lists, hash tables, binary searches and trees, and other foundation coding subjects.All also cover the usual tricks, brain teasers, presentation problems, prep, process, etc. issues, and in the case of Cracking, specifics on many different company processes.The divergence is in the "extras." Aziz jumps into parallel computing and covers discrete math (in grad school joke terms, all the computer oriented math that has been taken out of high school courses). McDowell has an unusually well written probability section. Guiness is very up to date with cross platform apps and concurrent programming nightmares, and goes into both more depth and detail on individual topics like big O notation. Mongan is published by wrox, and has not only technical editors, but outstanding web resources. His database section is the most robust of the group.Aziz and McDowell are print on demand, which usually means there are many more errors in early going, but much faster correction of them via almost weekly files to the printer. Guiness is Wiley and bulletproof. We've tested the code extensively in all four (my payroy sister programmers, not me!) and ALL of them are outstanding, with very few errors at this writing, which can only get better fast in the two PODs, and wasn't a problem to begin with via the technically edited wrox and wiley teams.Surprisingly, there is NOT a lot of overlap in solutions in these four texts, just as there IS a lot of overlap in the questions (strings, arrays, binaries, hashes... structures are structures and algos are algos). The difference in ALL these books (as opposed to a Cormen) is that the algorithm examples are not academic--they give you many options to "cheat" - and most of the cheats are more real world than techniques given in the 1,300 page algo function texts.McDowell is the industry standard, but she teaches very much to Google, as does Aziz, meaning web focus, and even a little forgiveness on php, but NO forgiveness on memory or scalability. If you're a library client and have to pick two, we advise one from the McDowell/ Aziz dyad and one from the Guiness/ Mongan dyad. If you're applying for a job with a specific language requirement, these self sort, although of course all are object oriented today.For shoppers preparing for a real interview: buy all four. I mean, come on. This is your future! You can get all four for the price you'd pay for a larger (way less useful) algo + data structure or individual language text, and maybe less. Some points about interview technique are common, but all four offer different and important examples in approaches to solutions, even though they share common algorithmic and data structure challenges.IRONY: The only programming area growing faster than data scientist today is at the other end of the big scale spectrum: embedded systems. I kid you not, specialize in embedded, and you're GUARANTEED a dream job, both due to the explosion of these systems, and the rarity of programmers here (but yes, you have to get into circuits!). Our sister Payroy group shows job stats, demand and salaries that are to die for if you go there-- way better than Google. NONE of these books cover it (because other than mobile and server embeds, embedded was traditionally automotive and industrial, but even "Google and Microsoft TV" type ventures are now hungering for it).There is NO good interview book out on embedded yet, but these two are the best of breed in the field itself: 1. Samek (Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems) and 2. White (Making Embedded Systems: Design Patterns for Great Software). Why C and C++? Because that's where the majority of electronics still reside, and "object" programmers in the field often just use the C subset of ++ and don't really get into sexy classes/methods/parents/kids, etc.! 6 months brushing up on this, specializing, and going for an embedded job will be worth years of competing with the interviews in these texts!!!Now, a simple tip. I was part of a team that interviewed for a high level, very high paying digital art programming position at shader joes dot com. One candidate stood out as really technically challenged--she even confused a call with a register in one of her answers! She called herself an "autodidact" - meaning, unlike Yahoo, we can't be recruiting only from the 18 top schools.At the end of her interview, she asked us to check out a disc she'd brought. She had programmed her own video game with movie-real characters, explosions, storyline, etc. using Unity, Maya, blastcode, Python, Lua and C#, with web distributions in Java, HTML 5 and php. She proceeded to explain her entire process, from idea to distribution. She was hired before she could reach the elevator. In olden-days, old timer parlance, don't forget your "portfolio" if you have one! It can trump a LOT of the bureaucratic hurdles!EMAILERS ANSWER: IF you are a manager, rusty at coding, a data scientist, etc. and are in an interview where you have to "understand" coding basics, but not necessarily code, see our review of Karumanchi (Coding Interview Questions).Library Picks reviews only for the benefit of Amazon shoppers and has nothing to do with Amazon, the authors, manufacturers or publishers of the items we review. We always buy the items we review for the sake of objectivity, and although we search for gems, are not shy about trashing an item if it's a waste of time or money for Amazon shoppers. If the reviewer identifies herself, her job or her field, it is only as a point of reference to help you gauge the background and any biases.
R**K
Exhaustive coverage
Updated reviewMy old review was based on version 1.1 of this book. I am writing an updated review based on version 1.4 and keeping the old review for historical purposes.What I liked in version 1.4 over version 1.1:* 1.4 is better organized with Table Of Contents listing all the questions.* Interview preparation strategies is moved to the front of the book.* There is a section for hints. This is useful as it gives an incentive to think more before looking at the answer.* Java source code for solutions available online for those who prefer Java over C++. (The code is organized and can be found at book's site)* Array and Strings are broken down into 2 chapters and adds to better organization.What this book provides:This book provides an exhaustive question bank covering different types of question which could be potentially asked in an interview. This is what differentiates this book from other programming interview books. More questions we practice, more better we get at recognizing patterns in problems and in selecting the optimal data structure and algorithmic approach.Interview tips and strategies provided in this book are also very useful. A game plan is given with which all problems to practice for certain scenarios starting from 3 day hackathon to 4 month term project. In my personal opinion, 4 month term project would be the best use of this book especially when it's been a while since you interviewed and are problem solving skills are a bit rusty. So start preparing early :)Also there are some difficult problems called 'Ninja problems' which wouldn't be usually asked in interviews as it'd take more time to solve but would be a good practice for online programming challenges. I've seen some companies especially startups taking that route to screen candidates.What this book does not provide:This book does not aim to give step by step explanation for solutions. Some other programming interview books like the classic Programming Interviews Exposed: Secrets to Landing Your Next Job provides more detailed explanations for the solutions. But that is not the problem this book tries to solve in the first place. I am not saying not providing detailed explanations for solution is a con but just saying that this book does not intend to do that nor does it intend to be substitute for an algorithms textbook. if you are really rusty, read the PIE book first and this come to this and you'll find this book more valuable. Diving straight into this book when being rusty would be a bit overwhelming.Cons:Though this book was largely useful, I did find one thing a little annoying. Reading the solutions sometimes made me wonder if they were trying to play code golf while writing the solutions. I don't remember the exact question numbers but for many questions I felt brevity took precedence to clarity. Doing many stuff in a single line of code by chaining statements is 'cool' but a bit frustrating when we are trying to understand a solution in a time crunch.I would have given this book 4.5/5 for this but I'm giving this book 5/5 since Amazon does not allow fractional rating. And maybe I'll add in the 0.5 for the authors who were took the feedback from my previous review seriously and were responsive to my communications. :)Bottom line:Most exhaustive question collection. Great strategies and game plan section. Very useful interview prep book.____________________________________________________________________________________________________________________________________Old reviewThis book should be named Elements of "C++ 11" Interviews. The questions are great(+1 star) but the solutions are specific to C++ 11. Any book which claims to be about algorithms should try to be multi-lingual or language agnostic so as to cater to a larger audience. C++ is not my first language and that doesn't mean I don't know to program. The authors seem to make an assumption that C++ == programming. I found Java source code in the author's Github but that was unorganized. Would have been better if the code was organized chapter wise. I will have to search through the whole dump of source code for what I want.As others have commented, unnecessarily the book is math heavy at times. Seems to be aimed at new grads from MIT or Stanford and not for the common programmer(Oh well, if they are from MIT why do they need this book anyways).-4 stars for this.The chapters on 'Getting Ready' and 'Strategies for a Great Interview' are useful. +1 star for this.In total 3 starts.Keep away from this book unless you are a C++ 11 expert.
Trustpilot
2 months ago
2 weeks ago