design pattern interview questions