How to Interview Like Google (But Better) - SVCC

87
Gayle L. McDowell | Founder / CEO, CareerCup gayle in/gaylemcd gayle How to Interview Like Google (or not) – But Better Best & Worse Practices Oct 1, 2016

Transcript of How to Interview Like Google (But Better) - SVCC

Gayle L. McDowell | Founder / CEO, CareerCup

gayle in/gaylemcdgayle

How to Interview Like Google (or not) – But BetterBest & Worse Practices

Oct 1, 2016

gayle in/gaylemcdgayleGayle Laakmann McDowell 2

Hi! I’m Gayle Laakmann McDowell

Author Interview Coach Interview Consulting

<dev>

</dev>

(CS)

(MBA)

How People HireCurrent strategies00

gayle in/gaylemcdgayle 4Gayle Laakmann McDowell

HowWe

Hire

Problem-solving questions

Onsite “real-world” tests

Homework Take-Home Tests Prior experience References

Gayle Laakmann McDowell 5gayle in/gaylemcdgayle

It’s all broken There’s no “perfect” interview. Always false negatives. Always false positives.

Gayle Laakmann McDowell 6gayle in/gaylemcdgayle

Problem Solving

Intelligence matters (a lot)

Lots of communication

Ability to push through hard problems

Intimidating Prep helps Other ways to

be “great” Can turn off sr.

candidates Lots of bad

questions

Gayle Laakmann McDowell 7gayle in/gaylemcdgayle

Onsite Real-World Tests

See real-world skills

Identifies current skill set, not potential

Lack of communication

Gayle Laakmann McDowell 8gayle in/gaylemcdgayle

Homework

Sees real-world skills.

Cheap & easy

Identifies current skill set, not potential

Candidates can feel exploited

Gayle Laakmann McDowell 9gayle in/gaylemcdgayle

Prior Experience

It matters Lots of

communication

Some can “talk a good game” Some can’t…

Gayle Laakmann McDowell 10gayle in/gaylemcdgayle

References

Prior experience is good

Hand-picked Different

companies have different needs

Not always 100% honest

gayle in/gaylemcdgayle 11

z

Gayle Laakmann McDowell

Not

ToMention…

NONE evaluate work ethic or ability to focus

(which isn’t necessarily constant anyway)

gayle in/gaylemcdgayle 12

z

Gayle Laakmann McDowell

WhatTo

Do?

Find what’s right for you

Identify the flaws Make it as un-broken

as possible

Core BeliefsPhilosophies around hiring01

Gayle Laakmann McDowell 14gayle in/gaylemcdgayle

#1: Good candidate experiences matter

Gayle Laakmann McDowell 15gayle in/gaylemcdgayle

#2: Smart beats knowledgable

Gayle Laakmann McDowell 16gayle in/gaylemcdgayle

#3: It’s On You To Get What You Want

Gayle Laakmann McDowell 17gayle in/gaylemcdgayle

#4: Nothing Is Perfect

The InterviewGoals & Questions02

gayle in/gaylemcdgayleGayle Laakmann McDowell 19

Goals

Great employees, not great interviewees

Good in 6 months, not 6 days Reduce false negatives Keep candidates happy

19

gayle in/gaylemcdgayle 20

z

Gayle Laakmann McDowell

Standard Intervie

wStructure

1. ~5 min resume/behavioral

2. Technical questions3. ~5 min questions

for you

gayle in/gaylemcdgayleGayle Laakmann McDowell 21

Core Question Types

Experience/Behavioral Questions Knowledge Design/Architecture Problem Solving/Algorithms Coding

21

Can be mixed and matched!

Behavioral/ExperienceWhat do you ask and why?03

gayle in/gaylemcdgayleGayle Laakmann McDowell 23

What We Look For

Is this a person you want to work with?

Technical expertise Has made good, interesting technical

decisions Culture fit/personality

Not arrogant, curious, initiative, etc Communication

Can they articulate impact?

Gayle Laakmann McDowell 24gayle in/gaylemcdgayle

Engineers don’t like interviews

Hostility towards “cheesy” questions

Don’t “get” interviewing

gayle in/gaylemcdgayleGayle Laakmann McDowell 25

Styles of Behavioral Questions

Open-Ended Discovery “Tell me about _ project”

Situational “Tell me about a challenging project”

Hypotheticals “How do you handle conflicts?”

Open-Ended Discovery

gayle in/gaylemcdgayleGayle Laakmann McDowell 27

Example Questions

“Walk me through your resume” “Tell me about the projects you’ve

worked on.” “Tell me about your job. What do

you like?”

gayle in/gaylemcdgayleGayle Laakmann McDowell 28

• Candidates feel…

gayle in/gaylemcdgayleGayle Laakmann McDowell 29

The Good and Bad

Gives opportunity to talk about what they want

Finds stuff not on their resume Won’t throw them off But…

Unstructured, might not get info you want

Situational

gayle in/gaylemcdgayleGayle Laakmann McDowell 31

Example Questions

Tell me about a time when you faced a conflict

Tell me about a time you had to influence people

Tell me about a difficult decision you had to make

gayle in/gaylemcdgayleGayle Laakmann McDowell 32

Avoid Hypotheticals

Best Practices

gayle in/gaylemcdgayleGayle Laakmann McDowell 34

Avoid priming

gayle in/gaylemcdgayleGayle Laakmann McDowell 35

Avoid too specific questions

gayle in/gaylemcdgayleGayle Laakmann McDowell 36

Avoid superlatives

gayle in/gaylemcdgayleGayle Laakmann McDowell 37

Drill Deeper

• How & Why

• SAR (Situation, Action, Result)

gayle in/gaylemcdgayleGayle Laakmann McDowell 38

Be Reassuring

gayle in/gaylemcdgayleGayle Laakmann McDowell 39

Know What You’re Looking For

gayle in/gaylemcdgayleGayle Laakmann McDowell 40

Cross Check

gayle in/gaylemcdgayleGayle Laakmann McDowell 41

My Favorites

Resume walk-through Do it yourself first, to set the stage

Hobbies & stuff not on your resume Warn that it’s okay to not have anything

Past projects and work Walk through design on whiteboard Discuss tradeoffs, key decisions, etc. Extensions to project (scaling, etc.) Focus on personal impact

gayle in/gaylemcdgayle 42

z

Gayle Laakmann McDowell

Check

YourInterviewers

Is the question likely to annoy a candidate?

Did they go beyond surface level?

What did they learn? Are they sure they

learned that?

KnowledgeWhat do you really need?04

gayle in/gaylemcdgayleGayle Laakmann McDowell 44

Examples

What’s the difference between __ and __?

What are the benefits of __? What does __ mean?

gayle in/gaylemcdgayleGayle Laakmann McDowell 45

Goals

Assess candidate’s skills Relative to position needs Relative to expectations

Make candidate’s experience feel valued

gayle in/gaylemcdgayleGayle Laakmann McDowell 46

Avoid “quizzing”

gayle in/gaylemcdgayleGayle Laakmann McDowell 47

Be nice (even when they mess up)

gayle in/gaylemcdgayleGayle Laakmann McDowell 48

Knowledge Should Be…

Hard to obtainor

A red flag to lack

gayle in/gaylemcdgayleGayle Laakmann McDowell 49

gayle in/gaylemcdgayleGayle Laakmann McDowell 50

My Favorites

How does ____ work? How do you think it’s implemented? Teach me about ____.

gayle in/gaylemcdgayle 51

z

Gayle Laakmann McDowell

Questions

For YourInterviewers

Was it a discussion? Did you probe deeper? How long would it take

to teach this depth? If the candidate didn’t

know something: Why not?

Were you positive & reassuring?

DesignBig, meaty problems05

gayle in/gaylemcdgayleGayle Laakmann McDowell 53

Why?

Tests: Ability to tackle open-ended problems Communication/teamwork skills A different side of problem-solving

Respects experience of senior candidates

Gayle Laakmann McDowell 54gayle in/gaylemcdgayle

Might be unexpected

Gayle Laakmann McDowell 55gayle in/gaylemcdgayle

Beware of insider knowledge

Gayle Laakmann McDowell 56gayle in/gaylemcdgayle

Encourage them to drive

Gayle Laakmann McDowell 57gayle in/gaylemcdgayle

Coach your candidates

gayle in/gaylemcdgayleGayle Laakmann McDowell 58

Evaluation

Ability to make tradeoffs Ability to identify issues Separate knowledge from attributes Response to feedback Higher standards for more senior

candidates

gayle in/gaylemcdgayleGayle Laakmann McDowell 59

Examples

Design API for… System for Amazon book rank System for TinyURL OOD for a music library

gayle in/gaylemcdgayle 60

z

Gayle Laakmann McDowell

Questions

For YourInterviewers

Did the candidate need to really think?

Did you go deep? Did you help the

candidate through?

AlgorithmsMake ‘em think06

gayle in/gaylemcdgayleGayle Laakmann McDowell 62

Why?

Smart people do good work Hires adaptable people Very effective if done well

gayle in/gaylemcdgayleGayle Laakmann McDowell 63

Bad Practices & False Negatives

Easy questions Questions with “a ha” moments Well known problems (or patterns)

gayle in/gaylemcdgayleGayle Laakmann McDowell 64

Best Practices

Ask the right questions Be nice and friendly Relevant when possible Coach A slow & fast solution

MAKE THEM THINK

gayle in/gaylemcdgayleGayle Laakmann McDowell 65

The Right Questions

Medium-to-hard questions Multiple hurdles Unusual questions Avoid obscure knowledge

gayle in/gaylemcdgayleGayle Laakmann McDowell 66

Reasonable KnowledgeData Structures Algorithms ConceptsArrayLists Merge Sort Big O Time

Hash Tables Quick Sort Big O Space

Trees & Graphs Breadth-First Search

Recursion

Linked Lists Depth-First Search

Memoization / Dynamic Programming

Stacks / Queues Binary Search

Heaps

gayle in/gaylemcdgayleGayle Laakmann McDowell 67

Do not ask…

Dijkstra’s algorithm Tree balancing Topological sort A*

gayle in/gaylemcdgayleGayle Laakmann McDowell 68

Be Nice and Friendly

Intimidated candidates do poorly Candidates cling to every word

Use this! “Good job”, “great point”, etc.

Especially if they’re struggling or nervous

gayle in/gaylemcdgayleGayle Laakmann McDowell 69

Coach

Give hints as necessary Encourage examples (input/output) Remind them of key details Stop them from writing code too

early YOU manage the time

gayle in/gaylemcdgayleGayle Laakmann McDowell 70

Phone Interviews vs. Onsite

Don’t “go easy” on the phone But avoid problems needing

diagrams Strings, hash tables, linked lists are easy

to draw Trees and graphs are hard

gayle in/gaylemcdgayleGayle Laakmann McDowell 71

Evaluation

Not just correct vs. incorrect How optimal? How quickly? How many

hints? Compare to other candidates

Early on you won’t be calibrated More of a “gut feel” than a metric

gayle in/gaylemcdgayleGayle Laakmann McDowell 72

Rand7: Given rand5(), implement rand7() Has “a ha” moment

Bad Questions

gayle in/gaylemcdgayleGayle Laakmann McDowell 73

More Bad Questions

Implement a stack with a singly linked list

Reverse order of words in a sentence

Merge two sorted arrays Find duplicates in a string Given a book, find unique words &

occurrences Replace spaces with “-”

gayle in/gaylemcdgayleGayle Laakmann McDowell 74

Sub Permutations: Given two strings, s and b, find all permutations of s within b.

Good Question

Hard questionMany partsEasy knowledgeUncommon

gayle in/gaylemcdgayleGayle Laakmann McDowell 75

Max Alive: Given a list of people with birth/death years, find peak population

Good Question

Medium difficulty question

Several optimizationsEasy knowledgeUncommon

gayle in/gaylemcdgayle 76

z

Gayle Laakmann McDowell

Check

YourInterviewers

Did the candidate need to really think?

Is the question unusual?

CodingPractical stuff07

gayle in/gaylemcdgayleGayle Laakmann McDowell 78

Why?

Code quality matters Not everyone can translate

algorithm into code

gayle in/gaylemcdgayleGayle Laakmann McDowell 79

Bad Practices & False Negatives

Requiring every detail Tedious questions Taking over the testing Letting the candidate code too

early

gayle in/gaylemcdgayleGayle Laakmann McDowell 80

Don’t waste time Do you really need that Node class? Skipping uninteresting parts, etc.

Okay to make-up reasonable syntax Make it clear when they should/shouldn’t

code Encourage testing, refactoring, etc Don’t stress about compiling

Best Practices

gayle in/gaylemcdgayleGayle Laakmann McDowell 81

Compiling Code

Requires a lot of overhead Do it only for good reason

gayle in/gaylemcdgayleGayle Laakmann McDowell 82

Evaluation

“Seemingly compilable” code Look at structure and style

But differentiate what’s trainable Not about complete vs. incomplete Let the candidate test What is this telling you?

gayle in/gaylemcdgayle 83

z

Gayle Laakmann McDowell

Check

YourInterviewers

What did you learn about the candidate’s coding?

Can the issues be fixed?

Final ThoughtsThings to remember07

gayle in/gaylemcdgayleGayle Laakmann McDowell 85

Remember:

It’s on YOU to get the info you want Challenge your assumptions Separate “did they do X?” from

“can they do X?” What did ___ tell you about the

candidate?

gayle in/gaylemcdgayleGayle Laakmann McDowell 86

Check Your Interviewers

What did you learn from this question/answer?

Were they happy and supportive?

Did they challenge the candidate?

THANK [email protected]

gayle in/gaylemcdgayle