collection of programming interview questions from the book