Your SlideShare is downloading. ×
Cracking The Technical Interview
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cracking The Technical Interview

20,722

Published on

Published in: Technology, Business
0 Comments
31 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
20,722
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
286
Comments
0
Likes
31
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • What you want to know:How much time do you spend coding per day? In meetings?How does code get shipped?Insightful QuestionsI noticed that Google Talk uses the XMPP standard, and …Passion QuestionsI love learning about scalable systems. What are opportunities at Google?
  • Hashtables – super important!!!
  • Bit manipulation – super important!Recursion: how does recursion impact space and time?Practice converting from iterative into recursion
  • Transcript

    • 1. Cracking the Technical Interview
      Cracking the Technical Interview
      Gayle Laakmann
      Founder / CEO, CareerCup.com
    • 2. My Background
      Penn BSE / MSE ‘05 in CS
      Ex-Engineer at Google, Microsoft and Apple
      + Offers from Amazon, IBM and others
      3 Years on Google Hiring Committee
      Interviewed 120+ candidates
    • 3. CareerCup
      Founded 2005
      Largest source for technical interview questions (3000+ FREE questions)
      Services:
      Book
      Video
      Mock interviews
    • 4.
    • 5. How are interviews structured?
      How are you evaluated?
      Process
    • 6. Technical Interview Process
      Initial Screen (Phone / Campus)
      4 - 5 on site interviews
      10 min General
      40 min Technical
      10 min Closing
      Sometimes “blind” interview
    • 7. Evaluation (What They Say)
    • 8. Big Company Evaluation (Actual)
      Experience
    • 9. Big Company Eval = No Red Flags
      “Better to lose a good candidate than to hire a bad one.”
      “Better to lose a good candidate than to hire a bad one.”
    • 10. Smaller Companies
      Interview process varies
      Care more about experience / personality
      Might ask to see “portfolio”
    • 11. What do companies look for?
      Applying
    • 12. What do companies look for?
      Project experience!
      Course work
      Open source
      Independent studies
      Weiss Tech House
      Know C++ or Java well
      Skills
      Passion
      Work Ethic
    • 13. Resume Advice:
      One Page. Seriously.
      3 Sections: Education, Employment, Projects
      List languages with experience level
      Pet Peeve: Save file with your name
    • 14. Why do you want to work here?
      What was your favorite project?
      Interview prep – SOFT SKILLS
    • 15. Research the company / team
      Prepare questions:
      Genuine Questions
      Things you really want to know
      Insightful Questions
      Technical questions that show your CS knowledge
      Passion Questions
      Questions that show your tech passion
      Soft Prep – The Company / Team
    • 16. Create Preparation Grid for Projects
      + (maybe) Behavioral Grid
      Soft Prep – Yourself
    • 17. Strengths vs. Weaknesses
      Mediocre answer: “it was hard because I had to learn new languages / technologies”
      Not just answering Q’s – show who you are!
      Soft Prep – Yourself
    • 18. How do you prep for coding questions?
      What do you prep?
      Interview prep – Tech SKILLS
    • 19. Data structures
      Algorithms
      Concepts
      What to study
    • 20. How to implement
      When to use (pros / cons)
      Data Structures
    • 21. Implementation
      Space vs Time Complexity
      Algorithms
    • 22. Concepts
      Not just a concept – know how to code!
    • 23. Don’t practice on computer!
    • 24. What do companies look for?
      Interview – soft SKILLS
    • 25. The Interview: Chit Chat
      Beginning + End of Interview
      What?
      Resume questions (hardest bug, etc)
      General questions
      Opportunity for you to ask questions
      Why?
      Get to know your personality / interests
      RELAXES you
    • 26. The Interview: Chit Chat - Tips
      Be specific – not arrogant
      “Yeah, I did all the hard work for the team”
      “I implemented the file system, which was
      considered one of the hardest components.”
      Limited details (else too hard to follow)
      Ask good questions!
    • 27. ituation
      ction
      esponse
      The Interview: Chit Chat - Tips
      S
      structure your
      responses
      A
      R
    • 28. How do you tackle hard tech questions?
      Interview – tech SKILLS
    • 29. General Advice for Technical Questions
      Talk out loud – show us how you think!
      Good interviews = hard questions
      Don’t be nervous if you can’t solve something!
      You’re not done until
      they say you’re done.
    • 30. Question Types
      Standard Coding and Algorithms
      “Reverse a linked list”
      Object Oriented Design
      “Design a parking lot”
      Large System Design
      “Design a program to crawl the web”
      Trivia
      “What does a “vtable” refer to in C++”
    • 31. Standard Coding
      and Algorithms
      Question Type #1
    • 32. 5 Steps
      #1
      Standard Coding
      and Algorithms
    • 33. Asking Questions
      What are the data types?
      How much data?
      What assumptions do you need?
      Who is the user?
      NOTE: Especially important at Microsoft.
      #1
      Standard Coding
      and Algorithms
    • 34. Algorithm Generation
      #1
      Standard Coding
      and Algorithms
      OMG! I have no idea how to solve this problem!
    • 35. Algorithm Generation
      Pattern Matching
      What problem is this similar to?
      Simplify / Generalize
      What if the data was a different type?
      Base Case & Build
      Can you do this just for element 1? 1 and 2? …
      Data Structure Brainstorm
      Go through all data structures – can they help?
      #1
      Standard Coding
      and Algorithms
    • 36. Algorithm Generation
      Pattern Matching
      Write code to reverse the order of words in a sentence.
      Example:
      input: “iPad is an awful name”
      output: “name awful an is iPad”
      #1
      Standard Coding
      and Algorithms
    • 37. Algorithm Generation
      Simplify / Generalize
      Write a program to remove the duplicate characters in a string without using any additional buffers.
      #1
      Standard Coding
      and Algorithms
    • 38. Algorithm Generation
      Base Case & Build
      Design an algorithm to print all valid combinations of n pairs of parentheses.
      Example:
      input: n = 3
      output: ( )( )( ), ( ) ( () ), ( () )(), ((()))
      #1
      Standard Coding
      and Algorithms
    • 39. Algorithm Generation
      Data Structures Brainstorm
      Design an algorithm to figure out if someone has won a game of tic-tac-toe. Make it as fast as possible.
      #1
      Standard Coding
      and Algorithms
    • 40. Poking Holes
      What’s space / time complexity?
      What if there’s lots of data?
      Does your design cause other issues?
      If there are other issues, did you make the right trade offs?
      #1
      Standard Coding
      and Algorithms
    • 41. Pseudo Code & Code
      Pseudo code first – but say that!
      Use data structures generously
      What are the right ones?
      Define your own = shows good style
      Don’t crowd your coding
      Start in the upper left corner of board, not bottom
      #1
      Standard Coding
      and Algorithms
    • 42. Testing
      Test your code!
      Extreme cases
      Check for user error
      Test general cases
      CAREFULLY FIX MISTAKES
      #1
      Standard Coding
      and Algorithms
    • 43. Object Oriented Design
      Question Type #2
    • 44. OOD Steps
      #2
      Object Oriented Design
      Clarifying Questions
      What are the core objects?
      What is the interaction (eg, methods)?
      Walk through uses. Have you missed anything?
      Are there any algorithms you need?
    • 45. OOD Example
      #2
      Object Oriented Design
      Design the data structures for a restaurant
    • 46. Restaurant OOD
      #2
      Object Oriented Design
      1. Clarifying Questions
      How many guests?
      Buffet or entrees?
      What meals does it serve?
    • 47. Restaurant OOD
      #2
      Object Oriented Design
      2. Core Objects
      Guest
      Party
      Server
      Table
      Meal
      Order
    • 48. Restaurant OOD
      #2
      Object Oriented Design
      3. Interaction
      Server assigned to Table by Host
      Guests order Meal from Menu via Server
      Oops! Forgot menu!
    • 49. Restaurant OOD
      #2
      Object Oriented Design
      4. Walk Through Uses
      Party enters with Guest(s). Assigned to Table. Order items.
    • 50. Restaurant OOD
      #2
      Object Oriented Design
      5. Algorithms
      How do you find a free table?
      How do you remove out-of-stock item from menu?
    • 51. Large Scale
      System Design
      Question Type #3
    • 52. Large Scale Steps
      #3
      Large Scale
      System Design
      Simplify
      Develop algorithm for simple case
      Generalize
      What problems do you hit?
      Can you solve them?
    • 53. Trivia
      Question Type #4
    • 54. Trivia
      #4
      Trivia
      Hopefully you know the answer!
      Practice more 
      Else…
      Admit that you don’t know
      Try to derive the answer
    • 55. (eg, things that wouldn’t fit in elsewhere)
      FINAL THOUGHTS
    • 56. The Interview: Ending It
      Smile, be positive
      If you think you bombed, don’t worry
      Follow up with your recruiters (sometimes they forget)
    • 57. The Offer
      It’s always negotiable
      Helps if you have competing offer
      Don’t lie – companies know what competitors offer
      Is it really what you want?
      Money, career options, etc
    • 58. My Red Flags: People who…
      … wrote code and didn’t test it
      … found mistakes and would make random fixes
      … jammed things messily into an existing data structure
      … didn’t consider the impact of their algorithms
      … were scared to try
    • 59. Take Aways – Getting Ready
      Get Project Experience
      Show project experience on resume
      S. A. R. (Situation Action Result)
      Prepare Project / Behavioral Grids
    • 60. Technical Interview Prep
      Things to know (data structures, algorithms, concepts)
      Simple  Know Implementation
      Complex  Know Concepts
      Practice interview questions!
    • 61. At The Interview
      Be nice
      Interviews are supposed to be hard
      Approaches
      Pattern Matching
      Simplify / Generalize
      Base Case & Build
      Data Structure Brainstorm
    • 62. Other Resources
      E-Book
      Video
      Mock Interviews
      Slides posted at CareerCup.com/slides
      www.CareerCup.com20% discount with code:
      [removed from online posting – email me to get it]
      I have removed the discount code from online posting because, well, things are Google-able and the code is intended for penn students. Please email gayle@careercup.com from your UPENN email address to get the code.

    ×