I am now at day 16 of the 21 days. Over the past 30 years I have taught myself COBOL, FORTRAN, QBasic, Visual Basic, Access, IBM Assembly language and several different opperating system languages. Never have spent so much time learning so little. These authors don't try to build a foundation that can be expanded. They present unexplained example after unexplained example. I belive the authors have never worked in java, I belive they have only compiled books on it. This book only shows how confused the authors are on the subject. I believe that they don't have a foundation for surely if they did, they would have presented it.

I've heard that programming interviews sometimes involve wacky, off-the-wall questions ("why is a manhole cover round?"). I bought this book with the belief that it would shed some light on how to approach these kinds of questions. I was dead wrong.There are only around 10 pages on actual interview/resume advice. The bulk of the book is taken up by mini-reviews of topics ranging from the utterly basic (arrays, strings, recursion) to the utterly unlikely to be asked in a programming interview (implementing linked lists, trees, graphs).A few pages are spent on mini-reviews of topics that might be worthwhile. However, the reviews are so short and basic as to be useless. For example, 1 page on graphics programming and 2 pages on SQL. The author spends a half-page in the SQL review expounding on the following: "Lesson:If you don't indicate that you know SQL, you probably won't be asked anything about it."The only redeeming factor (and the reason for 2 stars) are the 2 chapters on mathematical puzzles and brain-teasers. Readers would be better off buying a book on brain-teasers, but the chapters do give a general idea of how to approach these problems.Overall, this book reads like a watered-down high school CS review book. The mini-reviews are useless, actual resume or inteview advice is scarse, and the brain-teasers are better covered in other books.Programmers wanting interview or resume advice would be better served by a more traditional book on interviews/resumes.

I purchased the 2nd Edition of this book, so some of my comments may no longer apply. Essentialy, I like the authors style very much, but when O'Reilly get hold of most books they manage to screw them up with typographical errors and incorrect figures etc. I tend to avoid O'Reilly books for this very reason, as I have never encountered so many errors in any books from other publishers. I don't blame the author for this, because many of the errors would not pass the eye of someone who actually knew their subject well enough. My guess is that once the author has produced his manuscript, the rest is handed over to the typesetters (i.e. low paid cheap overseas non-technical labour, just a guess) who consistently manage to ruin an otherwise good book. If you don't like lots of errors in technical books (and I mean really large bloopers, as well as more subtle ones) then avoid O'Reilly books in general, and go for a quality publisher instead. Especially true if you are a beginner.

I have purchased a lot of programming books and even a computer based training package in the last few years. None of them covered the concepts of programming as well as this book. I would highly recommend this book to anyone who is a novice programmer who wants to learn C# as well as a good foundation of programming skills.