Passing the Technical Interview: Top 10 tips for software engineers