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
Top Related