• Save
Cracking The Technical Interview   Uw
Upcoming SlideShare
Loading in...5
×
 

Cracking The Technical Interview Uw

on

  • 4,471 views

Computer Science interviews are a different breed from other interviews and, as such, require specialized skills and techniques. Cracking the Technical Interview will teach you how to prepare for ...

Computer Science interviews are a different breed from other interviews and, as such, require specialized skills and techniques. Cracking the Technical Interview will teach you how to prepare for technical interviews, what top companies like Google and Microsoft really look for, and how to tackle the toughest programming and algorithm problems. This talk will include stories from the speaker's extensive interviewing experience as well as a live "demo" of how to tackle a technical problem.

Statistics

Views

Total Views
4,471
Views on SlideShare
4,444
Embed Views
27

Actions

Likes
7
Downloads
46
Comments
1

3 Embeds 27

http://www.slideshare.net 25
http://webcache.googleusercontent.com 1
http://www.brijj.com 1

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   Uw Cracking The Technical Interview Uw Presentation Transcript

  • Cracking the Technical Interview
    Cracking the Technical Interview
    Gayle Laakmann
    Founder / CEO, CareerCup.com
  • My Background
    UPenn 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
    Previously taught 2 courses at UW
    (Now MBA Student at Wharton / UPenn)
  • CareerCup
    Founded 2005
    Largest source for technical interview questions (3000+ FREE questions)
    Services:
    Book (E-Book and Paper)
    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
  • What do companies look for?
    Are you smart?
    Algorithmic skills
    Can you code?
    OOO, Cleanness, bug free (sort of), etc
    What are you like?
    Communication, friendliness, etc
    What have you done?
    Relevant experience, passion, etc
  • What do companies look for?
    Applying
  • Resume Selection
    Project experience!
    Course work
    Open source
    Independent studies
    Master C++ or Java
    Skills
    Passion
    Work Ethic
  • Resume Advice:
    One Page. (Seriously.)
    3 Sections: Education, Employment, Projects
    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 10 – 15 questions:
    Genuine Questions
    How much time do you spend coding each day?
    Insightful QuestionsI noticed that Google uses Standard X. How do you solve problem Y?
    Passion Questions
    What are the opportunities to learn about scalability at Google?
    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 - 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.
  • The Coding Interview: 5 Steps
  • Asking Questions
    What are the data types?
    How much data?
    What assumptions do you need?
    Who is the user?
    NOTE: Especially important at Microsoft.
  • OMG! I have no idea how to solve this problem!
    Algorithm Discovery Approaches
  • Algorithm Discovery Approaches
    • 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?
  • Algorithm Discovery Approaches
    Pattern Matching
    A sorted array has been rotated, so that the elements might appear in the order 3 4 5 1 2. How would you find the minimum element?
  • Algorithm Discovery Approaches
    Simplify / Generalize
    A ransom note can be formed by cutting words out of a magazine to form a new sentence. How would you figure out if a ransom note (string) can be formed from a given magazine (string)?
  • Algorithm Discovery Approaches
    Base Case & Build
    Design an algorithm to print all subsets of a set.
  • Algorithm Discovery Approaches
    Data Structures Brainstorm
    Numbers are randomly generated and sorted into an (expanding) array. How would you keep track of the median?
  • Find Problems with Your Algorithm
    What’s the 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?
  • Pseudo Code & Code
    Pseudo code first – but tell your interviewer
    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
  • Testing
    Test your code!
    Extreme cases
    Check for user error
    Test general cases
    CAREFULLY FIX MISTAKES
  • What about non-algorithm problems?
    System Design
    Design for small system, then scale.
    Object Oriented Design
    What are the major objects?
    How do they interact?
    Trace It!
  • (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
    Paper
    Mock Interviews
    Slides posted at CareerCup.com/lectures
    20% Discount Code:
    [removed from online posting – email support@careercup.com 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 UW email address to get the code.