Chapter 9. The Programming Interview

If you're applying for a software development position, you've got a special set of skills to prepare. Yes, you'll be asked to code. No, you don't get a computer—just a whiteboard, or sometimes just a sheet of paper. Whiteboard and interviewing coding requires a special set of skills. Even the best coders can get nailed on coding questions.

A software development interview consists of about 15 minutes of discussion, which usually includes some questions about your résumé and/or offers you a chance to ask the interviewer questions. The bulk of the interview is spent on coding and algorithm questions.

Coding questions can be very quick, but will often take up the full interview time. You're not expected to be a flawless coder. Most questions are tricky enough that even the best candidates make a few mistakes.

How They Differ: Microsoft, Google, Amazon, and Apple

I can't tell you what each company will ask—after all, each interviewer basically does whatever he or she wants. However, certain companies have trends.

  • Google tends to emphasize questions on scalability more than other companies (for instance, "Design a web crawler"). Questions on bit manipulation are also quite common.

  • Amazon loves object-oriented design questions—I mean really loves, in a high-school-crush-you-just-can't-get-over sort of way. They just can't stop asking them. If you're going to interview at Amazon, make sure you study these problems. And, since Amazon is a web-based company, ...

Get The Google Résumé: How to Prepare for a Career and Land a Job at Apple, Microsoft, Google, or any Top Tech Company now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.