Advanced programming interview questions and answers