Software Engineering Interviews: Technical & Take-home Assignments