Interview Puzzles Dissected: Solving and Understanding Interview Puzzles