SlideShare a Scribd company logo
Cracking the Coding Interview 
Gayle Laakmann McDowell 
Strategies to Prepare for and Crack the Programming Interview 
10/11/20 
14
Hi! I’m Gayle LaakmannMcDowell 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
1 
(CS) (MBA) 
<dev> </dev> 
Author Interview Coach Interview Consulting
The Perfect Candidate 
2 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
The Perfect Candidate 
3 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
Does the “perfect” candidate really exist? 
… Yes. Many. Lots. 
BUT! Many successful candidates aren’t perfect!
TODAY’S AGENDA 
How to become a more perfect dev candidate
The Perfect Candidate 
6 
How to Become a More 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
7 
The Perfect Candidate 
How to Become a More 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
The Perfect Candidate 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
8 
How to Become a More 
•Coursera 
•Bootcamps 
•Read lots. 
•Write lots.
The Perfect Candidate 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
9 
How to Become a More 
• Hackathons 
• Diversity languages. 
• Independent projects.
The Perfect Candidate 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
10 
How to Become a More 
• Startups 
• Start your own
The Perfect Candidate 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
11 
How to Become a More 
• Length: 
• 1 – 2 pages. 
• 1 – 2 lines per bullet. 
• 3 – 6 bullets per company. 
• Projects. 
• Clear accomplishments. 
• Technical… 
• But not overwhelming. 
CareerCup.com/Resume
12 
The Perfect Candidate 
How to Become a More 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
13 
The Perfect Candidate 
How to Become a More 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
THE SOFT SQUISHY STUFF 
aka Behavioral Questions 
great bang for your buck
The Pitch / Resume Walk-Through 
15 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
Your Past Work/Projects 
• Prep 1 – 2 projects 
• Hard/Cool 
• You = Central 
• Technical Depth 
• All past work (esp. last job) 
• Challenges, design/architecture, tradeoffs, 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
mistakes, successes, motivations 
• What did YOU do? 16
Technical Questions 
Why why why why why why why why meeeee 
It happens for a reason.
What Really Happens 
18 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
What Really Happens 
• Knowledge Questions 
• Design/Scalability (+ coding) 
• Problem Solving (+ coding) 
• Coding 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
19
Knowledge Questions 
“What is a static class in Java?” 
Trivia, Details, etc.
Knowledge Questions 
• Know your stuff. 
• Be cautious about what you list. 
• If you don’t know, admit it. 
• Derive it if possible. 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
21
“Design Google Maps” 
System Design 
Complex Real-World Problems
Scalability/Design 
W 
W 
Y 
D 
A 
W 23 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
Scalability/Design 
What 
Would 
You 
Do 
At 
Work 24 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
Scalability/Design 
• Scope the problem 
• Ask questions 
• Figure out biggest components 
• Discuss tradeoffs 
• Think about challenges/bottlenecks 
• TEAMWORK! 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
25
Problem Solving / Algorithm Questions 
Why why why why why why why why meeeee 
It happens for a reason.
Why? 
27 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
Why? 
• Strong foundation in CS 
• Analytic skills/intelligence. 
• Ability to make tradeoffs. 
• Discussion/teamwork ability. 
• How you think about a problem. 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
28
How You Are Judged 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
29 
How did you do RELATIVE 
to other candidates on 
the SAME question?
Essential Knowledge 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
30 
Data Structures Algorithms Concepts 
Arrays / ArrayLists Merge Sort Big O (Time & 
Space) 
Hash Tables Quick Sort Recursion 
Trees (+ Tries) Breadth-First 
Search 
Memoization / 
Dynamic 
Programming 
Graphs Depth-First Search 
Stacks / Queues Binary Search 
Heaps
Preparation 
• Implement DS/Algorithms 
• MASTER Big O 
• Practice with interview questions 
• Code on paper/whiteboard 
• Mock interviews 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
PUSH YOURSELF! 31
Solving a Problem Solving Question 
How to… attempt to nail a question in 7 easy[ish] steps 
There’s a method to the madness.
33 
CrackingTheCodingInterview.com 
“Resources” 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
0. TALK 
34 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
1. Listen 
35 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
2. Example 
BIG ENOUGH 
+ 
GENERAL PURPOSE 
36 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
Ex: Intersection of 2 Sorted Distinct Arrays 
[1, 12, 15, 19] 
[2, 12, 13, 20] 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
37 
Too small
Ex: Intersection of 2 Sorted Distinct Arrays 
[1, 12, 15, 19, 20, 21] 
[2, 12, 13, 17, 18, 25] 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
38 
Special case 
|A| = |B|
Ex: Intersection of 2 Sorted Distinct Arrays 
[1, 12, 15, 19, 20, 21] 
[2, 12, 13, 17, 18, 25, 27] 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
39 
Special case 
One element in common
Ex: Intersection of 2 Sorted Distinct Arrays 
[1, 12, 15, 19, 20, 21] 
[2, 12, 13, 19, 18, 25, 27] 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
40 
Special case 
Common elements at same index
Ex: Intersection of 2 Sorted Distinct Arrays 
[1, 12, 15, 19, 20, 21] 
[2, 15, 17, 19, 21, 25, 27] 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
41 
Good enough.
3. Brute Force 
42 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
4. Optimize 
43 
Walk 
through 
brute force 
Look for 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
optimizations 
(BUD!)
4. Optimize… BUD? 
Bottlenecks 
Unnecessary work 
Duplicated work 
44 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
Ex: Intersection of 2 Sorted Distinct Arrays 
[1, 12, 15, 19, 20, 21] 
[2, 15, 17, 19, 21, 25, 27] 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
45 
Bottleneck: searching
Ex: a3 + b3 = c3 + d3 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
46 
Unnecessary work: 
looking for d
Ex: a3 + b3 = c3 + d3 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
47 
Unnecessary work: 
looking for d
Ex: a3 + b3 = c3 + d3 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
48 
Duplicated work: 
c, d pairs over and over
Ex: a3 + b3 = c3 + d3 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
49 
Duplicated work: 
c, d pairs over and over
Ex: a3 + b3 = c3 + d3 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
50 
Duplicated work: 
c, d pairs over and over
MORE! MORE! 
• BUD 
• Space/time tradeoff 
• Precompute / cache 
• Hash tables 
• Other DS: heaps, trees, stacks 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
PUSH YOURSELF! 51
5. Walk Through 
52 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
5. Walk Through 
53 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
Know the variables 
And when they change
6. Write BEAUTIFUL code 
54 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
6. Write BEAUTIFUL code 
•Well modularized 
• Error cases (at least with TODOs) 
• Clean and neat 
• Good variables 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
55
6. Modularized code 
56 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
7. Testing 
1. Conceptual - does it make sense? 
2. Weird stuff (x = len – 2) 
3. Hot spots (end of list) 
4. Small test cases 
5. Special test cases 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
57
How You Are Judged 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
58 
How did you do RELATIVE 
to other candidates on 
the SAME question?
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
59 
So RELAX! 
Interviews are supposed to be hard! 
Everyone makes mistakes. 
Everyone!
60 
Talk to your interviewer 
Be a great engineer. 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
More Resources 
gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 
61 
CareerCup.com 
• Interview Videos 
• Resume Review 
• Mock Interviews 
• Consulting 
Or, follow me online at… 
• twitter.com/gayle 
• facebook.com/gayle 
• gayle.com 
• gayle@gayle.com 
• quora.com

More Related Content

What's hot

Cracking the Interview Skills (Coding, Soft Skills, Product Management) Handouts
Cracking the Interview Skills (Coding, Soft Skills, Product Management) HandoutsCracking the Interview Skills (Coding, Soft Skills, Product Management) Handouts
Cracking the Interview Skills (Coding, Soft Skills, Product Management) Handouts
Gayle McDowell
 
Solr consistency and recovery internals
Solr consistency and recovery internalsSolr consistency and recovery internals
Solr consistency and recovery internals
Cloudera, Inc.
 
5 Why Problem solving Simplified!
5 Why Problem solving Simplified!5 Why Problem solving Simplified!
5 Why Problem solving Simplified!
Bino Punnoose
 
Integrations - Thinking outside the box - Presentation Engage 2023 in Amsterdam
Integrations - Thinking outside the box - Presentation Engage 2023 in AmsterdamIntegrations - Thinking outside the box - Presentation Engage 2023 in Amsterdam
Integrations - Thinking outside the box - Presentation Engage 2023 in Amsterdam
Roland Driesen
 
January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12
Howard Greenberg
 
Die ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web AdministratorenDie ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web Administratoren
panagenda
 
Claves de la semana del 20 al 26 de febrero
Claves de la semana del 20 al 26 de febreroClaves de la semana del 20 al 26 de febrero
Claves de la semana del 20 al 26 de febrero
Cesce
 
OSINT - Yandex Search
OSINT - Yandex SearchOSINT - Yandex Search
OSINT - Yandex Search
Raghav Bisht
 
DNSTap Webinar
DNSTap WebinarDNSTap Webinar
DNSTap Webinar
Men and Mice
 
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesApril, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
Howard Greenberg
 
Transparent Hugepages in RHEL 6
Transparent Hugepages in RHEL 6 Transparent Hugepages in RHEL 6
Transparent Hugepages in RHEL 6
Raghu Udiyar
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification Manager
Howard Greenberg
 
Introducing the R2DBC async Java connector
Introducing the R2DBC async Java connectorIntroducing the R2DBC async Java connector
Introducing the R2DBC async Java connector
MariaDB plc
 
Basic Unix
Basic UnixBasic Unix
Basic Unix
Rajesh Kumar
 
Materialized Column: An Efficient Way to Optimize Queries on Nested Columns
Materialized Column: An Efficient Way to Optimize Queries on Nested ColumnsMaterialized Column: An Efficient Way to Optimize Queries on Nested Columns
Materialized Column: An Efficient Way to Optimize Queries on Nested Columns
Databricks
 
5 why training_presentation
5 why training_presentation5 why training_presentation
5 why training_presentation
Md.Aminul Islam ,CMRP,CSSBB
 
Beware the potholes on the road to serverless
Beware the potholes on the road to serverlessBeware the potholes on the road to serverless
Beware the potholes on the road to serverless
Yan Cui
 
Hacking ATM machines for fun and profit!
Hacking ATM machines for fun and profit!Hacking ATM machines for fun and profit!
Hacking ATM machines for fun and profit!
Zigoo0
 
Improving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux ConfigurationImproving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux Configuration
Alex Moundalexis
 

What's hot (20)

Cracking the Interview Skills (Coding, Soft Skills, Product Management) Handouts
Cracking the Interview Skills (Coding, Soft Skills, Product Management) HandoutsCracking the Interview Skills (Coding, Soft Skills, Product Management) Handouts
Cracking the Interview Skills (Coding, Soft Skills, Product Management) Handouts
 
Solr consistency and recovery internals
Solr consistency and recovery internalsSolr consistency and recovery internals
Solr consistency and recovery internals
 
5 Why Problem solving Simplified!
5 Why Problem solving Simplified!5 Why Problem solving Simplified!
5 Why Problem solving Simplified!
 
Integrations - Thinking outside the box - Presentation Engage 2023 in Amsterdam
Integrations - Thinking outside the box - Presentation Engage 2023 in AmsterdamIntegrations - Thinking outside the box - Presentation Engage 2023 in Amsterdam
Integrations - Thinking outside the box - Presentation Engage 2023 in Amsterdam
 
January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12
 
Die ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web AdministratorenDie ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web Administratoren
 
Claves de la semana del 20 al 26 de febrero
Claves de la semana del 20 al 26 de febreroClaves de la semana del 20 al 26 de febrero
Claves de la semana del 20 al 26 de febrero
 
OSINT - Yandex Search
OSINT - Yandex SearchOSINT - Yandex Search
OSINT - Yandex Search
 
DNSTap Webinar
DNSTap WebinarDNSTap Webinar
DNSTap Webinar
 
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesApril, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
 
Transparent Hugepages in RHEL 6
Transparent Hugepages in RHEL 6 Transparent Hugepages in RHEL 6
Transparent Hugepages in RHEL 6
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification Manager
 
Introducing the R2DBC async Java connector
Introducing the R2DBC async Java connectorIntroducing the R2DBC async Java connector
Introducing the R2DBC async Java connector
 
Basic Unix
Basic UnixBasic Unix
Basic Unix
 
Materialized Column: An Efficient Way to Optimize Queries on Nested Columns
Materialized Column: An Efficient Way to Optimize Queries on Nested ColumnsMaterialized Column: An Efficient Way to Optimize Queries on Nested Columns
Materialized Column: An Efficient Way to Optimize Queries on Nested Columns
 
5 why training_presentation
5 why training_presentation5 why training_presentation
5 why training_presentation
 
8D problem solving
8D problem solving8D problem solving
8D problem solving
 
Beware the potholes on the road to serverless
Beware the potholes on the road to serverlessBeware the potholes on the road to serverless
Beware the potholes on the road to serverless
 
Hacking ATM machines for fun and profit!
Hacking ATM machines for fun and profit!Hacking ATM machines for fun and profit!
Hacking ATM machines for fun and profit!
 
Improving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux ConfigurationImproving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux Configuration
 

Similar to Cracking the Coding Interview

Hiring Great Product Managers
Hiring Great Product ManagersHiring Great Product Managers
Hiring Great Product Managers
Gayle McDowell
 
Going Beyond Written Content - David Rohrer, NorthSide Metrics
Going Beyond Written Content - David Rohrer, NorthSide MetricsGoing Beyond Written Content - David Rohrer, NorthSide Metrics
Going Beyond Written Content - David Rohrer, NorthSide Metrics
DigiMarCon - Digital Marketing, Media and Advertising Conferences & Exhibitions
 
App Smashing for Beginners - TCEA 2015
App Smashing for Beginners - TCEA 2015App Smashing for Beginners - TCEA 2015
App Smashing for Beginners - TCEA 2015
Diana Benner
 
Re-Charge Classroom Instruction with Google Sites - TCEA 2015
Re-Charge Classroom Instruction with Google Sites - TCEA 2015Re-Charge Classroom Instruction with Google Sites - TCEA 2015
Re-Charge Classroom Instruction with Google Sites - TCEA 2015
Diana Benner
 
Interviewing Great Developers: Reverse Engineering Interview Coaching to Crea...
Interviewing Great Developers: Reverse Engineering Interview Coaching to Crea...Interviewing Great Developers: Reverse Engineering Interview Coaching to Crea...
Interviewing Great Developers: Reverse Engineering Interview Coaching to Crea...
Gayle McDowell
 
RVHS TeachMeet 10 February 2015
RVHS TeachMeet 10 February 2015RVHS TeachMeet 10 February 2015
RVHS TeachMeet 10 February 2015
rvhstl
 
Introduction to PBL
Introduction to PBLIntroduction to PBL
Introduction to PBL
Gail Lovely
 
PBL for 4-8 by Gail Lovely
PBL for 4-8 by Gail LovelyPBL for 4-8 by Gail Lovely
PBL for 4-8 by Gail LovelyGail Lovely
 
Bbi 2420 pjj ppg assignment 1- portfolio
Bbi 2420 pjj ppg  assignment 1-  portfolioBbi 2420 pjj ppg  assignment 1-  portfolio
Bbi 2420 pjj ppg assignment 1- portfoliorobeah
 
Reverse Engineering Engineering Interviewing: How to Be a Great Interviewer
Reverse Engineering Engineering Interviewing: How to Be a Great InterviewerReverse Engineering Engineering Interviewing: How to Be a Great Interviewer
Reverse Engineering Engineering Interviewing: How to Be a Great Interviewer
Gayle McDowell
 
Selfish Accessibility: HTML5 Developer Conference 2014
Selfish Accessibility: HTML5 Developer Conference 2014Selfish Accessibility: HTML5 Developer Conference 2014
Selfish Accessibility: HTML5 Developer Conference 2014
Adrian Roselli
 
BBCON 2012 - Top 10 Social Media Tactics for Schools
BBCON 2012 - Top 10 Social Media Tactics for SchoolsBBCON 2012 - Top 10 Social Media Tactics for Schools
BBCON 2012 - Top 10 Social Media Tactics for Schools
Rachel Welsh
 
Innovative Professional Learning Models - CTS Academy 16
Innovative Professional Learning Models - CTS Academy 16Innovative Professional Learning Models - CTS Academy 16
Innovative Professional Learning Models - CTS Academy 16
Diana Benner
 
Getting people together
Getting people togetherGetting people together
Getting people together
Mike Ellis
 
5 Ways to Contribute to WordPress (If You're Not a Developer)
5 Ways to Contribute to WordPress (If You're Not a Developer)5 Ways to Contribute to WordPress (If You're Not a Developer)
5 Ways to Contribute to WordPress (If You're Not a Developer)
Adam W. Warner
 
Russell Stannard IATEFL 2018- Developing Learner Independence through online ...
Russell Stannard IATEFL 2018- Developing Learner Independence through online ...Russell Stannard IATEFL 2018- Developing Learner Independence through online ...
Russell Stannard IATEFL 2018- Developing Learner Independence through online ...
Russell Stannard
 
Going Digital with Formative Assessment - Tos Frisco 16
Going Digital with Formative Assessment - Tos Frisco 16Going Digital with Formative Assessment - Tos Frisco 16
Going Digital with Formative Assessment - Tos Frisco 16
Diana Benner
 
Get Your Students' Heart Racing with Web 2.0 Tools
Get Your Students' Heart Racing with Web 2.0 ToolsGet Your Students' Heart Racing with Web 2.0 Tools
Get Your Students' Heart Racing with Web 2.0 Tools
DMMCDONN
 
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data ModelerThe Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
DATAVERSITY
 
Silicon Valley Youth coders kick-off presentation
Silicon Valley Youth coders kick-off presentationSilicon Valley Youth coders kick-off presentation
Silicon Valley Youth coders kick-off presentation
Shivaum Kumar
 

Similar to Cracking the Coding Interview (20)

Hiring Great Product Managers
Hiring Great Product ManagersHiring Great Product Managers
Hiring Great Product Managers
 
Going Beyond Written Content - David Rohrer, NorthSide Metrics
Going Beyond Written Content - David Rohrer, NorthSide MetricsGoing Beyond Written Content - David Rohrer, NorthSide Metrics
Going Beyond Written Content - David Rohrer, NorthSide Metrics
 
App Smashing for Beginners - TCEA 2015
App Smashing for Beginners - TCEA 2015App Smashing for Beginners - TCEA 2015
App Smashing for Beginners - TCEA 2015
 
Re-Charge Classroom Instruction with Google Sites - TCEA 2015
Re-Charge Classroom Instruction with Google Sites - TCEA 2015Re-Charge Classroom Instruction with Google Sites - TCEA 2015
Re-Charge Classroom Instruction with Google Sites - TCEA 2015
 
Interviewing Great Developers: Reverse Engineering Interview Coaching to Crea...
Interviewing Great Developers: Reverse Engineering Interview Coaching to Crea...Interviewing Great Developers: Reverse Engineering Interview Coaching to Crea...
Interviewing Great Developers: Reverse Engineering Interview Coaching to Crea...
 
RVHS TeachMeet 10 February 2015
RVHS TeachMeet 10 February 2015RVHS TeachMeet 10 February 2015
RVHS TeachMeet 10 February 2015
 
Introduction to PBL
Introduction to PBLIntroduction to PBL
Introduction to PBL
 
PBL for 4-8 by Gail Lovely
PBL for 4-8 by Gail LovelyPBL for 4-8 by Gail Lovely
PBL for 4-8 by Gail Lovely
 
Bbi 2420 pjj ppg assignment 1- portfolio
Bbi 2420 pjj ppg  assignment 1-  portfolioBbi 2420 pjj ppg  assignment 1-  portfolio
Bbi 2420 pjj ppg assignment 1- portfolio
 
Reverse Engineering Engineering Interviewing: How to Be a Great Interviewer
Reverse Engineering Engineering Interviewing: How to Be a Great InterviewerReverse Engineering Engineering Interviewing: How to Be a Great Interviewer
Reverse Engineering Engineering Interviewing: How to Be a Great Interviewer
 
Selfish Accessibility: HTML5 Developer Conference 2014
Selfish Accessibility: HTML5 Developer Conference 2014Selfish Accessibility: HTML5 Developer Conference 2014
Selfish Accessibility: HTML5 Developer Conference 2014
 
BBCON 2012 - Top 10 Social Media Tactics for Schools
BBCON 2012 - Top 10 Social Media Tactics for SchoolsBBCON 2012 - Top 10 Social Media Tactics for Schools
BBCON 2012 - Top 10 Social Media Tactics for Schools
 
Innovative Professional Learning Models - CTS Academy 16
Innovative Professional Learning Models - CTS Academy 16Innovative Professional Learning Models - CTS Academy 16
Innovative Professional Learning Models - CTS Academy 16
 
Getting people together
Getting people togetherGetting people together
Getting people together
 
5 Ways to Contribute to WordPress (If You're Not a Developer)
5 Ways to Contribute to WordPress (If You're Not a Developer)5 Ways to Contribute to WordPress (If You're Not a Developer)
5 Ways to Contribute to WordPress (If You're Not a Developer)
 
Russell Stannard IATEFL 2018- Developing Learner Independence through online ...
Russell Stannard IATEFL 2018- Developing Learner Independence through online ...Russell Stannard IATEFL 2018- Developing Learner Independence through online ...
Russell Stannard IATEFL 2018- Developing Learner Independence through online ...
 
Going Digital with Formative Assessment - Tos Frisco 16
Going Digital with Formative Assessment - Tos Frisco 16Going Digital with Formative Assessment - Tos Frisco 16
Going Digital with Formative Assessment - Tos Frisco 16
 
Get Your Students' Heart Racing with Web 2.0 Tools
Get Your Students' Heart Racing with Web 2.0 ToolsGet Your Students' Heart Racing with Web 2.0 Tools
Get Your Students' Heart Racing with Web 2.0 Tools
 
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data ModelerThe Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
 
Silicon Valley Youth coders kick-off presentation
Silicon Valley Youth coders kick-off presentationSilicon Valley Youth coders kick-off presentation
Silicon Valley Youth coders kick-off presentation
 

More from Gayle McDowell

Cracking the PM Interview
Cracking the PM InterviewCracking the PM Interview
Cracking the PM Interview
Gayle McDowell
 
Cracking the Coding interview (Abbreviated) - aug 2016
Cracking the Coding interview (Abbreviated) - aug 2016Cracking the Coding interview (Abbreviated) - aug 2016
Cracking the Coding interview (Abbreviated) - aug 2016
Gayle McDowell
 
Architecture of Tech Interviews
Architecture of Tech InterviewsArchitecture of Tech Interviews
Architecture of Tech Interviews
Gayle McDowell
 
Cracking the PM Interview
Cracking the PM InterviewCracking the PM Interview
Cracking the PM Interview
Gayle McDowell
 
Cracking the Product Manager Interview
Cracking the Product Manager InterviewCracking the Product Manager Interview
Cracking the Product Manager Interview
Gayle McDowell
 
How to Hire Software Engineers: Best and Worst Practices
How to Hire Software Engineers: Best and Worst PracticesHow to Hire Software Engineers: Best and Worst Practices
How to Hire Software Engineers: Best and Worst Practices
Gayle McDowell
 
Prepping Your Engineering Candidates to Reduce Your False Negatives
Prepping Your Engineering Candidates to Reduce Your False NegativesPrepping Your Engineering Candidates to Reduce Your False Negatives
Prepping Your Engineering Candidates to Reduce Your False Negatives
Gayle McDowell
 
Creating the (Im)perfect Developer Interview
Creating the (Im)perfect Developer InterviewCreating the (Im)perfect Developer Interview
Creating the (Im)perfect Developer Interview
Gayle McDowell
 
Cracking the Product Manager Interview
Cracking the Product Manager InterviewCracking the Product Manager Interview
Cracking the Product Manager Interview
Gayle McDowell
 
Transitioning from Engineering to Product Management
Transitioning from Engineering to Product ManagementTransitioning from Engineering to Product Management
Transitioning from Engineering to Product Management
Gayle McDowell
 
Cracking the Coding & PM Interview (Jan 2014)
Cracking the Coding & PM Interview (Jan 2014)Cracking the Coding & PM Interview (Jan 2014)
Cracking the Coding & PM Interview (Jan 2014)
Gayle McDowell
 

More from Gayle McDowell (11)

Cracking the PM Interview
Cracking the PM InterviewCracking the PM Interview
Cracking the PM Interview
 
Cracking the Coding interview (Abbreviated) - aug 2016
Cracking the Coding interview (Abbreviated) - aug 2016Cracking the Coding interview (Abbreviated) - aug 2016
Cracking the Coding interview (Abbreviated) - aug 2016
 
Architecture of Tech Interviews
Architecture of Tech InterviewsArchitecture of Tech Interviews
Architecture of Tech Interviews
 
Cracking the PM Interview
Cracking the PM InterviewCracking the PM Interview
Cracking the PM Interview
 
Cracking the Product Manager Interview
Cracking the Product Manager InterviewCracking the Product Manager Interview
Cracking the Product Manager Interview
 
How to Hire Software Engineers: Best and Worst Practices
How to Hire Software Engineers: Best and Worst PracticesHow to Hire Software Engineers: Best and Worst Practices
How to Hire Software Engineers: Best and Worst Practices
 
Prepping Your Engineering Candidates to Reduce Your False Negatives
Prepping Your Engineering Candidates to Reduce Your False NegativesPrepping Your Engineering Candidates to Reduce Your False Negatives
Prepping Your Engineering Candidates to Reduce Your False Negatives
 
Creating the (Im)perfect Developer Interview
Creating the (Im)perfect Developer InterviewCreating the (Im)perfect Developer Interview
Creating the (Im)perfect Developer Interview
 
Cracking the Product Manager Interview
Cracking the Product Manager InterviewCracking the Product Manager Interview
Cracking the Product Manager Interview
 
Transitioning from Engineering to Product Management
Transitioning from Engineering to Product ManagementTransitioning from Engineering to Product Management
Transitioning from Engineering to Product Management
 
Cracking the Coding & PM Interview (Jan 2014)
Cracking the Coding & PM Interview (Jan 2014)Cracking the Coding & PM Interview (Jan 2014)
Cracking the Coding & PM Interview (Jan 2014)
 

Recently uploaded

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 

Recently uploaded (20)

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 

Cracking the Coding Interview

  • 1. Cracking the Coding Interview Gayle Laakmann McDowell Strategies to Prepare for and Crack the Programming Interview 10/11/20 14
  • 2. Hi! I’m Gayle LaakmannMcDowell gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 1 (CS) (MBA) <dev> </dev> Author Interview Coach Interview Consulting
  • 3. The Perfect Candidate 2 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 4. The Perfect Candidate 3 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 5. Does the “perfect” candidate really exist? … Yes. Many. Lots. BUT! Many successful candidates aren’t perfect!
  • 6. TODAY’S AGENDA How to become a more perfect dev candidate
  • 7. The Perfect Candidate 6 How to Become a More gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 8. 7 The Perfect Candidate How to Become a More gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 9. The Perfect Candidate gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 8 How to Become a More •Coursera •Bootcamps •Read lots. •Write lots.
  • 10. The Perfect Candidate gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 9 How to Become a More • Hackathons • Diversity languages. • Independent projects.
  • 11. The Perfect Candidate gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 10 How to Become a More • Startups • Start your own
  • 12. The Perfect Candidate gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 11 How to Become a More • Length: • 1 – 2 pages. • 1 – 2 lines per bullet. • 3 – 6 bullets per company. • Projects. • Clear accomplishments. • Technical… • But not overwhelming. CareerCup.com/Resume
  • 13. 12 The Perfect Candidate How to Become a More gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 14. 13 The Perfect Candidate How to Become a More gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 15. THE SOFT SQUISHY STUFF aka Behavioral Questions great bang for your buck
  • 16. The Pitch / Resume Walk-Through 15 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 17. Your Past Work/Projects • Prep 1 – 2 projects • Hard/Cool • You = Central • Technical Depth • All past work (esp. last job) • Challenges, design/architecture, tradeoffs, gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 mistakes, successes, motivations • What did YOU do? 16
  • 18. Technical Questions Why why why why why why why why meeeee It happens for a reason.
  • 19. What Really Happens 18 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 20. What Really Happens • Knowledge Questions • Design/Scalability (+ coding) • Problem Solving (+ coding) • Coding gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 19
  • 21. Knowledge Questions “What is a static class in Java?” Trivia, Details, etc.
  • 22. Knowledge Questions • Know your stuff. • Be cautious about what you list. • If you don’t know, admit it. • Derive it if possible. gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 21
  • 23. “Design Google Maps” System Design Complex Real-World Problems
  • 24. Scalability/Design W W Y D A W 23 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 25. Scalability/Design What Would You Do At Work 24 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 26. Scalability/Design • Scope the problem • Ask questions • Figure out biggest components • Discuss tradeoffs • Think about challenges/bottlenecks • TEAMWORK! gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 25
  • 27. Problem Solving / Algorithm Questions Why why why why why why why why meeeee It happens for a reason.
  • 28. Why? 27 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 29. Why? • Strong foundation in CS • Analytic skills/intelligence. • Ability to make tradeoffs. • Discussion/teamwork ability. • How you think about a problem. gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 28
  • 30. How You Are Judged gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 29 How did you do RELATIVE to other candidates on the SAME question?
  • 31. Essential Knowledge gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 30 Data Structures Algorithms Concepts Arrays / ArrayLists Merge Sort Big O (Time & Space) Hash Tables Quick Sort Recursion Trees (+ Tries) Breadth-First Search Memoization / Dynamic Programming Graphs Depth-First Search Stacks / Queues Binary Search Heaps
  • 32. Preparation • Implement DS/Algorithms • MASTER Big O • Practice with interview questions • Code on paper/whiteboard • Mock interviews gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 PUSH YOURSELF! 31
  • 33. Solving a Problem Solving Question How to… attempt to nail a question in 7 easy[ish] steps There’s a method to the madness.
  • 34. 33 CrackingTheCodingInterview.com “Resources” gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 35. 0. TALK 34 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 36. 1. Listen 35 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 37. 2. Example BIG ENOUGH + GENERAL PURPOSE 36 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 38. Ex: Intersection of 2 Sorted Distinct Arrays [1, 12, 15, 19] [2, 12, 13, 20] gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 37 Too small
  • 39. Ex: Intersection of 2 Sorted Distinct Arrays [1, 12, 15, 19, 20, 21] [2, 12, 13, 17, 18, 25] gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 38 Special case |A| = |B|
  • 40. Ex: Intersection of 2 Sorted Distinct Arrays [1, 12, 15, 19, 20, 21] [2, 12, 13, 17, 18, 25, 27] gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 39 Special case One element in common
  • 41. Ex: Intersection of 2 Sorted Distinct Arrays [1, 12, 15, 19, 20, 21] [2, 12, 13, 19, 18, 25, 27] gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 40 Special case Common elements at same index
  • 42. Ex: Intersection of 2 Sorted Distinct Arrays [1, 12, 15, 19, 20, 21] [2, 15, 17, 19, 21, 25, 27] gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 41 Good enough.
  • 43. 3. Brute Force 42 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 44. 4. Optimize 43 Walk through brute force Look for gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 optimizations (BUD!)
  • 45. 4. Optimize… BUD? Bottlenecks Unnecessary work Duplicated work 44 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 46. Ex: Intersection of 2 Sorted Distinct Arrays [1, 12, 15, 19, 20, 21] [2, 15, 17, 19, 21, 25, 27] gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 45 Bottleneck: searching
  • 47. Ex: a3 + b3 = c3 + d3 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 46 Unnecessary work: looking for d
  • 48. Ex: a3 + b3 = c3 + d3 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 47 Unnecessary work: looking for d
  • 49. Ex: a3 + b3 = c3 + d3 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 48 Duplicated work: c, d pairs over and over
  • 50. Ex: a3 + b3 = c3 + d3 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 49 Duplicated work: c, d pairs over and over
  • 51. Ex: a3 + b3 = c3 + d3 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 50 Duplicated work: c, d pairs over and over
  • 52. MORE! MORE! • BUD • Space/time tradeoff • Precompute / cache • Hash tables • Other DS: heaps, trees, stacks gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 PUSH YOURSELF! 51
  • 53. 5. Walk Through 52 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 54. 5. Walk Through 53 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 Know the variables And when they change
  • 55. 6. Write BEAUTIFUL code 54 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 56. 6. Write BEAUTIFUL code •Well modularized • Error cases (at least with TODOs) • Clean and neat • Good variables gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 55
  • 57. 6. Modularized code 56 gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 58. 7. Testing 1. Conceptual - does it make sense? 2. Weird stuff (x = len – 2) 3. Hot spots (end of list) 4. Small test cases 5. Special test cases gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 57
  • 59. How You Are Judged gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 58 How did you do RELATIVE to other candidates on the SAME question?
  • 60. gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 59 So RELAX! Interviews are supposed to be hard! Everyone makes mistakes. Everyone!
  • 61. 60 Talk to your interviewer Be a great engineer. gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014
  • 62. More Resources gayle.com | twitter.com/gayle | facebook.com/gayle 10/11/2014 61 CareerCup.com • Interview Videos • Resume Review • Mock Interviews • Consulting Or, follow me online at… • twitter.com/gayle • facebook.com/gayle • gayle.com • gayle@gayle.com • quora.com

Editor's Notes

  1. The Perfect Candidate: great academics, lots of projects, great work experience… packaged in a great resume.
  2. Then, in the interview: great algorithms and problem solving, great whiteboard coding, great system design, knowledgeable and experience, and a good team player.
  3. Solve system design questions like you would a real problem at work.
  4. Going to tell you why companies do this. Don’t shoot the messenger!