CRACKING THE
CODING
INTERVIEW
Also by Gayle Laakmann McDowell
The Google Resume
How to Prepare for a Career and Land a Job at Apple, Microsoft, Google, or any Top Tech Company
CRACKING THE
CODING
INTERVIEW
GAYLE LAAKMANN MCDOWELL
Founder and CEO, CareerCup. com
CareerCup, LLC Palo Alto, CA
CRACKING THE CODING INTERVIEW, FIFTH EDITION
Copyright © 2008 - 2013 by Gayle Laakmann McDowell.
All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means, including information storage and retrieval systems, without permission in writing from the author or publisher, except by a reviewer who may quote brief passages in a review.
Published by CareerCup, LLC, Palo Alto, CA. Version 5. 01390210100131.
No part of this book may be used or reproduced in any manner without written permission except in the case of brief quotations in critical articles or reviews.
978-0984782802 (ISBN 13)
Foreword
Dear Reader,
Let's get the introductions out of the way.
I am not a recruiter. I am a software engineer. And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot, and then write flawless code on a whiteboard. I know because I've been asked to do the same thing—in interviews at Google, Microsoft, Apple, and Amazon, among other companies.
I also know because I've been on the other side of the table, asking candidates to do this. I've combed through stacks of resumes to find the engineers who I thought might be able to actually pass these interviews. And I've debated in Google's Hiring Committee whether or not a candidate did well enough to merit an offer. I understand and have experienced the full hiring circle.
And you, reader, are probably preparing for an interview, perhaps tomorrow, next week, or next year. You likely have or are working towards a Computer Science or related degree. I am not here to re-teach you the basics of what a binary search tree is, or how to traverse a linked list. You already know such things, and if not, there are plenty of other resources to learn them.
I am here to help you take your understanding of Computer Science fundamentals to the next level, to learn how to apply those fundamentals to crack the coding interview.
I'm excited for you and for the skills you are going to develop. Thorough preparation will give you a wide range of technical and communication skills. It will be well-worth it no matter where the effort takes you!