1 / 46

Cracking the Coding (& PM) Interview

Cracking the Coding (& PM) Interview. Advice and Strategies for Software Engineering and Product Management Interviews. Gayle Laakmann McDowell Founder / CEO, CareerCup.com Author of Cracking the Coding Interview, Cracking the PM Interview , & The Google Resume. My Background.

wylie
Download Presentation

Cracking the Coding (& PM) Interview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cracking the Coding (& PM) Interview Advice and Strategies for Software Engineering and Product Management Interviews Gayle Laakmann McDowell Founder / CEO, CareerCup.com Author of Cracking the Coding Interview, Cracking the PM Interview, & The Google Resume McDowell | CareerCup.com January 2014 @ UW Seattle

  2. My Background • Software Eng @ Google, Msft & Apple • CareerCup.com, Founder / CEO • Author • Cracking the Coding Interview • The Google Resume • Cracking the PM [Product Management] Interview • Interview coach for acquisitions & acquihires McDowell | CareerCup.com

  3. everyone programmers McDowell | CareerCup.com

  4. Most Common CS Jobs McDowell | CareerCup.com

  5. What is a Product Manager? Product Manager (“PM”) == “Associate Product Manager” (Google, Yahoo, Facebook, etc.) == “Program Manager” (Microsoft) McDowell | CareerCup.com

  6. What is a Programmer? Programmer == Software Engineer == Software Developer (Dev) == Software Design Engineer (SDE) (Microsoft) McDowell | CareerCup.com

  7. What is a Programmer? • Write code (duh) • Architect systems • Plus sometimes: • Write specs • Talk to users • Figure out feature set • Etc McDowell | CareerCup.com

  8. What is a Product Manager? • Manage the PRODUCT, not the PEOPLE • “Build a great product for the users” • Who are the users? • What are the features? • When will we launch? • How do we launch? • etc McDowell | CareerCup.com

  9. What is an SDET? Software Test Engineer (SET)(Google) == Software Design Engineer in Test (SDET) (Microsoft) != Quality Assurance (QA) McDowell | CareerCup.com

  10. What is an SDET? • Figure out what needs to be tested and how • Write code to automate testing McDowell | CareerCup.com

  11. TODAY • Software Developer + PM • Experience • Resumes • Interviews • Offers McDowell | CareerCup.com

  12. Big Company Evaluation (Devs) Testing aptitude, not knowledge McDowell | CareerCup.com

  13. Start-Ups • Coding + Intelligence • “Hit the ground running” • Do you know “their” technologies? • Entrepreneurial • Have you started things? • How much direction do you need? • Personality • Will you fit with the team? but… it varies! McDowell | CareerCup.com

  14. PM Roles • Communication Skills • User-Focused Thinking • Passion for Technology • Analytical Skills • Technical Skills (position dependent) McDowell | CareerCup.com

  15. Resumes & Application Process McDowell | CareerCup.com

  16. How to Get an Interview • Your “Pedigree” • Education • Work Experience • Projects • Github / Online Profile • Make an awesome resume • Career office • Be [nicely] aggressive! McDowell | CareerCup.com

  17. Did I mention… PROJECTS??? McDowell | CareerCup.com

  18. Projects • SHOW YOU CAN CODE • Hard classes with lots of projects • Build your own iPhone/Android app • Write a web app • Join an open source project WHAT YOU BUILD IS LESS IMPORTANT THAN THAT YOU BUILT SOMETHING McDowell | CareerCup.com

  19. How We Review Resumes • Pull resume out of giant stack • Spot-check: company names, positions, projects, schools. • Skim bullets to see if you’ve written real code. “Glanced at,” not read. 15 – 30 seconds Reject Interview • Go to next resume & whine about how many more you have left. McDowell | CareerCup.com

  20. How CS Resume Should Look Observe: No Objective! Objectives / summaries are almost always useless. One Page Only! Unless > 10 years exp. A Real Resume Format with organized columns Short (1 – 2 line bullets) Focus on Accomplishments not responsibilities GPAif at least 3.0 max (in-major, overall) 3 – 4 Projects Courses & independent Finished or unfinished List of Technical Skills Short! Cut the “fluff.”

  21. Talking to Recruiters • Show: • What you’ve done (mobile app? Show it!) • What you’re excited about • Have a “pitch” ready • Weird is okay • (arrogant is not) McDowell | CareerCup.com

  22. The Interview McDowell | CareerCup.com

  23. Common Interview Questions • Behavioral/Resume Questions • Product Design Questions • Estimation Questions • Software Engineering Questions • Coding & Algorithms • Object Oriented Design • Scalability • Factual / Trivia / Language-Based McDowell | CareerCup.com

  24. How You Are Judged How did you do RELATIVE to other candidates on the SAME question? It’s not about how quickly you solved the problem… … it’s about how quickly you solved it relative to other candidates. McDowell | CareerCup.com

  25. Behavioral Questions McDowell | CareerCup.com

  26. Goals of Your Answer • Answer the question. • Deliver a goodanswer. • Communicate well. • Nugget First • S.A.R.: Situation, Action, Result McDowell | CareerCup.com

  27. Preparing for Behavioral Qs • Create Preparation Grid for Projects + Behavioral Grid [for PM & less tech. roles] McDowell | CareerCup.com

  28. Structure 1: Nugget First • Lead with your “thesis” / nugget • Grabs the listener’s attention • Gives them context for where you’re going. Q: What accomplishment are you most proud of? A: I’m most proud of the way I re-architected the … McDowell | CareerCup.com

  29. Structure 2: S.A.R. ituation ction esult S What was the issue? A What did you do about it? R What was the impact? McDowell | CareerCup.com

  30. Interviews McDowell | CareerCup.com

  31. Coding & Algorithm Questions • Study the basics • Complex algorithms generally unnecessary. • Guide yourself by interview questions • Basic data structures, algorithms + Big O • Practice solving questions • Don’t memorize! • See: CtCI & CareerCup.com • Push yourself! • Write code on paper McDowell | CareerCup.com

  32. Coding & Algorithm Questions • Understand the question • Clarify, remember key details, etc. • Draw an example • “Sufficiently interesting” • Talk out loud • Analyze • Does it work? What’s the big O time / space? • Do YOU understand it? • Code (SLOWLY) • Test + fix (CAREFULLY) If you’ve heard a question before, admit it. McDowell | CareerCup.com

  33. What does a “good coder” do? • Be methodical. Don’t try to rush. • Don’t code if you don’t understand • Reasonably Bug Free • Thorough testing (and careful fixing) • Check for error conditions • Clean coding • Use other functions • Good use of data structures (define own if useful) • Concise and readable McDowell | CareerCup.com

  34. Whiteboard Coding Tips • Code in the FAR top left corner • Write small & straight • Pseudocode if you’d like • Use arrows to insert new code snippets • Use “good” variable names, then abbreviate • Modularize code as you go • “Drill down” into details as you go McDowell | CareerCup.com

  35. Common Mistakes • Ignoring information given • Not using examples • To design algorithms • While writing code • “Pushing through” code when confused • Incoherent thoughts -> incoherent code • Diving into code too quickly • Writing unnecessary code • The details: • Off-by-one, < vs <=, division (and any math) McDowell | CareerCup.com

  36. How To Solve Algorithm Questions Compare to similar problems. Solve first for a simplified / tweaked problem. Solve for n = 1, and build solution for n = 2. Try to apply data structure to solve problem. McDowell | CareerCup.com

  37. Object Oriented Design Handle Ambiguity Is it a single restaurant, or part of a chain? Design the Core Objects Guest, Party, Table, Server, Host, … Analyze Relationships Server and Host are both Employees… Investigate Actions A Party is seated at a Table by a Host… How would you design the data structures and objects for a restaurant? McDowell | CareerCup.com

  38. System Design Given millions of documents, find all documents which contain a list of words. Handle Ambiguity Do the words need to be in a specific order? Make Believe Assume everything can fit on one machine. Get Real Must split up data across machines. Solve Problems Divide hash table by file or by keyword? McDowell | CareerCup.com

  39. Evaluation is RELATIVE, not absolute. <Gulp> This is a lot of stuff. Do I need to get everything right? It’s not about how quickly you solved the problem… </Gulp> … it’s about how quickly you solved it relative to other candidates. McDowell | CareerCup.com

  40. So RELAX! Interviews are supposed to be hard! Everyone makes mistakes. Everyone! McDowell | CareerCup.com

  41. After Your Interview • Follow-up with your recruiter • No response != rejection • You have no idea how well/poorly you did. • Seriously. I know you think you do. But you don’t. • Lots of randomness. • So if you fail, get up and try again. McDowell | CareerCup.com

  42. Negotiation McDowell | CareerCup.com

  43. But I hate negotiating! • Welcome to the club! • You ARE in demand. • Your offer will not be revoked. Is this conversation SO terrible that you’re willing to give up $1000+**? ** and likely more McDowell | CareerCup.com

  44. Negotiation • Most->least negotiable (generally) • Signing bonus/relocation • Stock • Salary • Other benefits • Easier if you have another offer • Counter-offer • What matters to you? McDowell | CareerCup.com

  45. Closing Advice • Do projects • Study for your interviews • Chase interviews • … but don’t chase money • If possible, go to an “elite” tech company • (But don’t stay too long if that’s not what you want!) • Check-in on your career. • Is this what you want to do with your life? McDowell | CareerCup.com

  46. Other Resources • CareerCup.com • Interview Questions • Interview Videos • Resume Review • Mock Interviews • Or, follow me online at… • twitter.com/gayle • facebook.com/gayle • technologywoman.com • gayle@careercup.com • quora.com McDowell | CareerCup.com

More Related