Uanset om du har programmeret, siden dine pyjamas havde fødderne på dem, eller hvis du vender ned ad tønden på din første post-school jobjagt, kan den tekniske samtale være en skræmmende forhindring mellem dig og dit drømmejob.
Men frygt ikke - bare klar til at vise dine evner. Nedenfor finder du nogle tip, der er nyttige til at prøve enhver teknisk samtale.
Før interviewet
Få en bog
Begynd med at forberede dig så tidligt som muligt inden dit interview (skønt jeg kun har haft to dage). Arbejde gennem en prep bog vil ikke kun opdatere dine algoritmer og datastrukturer viden, men det vil også sætte dig i den rigtige problemløsende tankegang.
Vigtigst er det, at du vælger den rigtige forberedelsesbog til dit niveau og dine interesser. At knække kodningsintervjuet er en stor ressource, men hvis du ikke allerede er en rimelig erfaren programmør, kompenserer det ikke for oplevelsen. Hvis du lige er startet, er der andre bøger, du får mere kilometertal ud af, som f.eks. Programmering af interviews udsat: hemmeligheder for at lande dit næste job . Og der er masser af mere specialiserede og avancerede bøger til dem med mere erfaring.
Øvelse gør mester
Få ting slår panik som praksis gør, så start whiteboarding, når du kan, selv rigtig små problemer. Kodning af interviewbøger tilbyder næsten uendelige prøveproblemer, men du kan også bruge problemer, du allerede arbejder på. Stil problemet for dig selv (eller bede en teknisk tilbøjelig ven om at udgøre det for dig for et mere realistisk opsætning), kortlæg din strategi, og sæt markøren til tør sletningstavle. Jo mere komfortabel du er med at markere det tomme bord derhjemme, desto mindre tøvende vil du være ved interviewet.
Hvis du har kort tid og vil hurtigt komme over rystelserne, kan du tilføje et pres, der ikke vil være der i selve interviewet. Hvis du giver dig selv en tidsbegrænsning eller har nogen, du respekterer, der spiller rollen som din interviewer, vil den virkelige aftale føles som et stykke kage.
Overbelast ikke dig selv
Når du planlægger interviews, skal du sørge for at forlade mindst et par timer mellem hinanden. Dette lyder som et første verdens problem, men når som helst jeg havde flere interviews på en dag, optrådte jeg ikke så godt, som jeg kunne have. Jeg var enten bekymret for at komme til den næste til tiden, eller jeg havde allerede maksimeret min logik timer før.
Åh, og få lidt søvn. Dette lyder som noget, som din mor ville fortælle dig, men der er få ting, der vil smide dig væk fra dit spil som søvnmangel. Det kan sammenlignes med at dukke fuld.
I interviewet
Vær klar til noget
Når du har nået dit interview, skal du være forberedt på et par forskellige slags problemløsning. Dine interviewere kan bede dig om at tale igennem, hvordan du løser et problem, de åbner muligvis en computer og beder dig om at guide dem gennem oprettelse af kode, eller de kan også få dig til at skrive koden selv på et tavle. Vær forberedt på variation, og lad dig ikke snuble på detaljerne! Ligegyldigt hvilken metode dine interviewere bruger, er det dine evner til at løse problemer, de virkelig tester.
Stil spørgsmål
Når du får et problem, skal du tænke det igennem, og sørge for, at du fuldt ud forstår, hvad du bliver bedt om at vende tilbage. Vær ikke bange for at stille spørgsmål tidligt, hvis noget er uklart. Hvis der f.eks. Er kortsager, så spørg, hvordan dine interviewere ønsker, at de skal håndteres. Skal du kaste en undtagelse? Pause?
Sørg også for at stille proceduremæssige spørgsmål for at forstå, hvad interviewerne leder efter, og hvad dine begrænsninger er - f.eks. "Er der et specifikt sprog, du gerne vil have, at jeg giver dig min løsning på?" Eller "Kan jeg antage, at jeg har adgang til noget Python-bibliotek? ”
Og tag ikke antagelser. Selv hvis du er temmelig sikker på, at det er sikkert, skal du nævne højt, hvad det tænker du, så interviewerne kan fortælle dig, hvis du mangler noget.
Tag dig god tid
Når du har forstået det spørgsmål, du bliver stillet, skal du ikke være bange for at tage et minut til at tænke og behandle, inden du begynder at løse problemet. Så længe du ikke bliver fængslet med hurtige, videnbaserede spørgsmål, er det en god ting at holde pause efter at have været stillet. Selvfølgelig - sørg for, at du ikke tager 10 minutter på at løse det i dit hoved uden at sige et ord! Pointen er at bruge din tid foran til at strukturere din tilgang, ikke at prøve at skrive al koden i dit hoved, før du rører markør for tavle.
Tænk stort billede
Tænk først på det store billede af problemet. Det er fint at pseudo-kode den samlede struktur, så længe du fortæller interviewerne, at det er, hvad du laver, og at du agter at gå tilbage og faktisk kode den senere. Det er en god måde at off-load organisering af problemet, så din hjerne har mere plads til behandling. Dette vil også hjælpe, hvis du løber tør for tid til sidst; interviewerne ved i det mindste, hvordan du havde planlagt at afslutte opgaven, selvom du ikke kom til detaljerne.
Bare rolig først med at finde den mest effektive måde at løse problemet på, medmindre det naturligvis dukker op i dit hoved. Spik en mindre effektiv løsning, og diskuter derefter, hvorfor det er mindre end ideelt. Derefter, hvis du har tid eller ser en bedre måde at løse det på, gå videre til en mere tids- eller pladsvenlig algoritme. Selv hvis alt hvad du har tid til at gøre, er at afslutte din mindre effektive version og derefter forklare, hvordan du ville gøre det bedre, er det ikke et dårligt svar.
Tal det ud
Det vigtigste: Tal. Tag dine interviewere med dig i din problemløsning. Dette kan være så simpelt som at skitsere, hvad du er ved at gøre, når du gør det ("Så jeg har brug for en for-loop for at itereere alle de emner på denne liste") eller stille dig selv problemer som dig gå (“Dette betyder, at jeg har brug for en bedre måde at få adgang til informationen på; hmm, jeg kommer tilbage til det senere”).
At tale gennem din tankeproces giver dine interviewere et vindue til, hvordan du tænker, og det er i sidste ende pointen med interviewet. Selv hvis du synes, at din løsning er forbløffende, er det bedre for dem at vide, hvordan du nærmet problemet og kom til dit svar end at se det fulde svar og ikke have en anelse om, hvad der førte dig der. Det giver også interviewerne en chance for at hjælpe dig med, hvis du sidder fast eller går ned ad en sti, der er en blindgyde.
Bring dine folk færdigheder, også
Bare fordi du går på et ingeniørjob betyder ikke, at du kan slappe af at være nacn og ansvarlig. Jeg har hørt skrækhistorier om fantastiske programmører, der ikke blev ansat, fordi de ikke var en kulturpasning eller havde en dårlig holdning. Jeg er sikker på, at du også har det. Vær ikke den person.
Nysgerrighed og entusiasme er værdsat hos enhver medarbejder - og udviklere er ikke forskellige. Spørg om virksomhedens teknikerteam, dets stak og de hårdeste problemer, det er at tackle for produktet. Der er selvfølgelig en fin linje mellem at være begejstret og at være en sycophant, så hold det ægte, men alle elsker en kandidat, der er interesseret i det produkt, han eller hun vil arbejde på.
Lær noget nyt
Endelig, en ting, som interviewpersoner oftest går glip af, er læringsmuligheden. Forhåbentlig lærer du noget nyt i hvert interview - du får en ny idé eller nyt værktøj eller får indblik i interessante produkter og teknologi. Jo mere du tænker på dine interviews på denne måde, desto mere værdifuld vil tiden være for dig i det lange løb.