CRACKING ��the� �· CODIINNTGE RVIEW 189P ROGRAMMINQ!JGE STION&S SOLUTIONS CRACKING the CODIINNTGE RVIEW 6TEHD ITION ALsoB YG AYLEL AAKMANMNc DowELL PM (RACKTIHNEG INTERVIEW HoTwO L ANDA PRODUCMTA NAGEJRo BI NT ECHNOLOGY CRACKTIHNTEGE CCHA REER INSIADDEVRI OCNEL ANDIANJ GO BAT GOOGLMEI,C ROSOAFPTLP,E O,R A NYT OPT ECCHO MPANY CRACKING the CODIINNTGE RVIEW 6tEhd ition 18P9r ograQmumeisntagin oSdno sl utions GAYLLEA AKMANMNC DOWELL FoundaenrdC EOC,a reerCup.com CareerLCLuCp , PalAol tCoA, CRACKINTGH EC ODINIGN TERVIESWI,XT HE DITION Copyr©i 2g0h1tb5 yC areerCup. Alrli grhetsse rNvope adro.tft hbioso mka yb er eprodiunac nefydo rbmya neyl ectorrmo enic chanmiecaanilsn ,c luidnifnogr msattoiraoanngrd ee trieval systemsi,nw rwiittihnogu t permission frotmh aeu thoorpr u bliesxhceebrpya,t r eviwehwoe rm qauyob treip eafs siangar e esv iew. PublisbhyCe adr eerLCLuCPp,a, l Alot oC,A .C ompiFlee1bd0 2,0 16. Fomro rien formcaotnitosanuc,pt p [email protected]. 978-0-9847(8I2S8B1-N35 )-7 FoDra vainsTd o bin, anadl tlht eh itnhgbasrt i unjsgo iynl ife. Introduction Introdu.c.t.io.n. . . . . . . . . . . •. .·. .• ... .• .·. .· .•. .• · 2· • · · · · · · · · · · · · · · · · · I. TheI ntervPireowc e.s.s . . . . .............. . . .·.. ..·. ·. ... ·. .·. · · · · · · · 4 Why.?. .·.. . .............................·.·.·.·4.· . ................ HoQwu estairSoeen lse .c.t.e.d. .......................6. ................. ItA'lRsle la.t i.v .e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 FrequAesnkQteuldey s t.i.o.n.s. .......................7. ................. II.B ehintdh eS cen.e.s . . . . .......... . . . . . . . . . . . . . . . .8 . . . . . . . . . . . . • . . . . . ThMei crtIo nstoef.r.v.i.e.w. ..............................9. ............ ThAem azIonnt e.r.v.i.e.w. ...,. ... ... .. . . . . . . . .1 0. . . . . . . . . . . . . . . . . . . . . . ThGeo oIglnet e.r.v.i.e.w. .......................1..0. ................. ThAep pIlnet e.r.v.i.e.w. ........................1.1. .................. ThFea ceI bnotoe.kr v.i e.w . . . . . . . . . . . . . .1 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ThPea laInnttier.r. v.i.e..w.. ........................1.3. ................ IllS.p ecSiiatlu at.i.on.s. . . . . . . . . . . . . . . . . . . . . . .1.5 . . . . . . . . . . . . . . . . . . . . . . ExperCiaenndcie.dd a .t e.s .. . . . . . . . . . . . . 1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TestaenSrdDs E .T.s. ............................1.5. ................... Prod(uacPntrd o gMraanma)g e.m.e.n.t. ...................1.6. ............. DeLve aadnM da nag.e r.s .. . . . . . . . . . . . . . 1.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Star.t u.p .s . . . . . . . . . . . . . . . . . 1.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AcquiasniAdtc iqounis.h .i.r.e.s. .....................1.9. ................ FoIrn ter.v.i.e.w.e.r.s. ........................2.1. ................... IV.B efotrheeI nterv.i.ew. . . . . . . . . . . . . . . . . . . . . . .26. . . . . . . . . . . . . . . . . . . . . . GetttihRneig gE hxtp er.i.e.n.c.e. .....................2.6. ................ WritaGi rnegRa ets u.m .e . . . . . . . . . . . . . . .2 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PrepaMraa.pt. i.o.n. ...........................3.0. ................... V. BehavioQruaels tio.n.s ...... . . . . . . . . • . . . . . . . . . .32. . . . . • . . . • . . . • . . . . . InterviewG rP.ir.de. p.a.r.a.t.i.o.n. .................3.2. ................ KnowYourTPercoh.jn.ei.cc.ta.sl. .....................3.3. ................ RespotnoBd eivhniago Qruaels .t.i.o.n.s. ..................3.4. .............. Sot,em leal b oyuotu r.s e.l f.. .. .. . . . . . . . . . . . 3.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VI.B giO ............................................3.8.. .......... AnA nal.o g.y . . . . . . . . . . . . . . . . . 3.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimCeo mpl.e.x.i.t.y. ..........................3.8. ................... SpaCcoem pl.e x.i t.y .. . . . . . . . . . . . . . .4 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DrotphC eo ns.t.a.n.t.s. .........................4.1. .................. DrotphN eo n-DoTmeirn.ma.sn. t. ......................4.2. ............... VI CractkhiCeno gd iInngt er6vtiEhed wi,t ion Introduction MultiA-lPgaorrtAi dtvdh.s mM su:l t.i.p.l.y. ..............................4 .2. . AmortTiizm.ee.d . .....................................·.. ... .. .4 3. . . . . LoNgR unti.m.e.s. .............................................4.4. .. Recursiv.e. .R.u..n.t..i.m.e.s. ...................................4.4. . ExampalnEedxs e r.c.i.s.e.s. ..................................4.5. ...... VIIT.e chniQcuaels ti.on.s. . . . . . . . . . .. ............. .. .. .. .. .. . .60. . . . . . . . Howt oP rep.a r.e . . . . . . . . . . . . . . . . .6 .0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WhaYto Nue eTdoK no.w .. . . . . . . . . . . . . . . . 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WakliTnrhgo uagP hr ob.l e.m . . . . . . . . . . . . . . 6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opti&mS iozlTeve ec hn#i1Lq:ou oefk o r .B.U.D. ...........................6...7 Opti&mS iozleTv eec hn#i2q:u( DeDo II YtYo ulr)f.s .e........................6.9. .. Opti&mS iozleTv eec hn#i3Sq:iu mep alniGdfe yn er.a.l.i.z.e. ...............7.1. .... Opti&mS iozlTeve ec hn#i4q:u CeB aeasa sneBd u .i.ld. ....................7.1. ..... Opti&mS iozleTv eec hn#i5q:u SeDt artuaBc rtauirne.s t.o .r m. . . . . . .7 2. . . . . . . . . . . . . . . . BeCsotn ceiRvuanbt(lBieCm. Re.) . .................................7..2. .... HandIlnicnogAr nrsewc.et r .s . . . . . . . . . . . . . . 7.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . WheYno uH'evaear Q ude stBieofno. r .e .. . . . . . . . . . . .7 6. . . . . . . . . . . . . . . . . . . . . . . . Teh" PerLfaencgtuf"ao Igrne t esr v.i e.w . . . . . . . . . . . 7.6 . . . . . . . . . . . . . . . . . . . . . . . . . WhaGto oCdo diLnogoL kis.k e. . . . . . . . . . . . . . .7 .7 . . . . . . . . . . . . . . . . . . . . . . . . . . . DonG'itvU ep. !. ...........................................8.1. ....... VIII. Thaen dBO effyeorn. d. . . . . . . . . . . .. .. .. .. ...............8.2. . . . . . . . . . Handlinagn RdOjee fcfte.ir o.sn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 EvalutahtOeife .nfr g. . . . . . . . . . . . . . . . . 8.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Negot.i a.t i.o n. . . . . . . . . . . . . . . . .8 .4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ont hJeo .b . . . . . . . . . . . . . . . . . . . 8.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IX.Interview Qu.e.st.i.on.s. . ..................... . . . . . . . .8.7 . . . . . . . . . . DatSat ructu.r.e.s . • . . . . .................. . . . . . . . .8.8 . . . . . . . . . . . . . . Chap1tI Ae rrr aanySdst ri.n .g s. . . . . . . . . . . . . .8 .8 . . . . . . . . . . . . . . . . . . . . . . . . . . . Hash T..a.b.l.e.s. ...............................................8.8. ... Array&RL eissti zAarbrla..ey. s. .........................................8.9. . String.B.u.i.l.d.e..r.. ...............................8.9. ............... Chap2tI Le irn Lkiesd.t .s .. . . . . . . . . . . . . . . 9.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreaatL iinnLgki. es.dt. .......................................9..2.. . ..... DeleatN iondgfre o ma S inLgilnykL ei..ds t. .....................9.3. ............. Teh" Runner"T.e.c.hn..i..q..u.e. ...................................9.3. .. RecuPrrsoibv..le.e .m.s. ..........................9.3. .................... CrackingTheCod\6i tnEhgd linttieoVrnIvI i ew.com Introduction Chapt3e Srt acaknsdQ ueue.s .. . . . . . . . . . . . . . . . . 9.6 . . . . . . . . . . . . . . . . . . . . . . . . J ImplemeanS ttio..nc.gk. ............................................9.6. .. ImplemeanQ tuien.u.ge. .....................................9.7. ......... Chapt4e Tr\r eaensdG rap.h.s. .........................................1.0 0 TypoefTs r e.e.s. .............................................1.0.0. ..... BinaTrryeT er ave.r .s a.l .. . . . . . . . . . . . . . . . . 1.0 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BinaHreya( pMsi n-HaenaMdpo sx -He.a.p.s.). ....................1.0.3. ........ Tri(ePsr Treefeis.x ) .. . . . . . . . . . . . . . . . . . . .1 .0 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grap..h.s.. ...............................................1..0 .5. ..... GraSpeha r.c.h. ..........................................1.0 .7. ........ ConcepatnsdA lgori.t.h.m.s. .............................1.1.2. ...... Chapt5e Br\iM ta nipul.a.t.i.o.n. ...................................1.1.2. . BiMta nipulBayHt ain.od n . . . . . . . . . . . . . . . . . .1 1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . BiFta catnsTd r i..c.k.s. .........................................1.1.2. .... TwoC'so mpleamneNdne tg atNiuvmeb .e.r.s. ................................1.1 3 ArithvmseL.to igciR ciagSlhh ti.. f.t. ....................�.. .... ............. 113 CommoBniTa ts kGse:t tainnSdge tt.i .n g. . . . . . . . . . . . . .1 1.4 . . . . . . . . . . . . . . . . . . . . . . Chapt6e Mr\a tahn dL ogPiucz z.l.e.s. ................................1.1.7. .. PriNmuem be.r .s . . . . . . . . . . . . . . . . . . . .1 1.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Proba.b i.l i.t .y . . . . . . . . . . . . . . . . . . .1 1.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . StaTratl k.i .n g. . . . . . . . . . . . . . . . . . . . .1 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeveRluolpae nsPd a tt.e.rn.s. ..................................1.2.1. ...... WorCsotsS eh ift.i n.g . . . . . . . . . . . . . . . . . . 1.2 .2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AlgorAiptphrmo a.c h.e .s . . . . . . . . . . . . . . . . .1 2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapt7e Or\b ject-OrDieesni.tge.nd. .............................1.2.5. ..... Howt Aop pro.a c.h .. . . . . . . . . . . . . . . . . . .1 2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DesiPgant t.e rn.s . . . . . . . . . . . . . . . . . . . . 1.2 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapt8e Rr\e curasnidoD ny namic Prog.r.a.m.m.i.n.g.. ................1.3.0. ... Howt oA ppro.a c.h .. . . . . . . . . . . . . . . . . . . 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 RecurvssIi.tv eer Saotliuvte.i .o n.s . . . . . . . . . . . . . . .3 .1 . . . . . . . . . . . . . . . . . . . . . . . . . 1 DynamPirco gram&mM ienmgo iz.o.t.i..o.n. ............................1.3.1. . Chapt9e SrIy stDeems iagnndS calab.i.l.i.t.y. ...........................1.3.7. . HandltihQneug e st.i.o.n.s. ...........................................1.3 7 DesiSgtne:p-S -tBey.p. .................................1.3.8. ............. AlgoritthhaSmtcs aS ltee:p -B.y.-.S.t.e..p.. ..............................1.3.9 KeCyo nce..p.t.s. .................................................1.4.0. V1I1 CractkhiCeno gd iInngt er6vtiEhed wi,t ion Introduction Consid.e.r.a..t.i.o.n..s. ...........................1.4.2. .............. Theinrso"e p ersfyes.ct..t.e".m. .....................................1.4.3. .. ExamPprloeb.. l.e..m. ........................................1.4.3. ..... Chapt1e0jrS ortainndSg e arc.h.i.ng. ...................................1.4.6 CommSoonr ting. A.l .g o. r.i .t h.m .s . . . . . . . . . . 1.4 6. . . . . . . . . . . . . . . . . . . . . . . . . . . SearAclhgionrg..i .t..h..m..s. •.............................1.4.9. ........ Chapt1e1IrT est.i.n.g. .............................................1.5.2 WhatthI en terIvLsio eowkFeio.rnr g. . . . . . . . . . . . . . . 1.5 2. . . . . . . . . . . . . . . . . . . . . . . . TesatR ienWagol r Olbdj. e .c t. . . . . . . . . . . . . . . . .1 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . TesatP iineogScf oe ft w.a r. e. . . . . . . . . . . . . . . . .1 5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . TesatF iunngc. t..i.o..n. ........................................1.5.5. ... TroubleQsuheoso.t.ti.io.nn.g.s. ...............................1..5..6. .... KnowledBgaes e.d. .•.............•....................1.5.8........ Chapter12ICa.n.d.C.+.+. ......................................1.5.8. . ClaasnsIden sh er.i .t a.n .c e. .. . . . . . . . . . . . . . 1.5 .8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConstarnuDdce tsotrr.s.u. c.t..o.rs. ........................1.5.9. ........... VirFtuunacl.t i. o.n .s . . . . . . . . . . . . . . . . . 1.5 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Virtual. D.e .s t. r.u .c t.o .r . . . . . . . . . . . . .1 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DefVaaull.ut e .s .. . . . . . . . . . . . . . . . . . . .1 6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OperOavteorrl .o a.d .i n. g.. . . . . . . . . . . . . . . .1 6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PoinatnReder fesr e.n .c e. s. . . . . . . . . . . . . . . . 1.6 .2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Temp.l..a.t.e.s.. ................................1..6.3. ............... Chapt1e3IrJ a.v.a. .................................................1.6 5 HotwAo p pro. a.c .h .. . . . . . . . . . . . . . . . . .1 6.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OverlvosOa.vd eirnrg..i .d.i.n..g. ........................1.6.5. ............ CollFercatmieo.wn..o ..r..k. ............................1.6.6. ............ Chapt1e4jr D atab.a.s.e.s ..........................................16.9. . SQSLy natnaVdxa ri.a..t.i.o.n..s. ........................1.6.9. ............ Denormva.sNl oirzmeadDla itzae.b.da. s..e.s. ...................1.6.9. ......... SQSLt ate.m e. n.t .s .. . . . . . . . . . . . . . . . . 1.6 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SmaDlalt aDbeass.i.e.g .n. ......................................1.7.1. .... LorDgaet aDbeass..ie.g .n. ..............................1.7.2. ............ Chpate1r5jT hreaandLdso c.k.s. ............................1.7.4 .......... TrheaiJdnas . v.a. .................................................1.7.4. SynchroannLidoz ca.ks t. i .o n. . . . . . . . . . . . . . . .1 7.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . DeadlaonDcdek asd Plroecvke. .n.t..i.o.n. ....................1.7.9. .......... CrackingTheCodiIn6 gtElhdn itteirovIniX e w.com