Prepping for the Phone InterviewFor starters, never assume the pre-screen phone interview will be a breeze. It never is. Even during this initial screening, coding tests can be as rigorous as they are in the second round of coding tests, says McDowell, a former software engineer who once served on Google's hiring committee. Typically, the interviewer and you will share a document in which you are expected to do some coding. In other cases, you'll take an online multiple choice coding quiz or use an online test site like Interviewstreet. And don't think you'll be dealing with HR on the pre-screen. "Usually, it's a peer who will do the pre-screen because the information they're evaluating is very technical," McDowell says. This interview is meant to evaluate you for:
- Knowledge of computer science fundamentals, such as data structures and algorithms.
- Analytical skills.
- Coding skills.
- Cultural fit.
On to the Second InterviewThe second interview is usually with the hiring manager, members of the team you'd be working with, and frequently, a third person from an entirely different team. It's this last person you should pay especially close attention to. "You may have a team that's been short-staffed for months, so they're eager to hire anyone. This [neutral third-party team member] is a bar raiser. Their questions may not be harder, but their standards are higher," says McDowell. Usually, she adds, the bar raiser asks harder questions.
5 Winning StepsWhen faced with a whiteboard test, McDowell advises taking these critical steps:
- Ask questions. You want to make sure you understand what you're being asked to solve.
- Talk out loud as you solve the problem. The interviewer wants to know how you think and problem solve. If you remain quiet, it's harder to ascertain that.
- Openly discuss the trade offs in your algorithm decisions. Acknowledging the weak links in your approach demonstrates that you're aware where potential trouble spots may arise, and offers up why you were willing to make your trade-offs.
- Write code. Although you can sketch out pseudo code for an outline, you need to inform interviewers that's what you're doing so they don't assume it's your final version. After writing pseudo code, you'll need to hunker down and write the actual code.
- Test your code. Interviewers expect to see bugs, so don't be shy about fixing them. What they're looking for is how you fix the bugs. If each interviewer notices a pattern where you take a band-aid approach that's likely to introduce other problems, don't expect to be hired.
Here's a close-up of McDowell's coding on the whiteboard: