ebook img

Cracking the Coding Interview - 150 Programming Interview Questions and Solutions 4e Small PDF

310 Pages·2011·1.36 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 - 150 Programming Interview Questions and Solutions 4e Small

FOURTH CRACKING THE EDITION G (cid:40)(cid:66)(cid:90)(cid:77)(cid:70)(cid:1) (cid:45)(cid:66)(cid:66)(cid:76)(cid:78)(cid:66)(cid:79)(cid:79) founded CareerCup.com in CA C O D I N G 2005 to provide technical interview coaching AY RL for software engineers. As a Software Engineer EE at Microsoft, Apple and Google, she interviewed ER L over one hundred and twenty applicants in CA three countries. UA PK I N T E R V I E W She holds Bachelor’s and Master’s degrees in .CM OA Computer Science from the University of Penn- MN sylvania. N Now in the 4th edition, Cracking the Coding Interview gives you the interview prepara- C 150 programming interview questions and solutions tion you need to get the top software developer jobs. This book provides: R Plus: A (cid:116)(cid:1) (cid:18)(cid:22)(cid:17)(cid:1)(cid:49)(cid:83)(cid:80)(cid:72)(cid:83)(cid:66)(cid:78)(cid:78)(cid:74)(cid:79)(cid:72)(cid:1)(cid:42)(cid:79)(cid:85)(cid:70)(cid:83)(cid:87)(cid:74)(cid:70)(cid:88)(cid:1)(cid:50)(cid:86)(cid:70)(cid:84)(cid:85)(cid:74)(cid:80)(cid:79)(cid:84)(cid:1)(cid:66)(cid:79)(cid:69)(cid:1)(cid:52)(cid:80)(cid:77)(cid:86)(cid:85)(cid:74)(cid:80)(cid:79)(cid:84)(cid:1) C (cid:116)(cid:1) Five proven approaches to solving tough algorithm questions From binary trees to binary search, this list of 150 questions includes the most K (cid:116)(cid:1) Ten mistakes candidates make -- and how to avoid them common and most useful questions in data structures, algorithms, and knowledge I N based questions. (cid:116)(cid:1) Steps to prepare for behavioral and technical questions G (cid:116)(cid:1) Interviewer war stories: a view from the interviewer’s side (cid:116)(cid:1) (cid:39)(cid:74)(cid:87)(cid:70)(cid:1)(cid:49)(cid:83)(cid:80)(cid:87)(cid:70)(cid:79)(cid:1)(cid:34)(cid:81)(cid:81)(cid:83)(cid:80)(cid:66)(cid:68)(cid:73)(cid:70)(cid:84)(cid:1)(cid:85)(cid:80)(cid:1)(cid:52)(cid:80)(cid:77)(cid:87)(cid:74)(cid:79)(cid:72)(cid:1)(cid:53)(cid:80)(cid:86)(cid:72)(cid:73)(cid:1)(cid:34)(cid:77)(cid:72)(cid:80)(cid:83)(cid:74)(cid:85)(cid:73)(cid:78)(cid:1)(cid:50)(cid:86)(cid:70)(cid:84)(cid:85)(cid:74)(cid:80)(cid:79)(cid:84) T Using these fi ve approaches to solving algorithm questions, you can conquer H tough interview questions and impress your interviewer. E C (cid:116)(cid:1) (cid:53)(cid:70)(cid:79)(cid:1)(cid:46)(cid:74)(cid:84)(cid:85)(cid:66)(cid:76)(cid:70)(cid:84)(cid:1)(cid:36)(cid:66)(cid:79)(cid:69)(cid:74)(cid:69)(cid:66)(cid:85)(cid:70)(cid:84)(cid:1)(cid:46)(cid:66)(cid:76)(cid:70)(cid:1)(cid:14)(cid:14)(cid:1)(cid:34)(cid:79)(cid:69)(cid:1)(cid:41)(cid:80)(cid:88)(cid:1)(cid:85)(cid:80)(cid:1)(cid:34)(cid:87)(cid:80)(cid:74)(cid:69)(cid:1)(cid:53)(cid:73)(cid:70)(cid:78) O Don’t lose your dream job by making these common mistakes. Learn what many D candidates do wrong, and how to avoid these issues. I N (cid:116)(cid:1) (cid:52)(cid:85)(cid:70)(cid:81)(cid:84)(cid:1)(cid:85)(cid:80)(cid:1)(cid:49)(cid:83)(cid:70)(cid:81)(cid:66)(cid:83)(cid:70)(cid:1)(cid:71)(cid:80)(cid:83)(cid:1)(cid:35)(cid:70)(cid:73)(cid:66)(cid:87)(cid:74)(cid:80)(cid:83)(cid:66)(cid:77)(cid:1)(cid:66)(cid:79)(cid:69)(cid:1)(cid:53)(cid:70)(cid:68)(cid:73)(cid:79)(cid:74)(cid:68)(cid:66)(cid:77)(cid:1)(cid:50)(cid:86)(cid:70)(cid:84)(cid:85)(cid:74)(cid:80)(cid:79)(cid:84) G Stop meandering through an endless set of questions, while missing some of the I most important preparation techniques. Follow these steps to more thoroughly N prepare in less time. T E R (cid:116)(cid:1) (cid:42)(cid:79)(cid:85)(cid:70)(cid:83)(cid:87)(cid:74)(cid:70)(cid:88)(cid:1)(cid:56)(cid:66)(cid:83)(cid:1)(cid:52)(cid:85)(cid:80)(cid:83)(cid:74)(cid:70)(cid:84)(cid:27)(cid:1)(cid:34)(cid:1)(cid:55)(cid:74)(cid:70)(cid:88)(cid:1)(cid:71)(cid:83)(cid:80)(cid:78)(cid:1)(cid:85)(cid:73)(cid:70)(cid:1)(cid:42)(cid:79)(cid:85)(cid:70)(cid:83)(cid:87)(cid:74)(cid:70)(cid:88)(cid:70)(cid:83)(cid:8)(cid:84)(cid:1)(cid:52)(cid:74)(cid:69)(cid:70) V Humorous but instructive stories from our interviewers show you how some can- I E didates really fl opped on the most important question - and how you can avoid W doing the same. GAYLE LAAKMANN Founder and CEO, CareerCup.com 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) (cid:53)(cid:66)(cid:67)(cid:77)(cid:70)(cid:1)(cid:80)(cid:71)(cid:1)(cid:36)(cid:80)(cid:79)(cid:85)(cid:70)(cid:79)(cid:85)(cid:84) (cid:39)(cid:80)(cid:83)(cid:70)(cid:88)(cid:80)(cid:83)(cid:69)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)4 (cid:42)(cid:79)(cid:85)(cid:83)(cid:80)(cid:69)(cid:86)(cid:68)(cid:85)(cid:74)(cid:80)(cid:79)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)5 (cid:35)(cid:70)(cid:73)(cid:74)(cid:79)(cid:69)(cid:1)(cid:85)(cid:73)(cid:70)(cid:1)(cid:52)(cid:68)(cid:70)(cid:79)(cid:70)(cid:84)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)7 The Microsoft Interview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 The Amazon Interview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 The Google Interview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 The Apple Interview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 The Yahoo Interview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 (cid:42)(cid:79)(cid:85)(cid:70)(cid:83)(cid:87)(cid:74)(cid:70)(cid:88)(cid:1)(cid:56)(cid:66)(cid:83)(cid:1)(cid:52)(cid:85)(cid:80)(cid:83)(cid:74)(cid:70)(cid:84)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)13 (cid:35)(cid:70)(cid:71)(cid:80)(cid:83)(cid:70)(cid:1)(cid:85)(cid:73)(cid:70)(cid:1)(cid:42)(cid:79)(cid:85)(cid:70)(cid:83)(cid:87)(cid:74)(cid:70)(cid:88)(cid:1)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)20 Resume Advice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Behavioral Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Technical Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 (cid:53)(cid:73)(cid:70)(cid:1)(cid:42)(cid:79)(cid:85)(cid:70)(cid:83)(cid:87)(cid:74)(cid:70)(cid:88)(cid:1)(cid:66)(cid:79)(cid:69)(cid:1)(cid:35)(cid:70)(cid:90)(cid:80)(cid:79)(cid:69)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)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 (cid:42)(cid:79)(cid:85)(cid:70)(cid:83)(cid:87)(cid:74)(cid:70)(cid:88)(cid:1)(cid:50)(cid:86)(cid:70)(cid:84)(cid:85)(cid:74)(cid:80)(cid:79)(cid:84)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)44 (cid:37)(cid:66)(cid:85)(cid:66)(cid:1)(cid:52)(cid:85)(cid:83)(cid:86)(cid:68)(cid:85)(cid:86)(cid:83)(cid:70)(cid:84)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)46 Chapter 1 | Arrays and Strings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 Chapter 2 | Linked Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 Chapter 3 | Stacks and Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 Chapter 4 | Trees and Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 (cid:36)(cid:80)(cid:79)(cid:68)(cid:70)(cid:81)(cid:85)(cid:84)(cid:1)(cid:66)(cid:79)(cid:69)(cid:1)(cid:34)(cid:77)(cid:72)(cid:80)(cid:83)(cid:74)(cid:85)(cid:73)(cid:78)(cid:84)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)56 Chapter 5 | Bit Manipulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 Chapter 6 | Brain Teasers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 1 Cracking the Coding Interview (cid:53)(cid:66)(cid:67)(cid:77)(cid:70)(cid:1)(cid:80)(cid:71)(cid:1)(cid:36)(cid:80)(cid:79)(cid:85)(cid:70)(cid:79)(cid:85)(cid:84) 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 (cid:44)(cid:79)(cid:80)(cid:88)(cid:77)(cid:70)(cid:69)(cid:72)(cid:70)(cid:1)(cid:35)(cid:66)(cid:84)(cid:70)(cid:69)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)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 (cid:34)(cid:69)(cid:69)(cid:74)(cid:85)(cid:74)(cid:80)(cid:79)(cid:66)(cid:77)(cid:1)(cid:51)(cid:70)(cid:87)(cid:74)(cid:70)(cid:88)(cid:1)(cid:49)(cid:83)(cid:80)(cid:67)(cid:77)(cid:70)(cid:78)(cid:84)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)88 Chapter 19 | Moderate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89 Chapter 20 | Hard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91 (cid:52)(cid:80)(cid:77)(cid:86)(cid:85)(cid:74)(cid:80)(cid:79)(cid:84)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)94 (cid:42)(cid:79)(cid:69)(cid:70)(cid:89)(cid:1)(cid:1)(cid:15)(cid:1)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)301 (cid:46)(cid:80)(cid:68)(cid:76)(cid:1)(cid:42)(cid:79)(cid:85)(cid:70)(cid:83)(cid:87)(cid:74)(cid:70)(cid:88)(cid:84)(cid:1)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)303 (cid:34)(cid:67)(cid:80)(cid:86)(cid:85)(cid:1)(cid:85)(cid:73)(cid:70)(cid:1)(cid:34)(cid:86)(cid:85)(cid:73)(cid:80)(cid:83)(cid:1)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)(cid:15)(cid:1)304 CareerCup.com 2 (cid:39)(cid:80)(cid:83)(cid:70)(cid:88)(cid:80)(cid:83)(cid:69) Dear Readers, Welcome to the 4th edition of Cracking the Coding Interview. This volume updates the 3rd edition with new content and refreshed information. Be sure to check out our website, www. careercup.com, to connect with other candidates and to discover new resources. For those of you new to technical interviews, the process can seem overwhelming. Inter- viewers throw questions at you, expect you to whip up brilliant algorithms on the spot, and then ask you to write beautiful code on a whiteboard. Luckily, everyone else is in the same boat, and you’re already working hard to prepare. Good job! As you get ready for your interviews, consider these suggestions: »(cid:1) (cid:56)(cid:83)(cid:74)(cid:85)(cid:70)(cid:1)(cid:36)(cid:80)(cid:69)(cid:70)(cid:1)(cid:80)(cid:79)(cid:1)(cid:49)(cid:66)(cid:81)(cid:70)(cid:83)(cid:27)(cid:1)Most interviewers won’t give you a computer and will instead expect you to write code on a whiteboard or on paper. To simulate this environment, try answering interview problems by writing code on paper first, and then typing them into a computer as-is. Whiteboard / paper coding is a special skill, which can be mastered with constant practice. »(cid:1) (cid:44)(cid:79)(cid:80)(cid:88)(cid:1)(cid:58)(cid:80)(cid:86)(cid:83)(cid:1)(cid:51)(cid:70)(cid:84)(cid:86)(cid:78)(cid:70)(cid:27)(cid:1)While technical skills are extremely important, that’s no reason to neglect your own resume. Make sure to prepare yourself to give a quick summary of any project or job you were involved with, and to discuss the hardest and most interesting problems you encountered along the day. »(cid:1) (cid:37)(cid:80)(cid:79)(cid:8)(cid:85)(cid:1)(cid:46)(cid:70)(cid:78)(cid:80)(cid:83)(cid:74)(cid:91)(cid:70)(cid:1)(cid:52)(cid:80)(cid:77)(cid:86)(cid:85)(cid:74)(cid:80)(cid:79)(cid:84)(cid:27)(cid:1)While this book offers a representative sample of interview questions, there are still thousands of interview questions out there. Memorizing solu- tions is not a great use of your time. Rather, use this book to explore approaches to problems, to learn new concepts, and to practice your skills. »(cid:1) (cid:53)(cid:66)(cid:77)(cid:76)(cid:1)(cid:48)(cid:86)(cid:85)(cid:1)(cid:45)(cid:80)(cid:86)(cid:69)(cid:27)(cid:1)Interviewers want to understand how you think and approach prob- lems, so talk out loud while you’re solving problems. Let the interviewer see how you’re tackling the problem, and they just might guide you as well. (cid:34)(cid:79)(cid:69)(cid:1)(cid:83)(cid:70)(cid:78)(cid:70)(cid:78)(cid:67)(cid:70)(cid:83)(cid:1)(cid:14)(cid:14)(cid:1)(cid:74)(cid:79)(cid:85)(cid:70)(cid:83)(cid:87)(cid:74)(cid:70)(cid:88)(cid:84)(cid:1)(cid:66)(cid:83)(cid:70)(cid:1)(cid:73)(cid:66)(cid:83)(cid:69)(cid:2)(cid:1)(cid:1)In my years of interviewing at Google, I saw some interviewers ask “easy” questions while others ask harder questions. But you know what? Getting the easy questions doesn’t make it any easier to get the offer. Receiving an offer is not about solving questions flawlessly (very few candidates do!), but rather, it is about answering questions better than other candidates. So don’t stress out when you get a tricky question - everyone else probably thought it was hard too! 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! Study hard, practice, and good luck! Gayle Laakmann CareerCup.com 4

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.