Technical interviews: OOD and design patterns