Congrats for coming up with this book.I read your sample chapter and am pretty impressed. Sorry I should have done more homework before asking you following Q's:
1> I agree 95 puzzles with lots of brain teasers,tips,tricks,solutions, and informative appendix is handy for Java programmers & developers out there. But who exactly is your target audience?
2> Lets say I'm a developer with 3 years of experience in J2SE programming. How can I derive maximum benefits out of this book? Ofcourse utilizing a book depends on a consumer but i'm interested in author(s) views
3> More often than not Puzzles are used in Interviews as ice-breakers or to screen candidates. Do you guys feel your book can be used to this kind of purposes if so I feel its a wonderful resource for interviewers and interviewees alike
4> Finally can you share some tips on how went about constructing/ unearthing these puzzles?
TIA [ August 10, 2005: Message edited by: Ravi Sathish ]
Our target audience is experienced Java programmers who want to improve their skill at avoiding some of the traps that make for the most puzzling and time-consuming bugs in their programs. The best way to use the book is with a computer in front of you. Read the problem and try to figure out what the program is supposed to do. When you think you have the answer, try it (we provide a zip file of the programs on the book's web site). Then, try to figure out why the program didn't (or, if you're really good, did) behave the way you predicted. Finally, turn the page for a thorough explanation of the problem, and how to avoid it in your own programs.
Many of the puzzles in the book are too difficult to give as an interview question, or test the person's knowledge of some corner case that might not be good evidence of a programmer's qualifications. But they certainly do make good icebreakers!
Many of the puzzles came from bug reports against the J2SE platform: the language, compiler, or libraries. Specifically, we looked for genuine-looking bugs that turned out not to be bugs at all, but due to some obscure or poorly-understood aspect of the platform.