470 likes | 659 Views
How to prepare a Tech Interview. Last Survivor guide to code interviewing. Speakers : Alberto Lorente Leal, alorlea@ieee.org Diego Lucas Jiménez, diego.lucas.jimenez@ieee.org. Backgrounds. Education : Ingeniero de Telecomunicación, ETSIT UPM
E N D
Howto prepare a Tech Interview LastSurvivor guide tocodeinterviewing Speakers: Alberto Lorente Leal, alorlea@ieee.org Diego Lucas Jiménez, diego.lucas.jimenez@ieee.org
Backgrounds • Education: • Ingeniero de Telecomunicación, ETSIT UPM • Civilingenjörutbildning data teknik, KTH • M.Sc. Software Engineer of DistributedSystems, KTH • Software Engineer, ~1 year • Presidente IEEEsb, año 2010-11
Backgrounds • Education: • SystemsAdministrator, ComputerScience • Software Engineer, 2 years • SystemsAdministrator, 2 years • ETSIT UPM IEEEsbValuateMember (6 years)
Outline • Introduction • What do they look for? • What do they expect? • Preparing a CV • The process. • Getting the interview • Preparation • The Tech Interview!
Introduction • Whatthehellisthis? • Wherediditcamefrom? • Knowing a language vs. Proficient in language • Hiringpeople (cheap vs. Expensivelawsuits) • Software isnotaneasybusiness... • Whyisit so popular? • Doesitdifferfrom a normal Interview? • Isit so hard?
What do they look for? Testing aptitude, not knowledge
What do theyexpect? The most important interview question is not covered any place probably. In fact, it’s often the single most important question in your interviewers' minds as they grill you in that little room. Despite the questions on polymorphism and heaps and virtual machines, the question they really want an answer to is ... Would I have a beer with this guy?
Preparingthe CV • Build a powerful resume • Goal: HIRE ME!! • Includerelevantinformation • Gettothepoint, keepit simple (2 pages) • Checkyourgrammar!! • Easyto do, isn’tit?
Preparingthe CV • Sixmilestonestobuild a powerful CV: • AccomplishmentOriented • QuantifiableResults • WellTargeted • UniversallyMeaningful • Clean, Professional, Concise • WellStructured and Clear
Clear CV WTF!!? WTF!!? WTF!!?
Preparingthe CV • Nowyou are askingyourself: • Make use of your time! • Make a kick-ass resume How I can make myself special? It’s really not that hard. Ok, no, itis.
Gettingthe interview • Applythrough Job sites. • Internship • GraduateEntryLevel • Waitforanswer. • Alternatives? • Referal • Job fairs • Recruiters • LinkedIn • Social Networking
Preparation • Hopefully, youreceive a response of yourdreamcompany. • Reaction? Hello xxxx, Thanksforyourinterest in Google, I am fromthetechnicalrecruitingteam and I wouldfurtherdiscussyourjobopportunitieswithus. Whenisitokaytotalk? Regards,
Preparation Whatpeopleseewhenyougetthe interview Whatyoureallysee
Preparation • Yourbiggestexamis at yourdoorstep. • Up tothechallenge? • Remember: Testing aptitude, not knowledge Looking for doers
Preparation • Do notonlyfocusontechnicalaspects • Theywanttoknow YOU! • i.e: Yourpersonality. • Addchemistrytotheteam. • Definitely NOT mindlesscoding machine • Expect Behavioralquestions
BehavioralQuestions • Personality • Communicatewell • Answerwell • Watchfor red flags Arrogant, non teamplayer • Strategies: • NuggetFirst • S.A.R: Situation, Action, Result
PreparingBehavioralQuestions • Iseasierthanitseems • 1. CV islikeyourlifeexperience, refreshthesituations. • 2. PreparationGrid.
Strategy 1: NuggetFirst • Startwith a goodinitiator • Goal: Graspinterviewersattention and context Q: Whatwasyourgreatestachievement in project X? A: One of mygreatestachievementswaswhenweadded a new wholefunctionality..
Howtotech interview • Study and refreshconcepts! • Network Engineer Routing, OSPF, TCP/IP, etc • Software Engineer Algorithms, threads, scalability, coding, ObjectOrientedDesign, Patterns…. • Practice! • Loads of problemson internet • Do notmemorize, useless. • Pushyourlimits! • WRITE CODE ON PAPER (or Google Docs) • AvoidIDEs
Data Structures • Howtoimplement • I.E: Knowhowtocodeityourself • Pros/Cons
Algorithms • Implementation • Space vs. Time Complexity • Learnthycomplexities!! http://bigocheatsheet.com/
OtherFancyAlgorithms • Pathfinding: • A* • Sorts: • Comparisonwithothersorts (insertion, selection) • DynamicProgramming: • Knapsack 0-1 orKnapsackwithrepeateditems • AnythingthrownonProgrammingCompetitions
Concepts • And howtocodeit.
Duringthe interview • Ask Questions! • Ambiguousquestions, informationismissing • Do notstartcoding as a maniac Red flag, NO HIRE • Talkoutloud • Show yourprocessthinking • Thinkcritically • Isthisoptimal? Complexities? • Slow and cleancode • Beatifulcodewinspoints • Test yourcode! • And fixitaccordingly
GoodCoding Style • Methodical, no rush and no stress. • Bug free code • Doublecheckitworks and fixit (TDD?) • Checkborder cases • Cleancode • Concise, readable • Good use of libraries and data structures • Capable of anotherprogrammerunderstandwhatyouwrite.
Itsaboutstyle: GoodCode • Whycan’twe be friends?
It’saboutstyle: BadCode • Desiretokill!
Dafuken! Do I needtoacealltheseconcepts?
Do notworry! • Evaluationis RELATIVE • Notabsolute It’s not about how quickly you solved the problem… Whatdoesthis mean? … it’s about how quickly you solved it relative to other candidates.
Tell me, Mr. Anderson... • Sit position! • Handsoverthetable • Look theeyes of yourinterviewer • Stay in a relaxedactitude • You are nervous. Confessit! • Mistakes are normal. • Youhavedefects • Point them. Thenexplainhow are youtryingtocorrectthem. • Butanyway, you are thebestcandidate • Convincetheinterviewer
Relax • Interviews are hards • Show thebest of yourself • And final note: EVERYONE MAKES MISTAKES. Everyone!
After Interview • Follow up withrecruiter • No answer != rejection • No idea of your performance onthe interview • Do notthinkorworryaboutit. • Random factor • Interview anti-loop • Ifyoufail, get up and try again, and again.
Mostimportantly • Ifyoufail, learnfromtheexperience • In my case I learned a lot in algorithmsand othertechaspects • And as a gamer: GOOD LUCK & HAVE FUN!
Sources • Informationwastakenfrom: • Slides of Cracking thecoding interview, advice and strategiesfor SWE. Gayllaakmann McDowell, Founder of CareerCup. • The Google Resume, Howto prepare for a career and Land a Job on Apple, Google or Microsoft. GayllaakmannMcDowell. • Cracking thecoding interview, 150 interview problems and solutions. GayllaakmannMcDowell. • Otherinterestingsources: • Programming Interviews Exposed, 3rd Edition. • CareerCupwebsite. • Search Google