A Walkthrough for Software Engineering Interviews

Part 2: The Phone Screen


Note. This article is the second installment in a three-part series on software engineering interviews. Read part 1 to understand the anatomy of a technical interview before continuing.

If you’re reading this article, you’re interested in interviewing at a tech company and are familiar with how a technical question will be presented. The first test for most tech companies is to do 1-2 phone screens with engineers to test your aptitude in software engineering and your fit with a company’s culture. This is a roadmap for how phone screens work and how you should prepare for them.

The layout of the interview

Logistics

The remote interview is usually conducted over phone or video chat (Skype, Google+ hangout, etc). In addition, the interviewer will often send you a link to a collaborative editor (e.g., Hackpad, Stypi, collabedit, Google Docs) where both parties can see and type.

The Intro

  • The interviewer will call and confirm that you are indeed the person scheduled to interview.
  • The interviewer will introduce him/herself and give a quick background about his/her relationship with the company (e.g., engineer at Facebook for 2 years on the photos team).
  • The interviewer might go over your resume and ask about a few projects you’ve done or classes you’ve taken.

The Challenge

The interviewer will give you one to three questions (enough to fill 30-60 minutes). Read part 1 of this series to learn how to approach technical challenges.

The Wrap-up and Q&A

At the end, the interviewer will leave about 5-10 minutes for you to ask questions and gain perspective on the company through an employee’s eyes.


What to do a week before the interview

Update your resume.

If you have anything to change or add, do so and email a new copy to your recruiter. Know it inside out. Your interviewer can rightfully ask about more details for anything on it.


What to do 20 minutes before the interview

Gather essential items.

I keep the following things nearby:

  • Phone and charger. This is (unsurprisingly) required for phone interviews.
  • Headphones (ideally with a microphone). This frees up my hands during the interview.
  • Laptop and charger. This is required for Skype interviews but very useful for reference during phone interviews.
  • Paper and pencil. Sometimes it’s easier to sketch out a solution for yourself.
  • Water. Talking on the phone for a while can make your mouth dry.
  • Resume (hard or soft copy). If the interviewer goes through it, you can keep up.

Find a quiet space.

Distractions are not welcome in an interview. Find a quiet room with a table where you can place your essential items comfortably (e.g., your own room or a library study room). This will help you focus during your interview.

Set up your hardware.

Everyone does it differently, but there are a few common principles to keep in mind in this process:

  • Optimize your screen for efficiency. For instance, I split my screen so that the left half has a browser window and the right side is split between a terminal and a text editor.
  • Plug everything in. Battery life should not be a worry when you’re interviewing.
  • Phone interviews are open-book. Use this to your advantage! Because I usually interview in Python, I keep the Python built-in functions page on my browser for reference.
  • Use the terminal as a sandbox. You can test commands locally during the interview if you’re unsure about how they work.
  • Use the text editor to take notes. Keep track of important things like the interviewer’s name, position at the company, and things you want to follow up on in the wrap-up and Q&A. This allows for fewer open applications and will help you focus on the task at hand.

Relax.

Get comfortable, take a deep breath, smile, and maintain good posture. These will shine through in your voice during the interview!


What to do during the interview

Take notes on what the interviewer says.

You can do this before and after the coding portion of the interview. This is where the text editor comes in and will be useful for asking questions!


What to do after the interview

Keep a copy of your code.

I do this to review before other interviews.

Send thank you notes.

Echo out to your interviewer and/or your recruiter. A short, two-line email is a nice touch that is an added bonus from the perspective of your employer.

Move on.

Even if you think you did horribly, there is a chance that the interviewer liked your problem-solving approach. On the other hand, you might think that you rocked an interview only to find out later you were rejected. Either way, it’s important to take interviews as a learning experience so you can learn quickly from them.


Special thanks to Waseem Ahmad, Nathan Alison, Satej Soman, and Toshi Noguchi for feedback on early versions of this series.

Have any thoughts on software engineering phone screens? Tell me!