SlideShare une entreprise Scribd logo
1  sur  62
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

Contenu connexe

Tendances

SRE Demystified - 16 - NALSD - Non-Abstract Large System Design
SRE Demystified - 16 - NALSD - Non-Abstract Large System DesignSRE Demystified - 16 - NALSD - Non-Abstract Large System Design
SRE Demystified - 16 - NALSD - Non-Abstract Large System DesignDr Ganesh Iyer
 
What Every Developer Should Know About Database Scalability
What Every Developer Should Know About Database ScalabilityWhat Every Developer Should Know About Database Scalability
What Every Developer Should Know About Database Scalabilityjbellis
 
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...Vietnam Open Infrastructure User Group
 
Demystifying the Distributed Database Landscape (DevOps) (1).pdf
Demystifying the Distributed Database Landscape (DevOps) (1).pdfDemystifying the Distributed Database Landscape (DevOps) (1).pdf
Demystifying the Distributed Database Landscape (DevOps) (1).pdfScyllaDB
 
Pg chameleon, mysql to postgresql replica made easy
Pg chameleon, mysql to postgresql replica made easyPg chameleon, mysql to postgresql replica made easy
Pg chameleon, mysql to postgresql replica made easyFederico Campoli
 
GitHub Actions in action
GitHub Actions in actionGitHub Actions in action
GitHub Actions in actionOleksii Holub
 
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...DataStax
 
C* Summit 2013: How Not to Use Cassandra by Axel Liljencrantz
C* Summit 2013: How Not to Use Cassandra by Axel LiljencrantzC* Summit 2013: How Not to Use Cassandra by Axel Liljencrantz
C* Summit 2013: How Not to Use Cassandra by Axel LiljencrantzDataStax Academy
 
17 illustrated brainstorm tips
17 illustrated brainstorm tips17 illustrated brainstorm tips
17 illustrated brainstorm tipsMarc Heleven
 
Understanding Data Partitioning and Replication in Apache Cassandra
Understanding Data Partitioning and Replication in Apache CassandraUnderstanding Data Partitioning and Replication in Apache Cassandra
Understanding Data Partitioning and Replication in Apache CassandraDataStax
 
Top 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applicationsTop 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applicationshadooparchbook
 
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)Brian Brazil
 
Boas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de DadosBoas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de DadosJuliano Atanazio
 
Monitoring your Python with Prometheus (Python Ireland April 2015)
Monitoring your Python with Prometheus (Python Ireland April 2015)Monitoring your Python with Prometheus (Python Ireland April 2015)
Monitoring your Python with Prometheus (Python Ireland April 2015)Brian Brazil
 
DNS Security Presentation ISSA
DNS Security Presentation ISSADNS Security Presentation ISSA
DNS Security Presentation ISSASrikrupa Srivatsan
 
Beyond Hexagonal architecture
Beyond Hexagonal architectureBeyond Hexagonal architecture
Beyond Hexagonal architectureThomas Pierrain
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & FeaturesDataStax Academy
 
High Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando PatroniHigh Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando PatroniZalando Technology
 

Tendances (20)

SRE Demystified - 16 - NALSD - Non-Abstract Large System Design
SRE Demystified - 16 - NALSD - Non-Abstract Large System DesignSRE Demystified - 16 - NALSD - Non-Abstract Large System Design
SRE Demystified - 16 - NALSD - Non-Abstract Large System Design
 
Github in Action
Github in ActionGithub in Action
Github in Action
 
What Every Developer Should Know About Database Scalability
What Every Developer Should Know About Database ScalabilityWhat Every Developer Should Know About Database Scalability
What Every Developer Should Know About Database Scalability
 
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
 
Demystifying the Distributed Database Landscape (DevOps) (1).pdf
Demystifying the Distributed Database Landscape (DevOps) (1).pdfDemystifying the Distributed Database Landscape (DevOps) (1).pdf
Demystifying the Distributed Database Landscape (DevOps) (1).pdf
 
Pg chameleon, mysql to postgresql replica made easy
Pg chameleon, mysql to postgresql replica made easyPg chameleon, mysql to postgresql replica made easy
Pg chameleon, mysql to postgresql replica made easy
 
GitHub Actions in action
GitHub Actions in actionGitHub Actions in action
GitHub Actions in action
 
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
 
C* Summit 2013: How Not to Use Cassandra by Axel Liljencrantz
C* Summit 2013: How Not to Use Cassandra by Axel LiljencrantzC* Summit 2013: How Not to Use Cassandra by Axel Liljencrantz
C* Summit 2013: How Not to Use Cassandra by Axel Liljencrantz
 
17 illustrated brainstorm tips
17 illustrated brainstorm tips17 illustrated brainstorm tips
17 illustrated brainstorm tips
 
Understanding Data Partitioning and Replication in Apache Cassandra
Understanding Data Partitioning and Replication in Apache CassandraUnderstanding Data Partitioning and Replication in Apache Cassandra
Understanding Data Partitioning and Replication in Apache Cassandra
 
Top 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applicationsTop 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applications
 
Google Cloud Dataflow
Google Cloud DataflowGoogle Cloud Dataflow
Google Cloud Dataflow
 
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
 
Boas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de DadosBoas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de Dados
 
Monitoring your Python with Prometheus (Python Ireland April 2015)
Monitoring your Python with Prometheus (Python Ireland April 2015)Monitoring your Python with Prometheus (Python Ireland April 2015)
Monitoring your Python with Prometheus (Python Ireland April 2015)
 
DNS Security Presentation ISSA
DNS Security Presentation ISSADNS Security Presentation ISSA
DNS Security Presentation ISSA
 
Beyond Hexagonal architecture
Beyond Hexagonal architectureBeyond Hexagonal architecture
Beyond Hexagonal architecture
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & Features
 
High Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando PatroniHigh Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando Patroni
 

Similaire à Cracking the Coding Interview

Hiring Great Product Managers
Hiring Great Product ManagersHiring Great Product Managers
Hiring Great Product ManagersGayle McDowell
 
App Smashing for Beginners - TCEA 2015
App Smashing for Beginners - TCEA 2015App Smashing for Beginners - TCEA 2015
App Smashing for Beginners - TCEA 2015Diana 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 2015Diana 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 2015rvhstl
 
Introduction to PBL
Introduction to PBLIntroduction to PBL
Introduction to PBLGail 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 InterviewerGayle McDowell
 
Selfish Accessibility: HTML5 Developer Conference 2014
Selfish Accessibility: HTML5 Developer Conference 2014Selfish Accessibility: HTML5 Developer Conference 2014
Selfish Accessibility: HTML5 Developer Conference 2014Adrian 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 SchoolsRachel 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 16Diana Benner
 
Getting people together
Getting people togetherGetting people together
Getting people togetherMike 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 16Diana 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 ToolsDMMCDONN
 
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 ModelerDATAVERSITY
 
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 presentationShivaum Kumar
 

Similaire à 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
 

Plus de Gayle McDowell

Cracking the PM Interview
Cracking the PM InterviewCracking the PM Interview
Cracking the PM InterviewGayle McDowell
 
How to Interview Like Google (But Better) - SVCC
How to Interview Like Google (But Better) - SVCCHow to Interview Like Google (But Better) - SVCC
How to Interview Like Google (But Better) - SVCCGayle 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 2016Gayle McDowell
 
Cracking the PM Interview
Cracking the PM InterviewCracking the PM Interview
Cracking the PM InterviewGayle McDowell
 
Cracking the Product Manager Interview
Cracking the Product Manager InterviewCracking the Product Manager Interview
Cracking the Product Manager InterviewGayle 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 PracticesGayle McDowell
 
Cracking the Algorithm & Coding Interview
Cracking the Algorithm & Coding InterviewCracking the Algorithm & Coding Interview
Cracking the Algorithm & Coding InterviewGayle 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 NegativesGayle McDowell
 
Creating the (Im)perfect Developer Interview
Creating the (Im)perfect Developer InterviewCreating the (Im)perfect Developer Interview
Creating the (Im)perfect Developer InterviewGayle McDowell
 
Cracking the Product Manager Interview
Cracking the Product Manager InterviewCracking the Product Manager Interview
Cracking the Product Manager InterviewGayle McDowell
 
Transitioning from Engineering to Product Management
Transitioning from Engineering to Product ManagementTransitioning from Engineering to Product Management
Transitioning from Engineering to Product ManagementGayle McDowell
 

Plus de Gayle McDowell (11)

Cracking the PM Interview
Cracking the PM InterviewCracking the PM Interview
Cracking the PM Interview
 
How to Interview Like Google (But Better) - SVCC
How to Interview Like Google (But Better) - SVCCHow to Interview Like Google (But Better) - SVCC
How to Interview Like Google (But Better) - SVCC
 
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
 
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
 
Cracking the Algorithm & Coding Interview
Cracking the Algorithm & Coding InterviewCracking the Algorithm & Coding Interview
Cracking the Algorithm & Coding Interview
 
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
 

Dernier

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Dernier (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

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

Notes de l'éditeur

  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!