Solving interview questions for fun and profit!