ebook img

Cracking the Coding Interview PDF

292 Pages·1.125 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Cracking the Coding Interview

CRACKING THE C O D I N G I N T E R V I E W 150 Programming Interview Questions and Solutions GAYLE LAAKMANN Founder and CEO, CareerCup.com CareerCup, LLC Seattle, WA CRACKING THE CODING INTERVIEW, FOURTH EDITION Copyright © 2008 - 2010 by Gayle Laakmann. All rights reserved. Published by CareerCup, LLC, Seattle, WA. Version 3.21090410302210. Visit our website at: www.careercup.com. No part of this book may be used or repro- duced in any manner without written permission except in the case of brief quota- tions in critical articles or reviews. For more information, contact [email protected]. Printed in United States of America 978-1-450-59320-5 9781450593205 (ISBN 13) Behind the Scenes 7 The Microsoft Interview 8 The Amazon Interview 9 The Google Interview 10 The Apple Interview 11 The Yahoo Interview 12 Interview War Stories 13 Before the Interview 20 Resume Advice 21 Behavioral Preparation 23 Technical Preparation 25 The Interview and Beyond 28 Handling Behavioral Questions 29 Handling Technical Questions 31 Five Algorithm Approaches 34 The Offer and Beyond 37 Top Ten Mistakes Candidates Make 39 Frequently Asked Questions 41 Interview Questions 44 Data Structures 46 Chapter 1 | Arrays and Strings 47 Chapter 2 | Linked Lists 49 Chapter 3 | Stacks and Queues 51 Chapter 4 | Trees and Graphs 53 Concepts and Algorithms 56 Chapter 5 | Bit Manipulation 57 Chapter 6 | Brain Teasers 59 1 Cracking the Coding Interview Chapter 7 | Object Oriented Design 61 Chapter 8 | Recursion 63 Chapter 9 | Sorting and Searching 65 Chapter 10 | Mathematical 67 Chapter 11 | Testing 69 Chapter 12 | System Design and Memory Limits 71 Knowledge Based 74 Chapter 13 | C++ 75 Chapter 14 | Java 77 Chapter 15 | Databases 79 Chapter 16 | Low Level 81 Chapter 17 | Networking 83 Chapter 18 | Threads and Locks 85 Additional Review Problems 88 Chapter 19 | Moderate 89 Chapter 20 | Hard 91 Solutions 94 Index 301 Mock Interviews 303 About the Author 304 CareerCup com 2 Behind the Scenes For many candidates, interviewing is a bit of a black box You walk in, you get pounded with questions from a variety of interviewers, and then somehow or other you return with an of- fer or not Have you ever wondered: » How do decisions get made? » Do your interviewers talk to each other? » What does the company really care about? Well, wonder no more! CareerCup sought out interviewing experts from five top companies - Microsoft, Google, Amazon, Yahoo and Apple - to show you what really happens “behind the scenes ” These experts will walk us through a typical interview day and describe what’s taking place outside of the interviewing room, and what happens after you leave Our interviewing experts also told us what’s different about their interview process From bar raisers (Amazon) to Hiring Committees (Google), each company has its own quirks Knowing these idiosyncrasies will help you to react better to a super-tough interviewer, or to avoid being intimidated when two interviewers show up at the door (Apple!) In addition, our specialists offered insight as to what their company stresses in their inter- views While almost all software firms care about coding and algorithms, some companies focus more than others on specific aspects of the interview Whether this is because of the company’s technology or its history, now you'll know what and how to prepare So, join us as we take you behind the scenes at Microsoft, Google, Amazon, Yahoo and Ap- ple 7 Cracking the Coding Interview Behind the Scenes | The Microsoft Interview Microsoft wants smart people Geeks People who are passionate about technology You probably won’t be tested on the ins and outs of C++ APIs, but you will be expected to write code on the board In a typical interview, you'll show up at Microsoft at some time in the morning and fill out initial paper work You'll have a short interview with a recruiter where he or she will give you a sample question Your recruiter is usually there to prep you, and not to grill you on techni- cal questions Be nice to your recruiter Your recruiter can be your biggest advocate, even pushing to re-interview you if you stumbled on your first interview They can fight for you to be hired - or not! During the day, you'll do four or five interviews, often with two different teams Unlike many companies, where you meet your interviewers in a conference room, you'll meet with your Microsoft interviewers in their office This is a great time to look around and get a feel for the team culture Depending on the team, interviewers may or may not share their feedback on you with the rest of the interview Definitely Prepare: loop “Why do you want to work for Microsoft?” When you complete your interviews with a team, you might speak with In this question, Microsoft wants to see a hiring manager If so, that’s a great that you’re passionate about technology. sign! It likely means that you passed the interviews with a particular team A great answer might be, “I’ve been using It’s now down to the hiring manager’s Microsoft software as long as I can re- decision member, and I'm really impressed at how You might get a decision that day, or Microsoft manages to create a product it might be a week After one week of that is universally excellent. For example, no word from HR, send them a friendly I’ve been using Visual Studio recently to email asking for a status update learn game programming, and it’s APIs are excellent.” Note how this shows a passion for technology! What’s Unique: You'll only reach the hiring manager if you’ve done well, but if you do, that’s a great sign! CareerCup com 8 Behind the Scenes | The Amazon Interview Amazon’s recruiting process usually begins with one or two phone screens in which you in- terview with a specific team The engineer who interviews you will usually ask you to write simple code and read it aloud on the phone They will ask a broad set of questions to explore what areas of technology you’re familiar with Next, you fly to Seattle for four or five interviews with one or two teams which have selected you based on your resume and phone interviews You will have to code on a whiteboard, and some interviewers will stress other skills Interviewers are each assigned a specific area to probe and may seem very different from each other They can not see other feedback until they have submitted their own and they are discouraged from discussing it until the hiring meeting Amazon’s “bar raiser” interviewer is charged with keeping the interview bar high They at- tend special training and will interview candidates outside their group in order to balance out the group itself If one interview seems significantly harder and different, that’s most like- ly the bar raiser This person has both significant experience with interviews and veto power in the hiring decision Definitely Prepare: You will meet with your recruiter at the end of the day Amazon is a web-based company, and Once your interviewers have entered that means they care about scale. Make their feedback, they will meet to dis- sure you prepare for questions in “Large cuss it They will be the people making Scale.” You don’t need a background the hiring decision in distributed systems to answer these While Amazon’s recruiters are excellent questions. See our recommendations in at following up with candidates, occa- the System Design and Memory Limits sionally there are delays If you haven’t heard from Amazon within a week, we Chapter. recommend a friendly email Additionally, Amazon tends to ask a lot of questions about object oriented design. Check out the Object Oriented Design chapter for sample questions and suggestions. What’s Unique: The Bar Raiser, who is brought in from a different team to keep the bar high. 9 Cracking the Coding Interview Behind the Scenes | The Google Interview There are many scary stories floating around about Google interviews, but it’s mostly just that: stories The interview is not terribly different from Microsoft’s or Amazon’s However, because Google HR can be a little disorganized, we recommend being proactive in com- munication A Google engineer performs the first phone screen, so expect tough technical questions On your on-site interview, you'll interview with four to six people, one of whom will be a lunch interviewer Interviewer feedback is kept confidential from the other interviewers, so you can be assured that you enter each interview with blank slate Your lunch interviewer doesn’t submit feedback, so this is a great opportunity to ask honest questions Written feedback is submitted to a hiring committee of engineers to make a hire/no-hire recommendation Feedback is typically broken down into four categories (Analytical Ability, Coding, Experience and Communication) and you are given a score from 1 0 to 4 0 overall The hiring committee understands that you can’t be expected to excel in every interview, but if multiple people raise the same red flag (arrogance, poor coding skills, etc), that can disqualify you A hiring Definitely Prepare: committee typically wants to see one interviewer who is an “enthusiastic en- As a web-based company, Google cares dorser ” In other words, a packet with about how to design a scalable system. scores of 3 6, 3 1, 3 1 and 2 6 is better So, make sure you prepare for questions than all 3 1s Your phone screen is usu- from “System Design and Memory Limits” ally not a strong factor in the final deci- Additionally, many Google interviewers sion will ask questions involving Bit Ma- The Google hiring process can be slow nipulation, so please brush up on these If you don’t hear back within one week, politely ask your recruiter for an up- questions. date A lack of response says nothing What’s Different: about your performance Your interviewers do not make the hiring decision. Rather, they enter feedback which is passed to a hiring committee. The hiring committee recommends a decision which can be—though rarely is—rejected by Google executives. CareerCup com 10 Behind the Scenes | The Apple Interview Much like the company itself, Apple’s interview process has minimal beaucracy The inter- viewers will be looking for excellent technical skills, but a passion for the position and com- pany is also very important While it’s not a prerequisite to be a Mac user, you should at least be familiar with the system The interview process typically begins with a recruiter phone screen to get a basic sense of your skills, followed up by a series of technical phone screens with team members Once you’re invited on campus, you'll typically be greeted by the recruiter who provides an overview of the process You will then have 6-8 interviews with members of the team for which you’re interviewing, as well as key people with whom your team works You can expect a mix of 1-on-1 and 2-on-1 interviews Be ready to code on a whiteboard and make sure all of your thoughts are clearly communicated Lunch is with your potential future manager and appears more casual, but is still an interview Each interviewer is usually fo- cused on a different area and is discouraged from sharing feedback unless there’s something they want subsequent interviewers to drill into Towards the end of the day, your inter- Definitely Prepare: viewers will compare notes and if ev- If you know what team you’re interview- eryone still feels you’re a viable candi- date, you'll interview with the director ing with, make sure you read up on that and then VP of the organization you’re product. What do you like about it? What applying to While this decision is rath- would you improve? Offering specific er informal, it’s a very good sign if you recommendations can show your passion make it This decision also happens be- for the job. hind the scenes and if you don’t pass, you'll simply be escorted out of the What’s Unique: building without ever having been the wiser (until now) Apple does 2-on-1 interviews often, but If you made it to the director and VP don’t get stressed out about them - it’s interviews, all of your interviewers will the same as a 1-on-1 interview! gather in a conference room to give an Also, Apple employees are huge Apple official thumbs up or thumbs down The VP typically won’t be present, but fans. You should show this same passion can still veto the hire if they weren’t im- in your interview. pressed Your recruiter will usually fol- low up a few days later, but feel free to ping your recruiter for updates 11 Cracking the Coding Interview Behind the Scenes | The Yahoo Interview Resume Selection & Screening: While Yahoo tends to only recruit at the top 10 – 20 schools, other candidates can still get interviewed through Yahoo’s job board (or – better yet – if they can get an internal referral) If you’re one of the lucky ones selected, your interview process will start off with a phone screen Your phone screen will be with a senior employee (tech lead, manager, etc) On-Site Interview: You will typically interview with 6 – 7 people on the same team for 45 minutes each Each interviewer will have an area of focus For example, one interviewer might focus on databases, while another interviewer might focus on your understanding of computer architecture Interviews will often be composed as follows: 5 minutes: General conversation Tell me about yourself, your projects, etc 20 minutes: Coding question For example, implement merge sort 20 minutes: System design For example, design a large distributed cache These ques- tions will often focus on an area from your past experience or on something your interviewer is cur- rently working on Definitely Prepare: Decision: At the end of the day, you Yahoo, almost as a rule, asks questions will likely meet with a Program Manag- about system design, so make sure you er or someone else for a general con- prepare for that. They want to know that versation (product demos, concerns about the company, your competing you can not only write code, but that you offers, etc) Meanwhile, your interview- can design software. Don’t worry if you ers will discuss your performance and don’t have a background in this - you can attempt to come to a decision The still reason your way through it! hiring manager has the ultimate say and will weigh the positive feedback What’s Unique: against the negative Your phone interview will likely be per- If you have done well, you will often formed by someone with more influence, get a decision that day, but this is not such as a hiring manager. always the case There can be many reasons that you might not be told for Yahoo is also unusual in that it often gives several days – for example, the team a decision (if you’re hired) on the same may feel it needs to interview several other people day. Your interviewers will discuss your performance while you meet with a final interviewer. CareerCup com 12

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.