• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Cracking The Technical Interview
 

Cracking The Technical Interview

on

  • 23,639 views

 

Statistics

Views

Total Views
23,639
Views on SlideShare
21,977
Embed Views
1,662

Actions

Likes
30
Downloads
286
Comments
0

12 Embeds 1,662

http://blog.agafonov.net.ua 1205
http://www.careercup.com 229
http://agafonovslava.com 89
http://www.slideshare.net 78
http://careercup.com 41
https://twitter.com 8
http://webcache.googleusercontent.com 4
http://23.latest.careercup.appspot.com 3
http://agmundet.wordpress.com 2
http://www.careercup.com.sixxs.org 1
http://translate.googleusercontent.com 1
http://www.copyscape.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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

Cracking The Technical Interview Cracking The Technical Interview Presentation Transcript

  • Cracking the Technical Interview
    Cracking the Technical Interview
    Gayle Laakmann
    Founder / CEO, CareerCup.com
  • 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
  • CareerCup
    Founded 2005
    Largest source for technical interview questions (3000+ FREE questions)
    Services:
    Book
    Video
    Mock interviews
  • How are interviews structured?
    How are you evaluated?
    Process
  • Technical Interview Process
    Initial Screen (Phone / Campus)
    4 - 5 on site interviews
    10 min General
    40 min Technical
    10 min Closing
    Sometimes “blind” interview
  • Evaluation (What They Say)
  • Big Company Evaluation (Actual)
    Experience
  • 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.”
  • Smaller Companies
    Interview process varies
    Care more about experience / personality
    Might ask to see “portfolio”
  • What do companies look for?
    Applying
  • 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
  • Resume Advice:
    One Page. Seriously.
    3 Sections: Education, Employment, Projects
    List languages with experience level
    Pet Peeve: Save file with your name
  • Why do you want to work here?
    What was your favorite project?
    Interview prep – SOFT SKILLS
  • 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
  • Create Preparation Grid for Projects
    + (maybe) Behavioral Grid
    Soft Prep – Yourself
  • 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
  • How do you prep for coding questions?
    What do you prep?
    Interview prep – Tech SKILLS
  • Data structures
    Algorithms
    Concepts
    What to study
  • How to implement
    When to use (pros / cons)
    Data Structures
  • Implementation
    Space vs Time Complexity
    Algorithms
  • Concepts
    Not just a concept – know how to code!
  • Don’t practice on computer!
  • What do companies look for?
    Interview – soft SKILLS
  • 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
  • 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!
  • ituation
    ction
    esponse
    The Interview: Chit Chat - Tips
    S
    structure your
    responses
    A
    R
  • How do you tackle hard tech questions?
    Interview – tech SKILLS
  • 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.
  • 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++”
  • Standard Coding
    and Algorithms
    Question Type #1
  • 5 Steps
    #1
    Standard Coding
    and Algorithms
  • 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
  • Algorithm Generation
    #1
    Standard Coding
    and Algorithms
    OMG! I have no idea how to solve this problem!
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Testing
    Test your code!
    Extreme cases
    Check for user error
    Test general cases
    CAREFULLY FIX MISTAKES
    #1
    Standard Coding
    and Algorithms
  • Object Oriented Design
    Question Type #2
  • 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?
  • OOD Example
    #2
    Object Oriented Design
    Design the data structures for a restaurant
  • Restaurant OOD
    #2
    Object Oriented Design
    1. Clarifying Questions
    How many guests?
    Buffet or entrees?
    What meals does it serve?
  • Restaurant OOD
    #2
    Object Oriented Design
    2. Core Objects
    Guest
    Party
    Server
    Table
    Meal
    Order
  • Restaurant OOD
    #2
    Object Oriented Design
    3. Interaction
    Server assigned to Table by Host
    Guests order Meal from Menu via Server
    Oops! Forgot menu!
  • Restaurant OOD
    #2
    Object Oriented Design
    4. Walk Through Uses
    Party enters with Guest(s). Assigned to Table. Order items.
  • 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?
  • Large Scale
    System Design
    Question Type #3
  • Large Scale Steps
    #3
    Large Scale
    System Design
    Simplify
    Develop algorithm for simple case
    Generalize
    What problems do you hit?
    Can you solve them?
  • Trivia
    Question Type #4
  • Trivia
    #4
    Trivia
    Hopefully you know the answer!
    Practice more 
    Else…
    Admit that you don’t know
    Try to derive the answer
  • (eg, things that wouldn’t fit in elsewhere)
    FINAL THOUGHTS
  • The Interview: Ending It
    Smile, be positive
    If you think you bombed, don’t worry
    Follow up with your recruiters (sometimes they forget)
  • 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
  • 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
  • Take Aways – Getting Ready
    Get Project Experience
    Show project experience on resume
    S. A. R. (Situation Action Result)
    Prepare Project / Behavioral Grids
  • Technical Interview Prep
    Things to know (data structures, algorithms, concepts)
    Simple  Know Implementation
    Complex  Know Concepts
    Practice interview questions!
  • At The Interview
    Be nice
    Interviews are supposed to be hard
    Approaches
    Pattern Matching
    Simplify / Generalize
    Base Case & Build
    Data Structure Brainstorm
  • 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.