SlideShare une entreprise Scribd logo
1  sur  45
Cracking the Coding Interview
            Advice and Strategies for
        Software Engineering Interviews
                 Gayle Laakmann McDowell
                Founder / CEO, CareerCup.com
Author of The Google Resume and Cracking the Coding Interview

                    McDowell | NIT Trichy | Feb 2012
                          CareerCup.com
Technical Skills
                             My Background
                   • Software Engineer @ GOOG, MS & Apple
                     – 3 Years on Google Hiring Committee
Behavioral




                     – Interviewed 150+ candidates
                   • Founder of CareerCup.com
                   • Author
Applying




                     – Cracking the Coding Interview
                     – The Google Resume
Process




                                   McDowell | CareerCup.com
Technical Skills
                      Slides Posted Online
                             posted at:
                   www.technologywoman.com
Behavioral




                   Click “Speaking Engagements”
Applying
Process




                             McDowell | CareerCup.com
Technical Skills
                   Process                              Applying
                    Evaluation                          Experience
                    Structure                             Resume
Behavioral




                   Soft Skills                          Tech Skills
Applying




                   Preparation                          Preparation
                     Interview                            Interview
Process




                             McDowell | CareerCup.com
Interview Process




                    McDowell | CareerCup.com
Technical Skills   Big Company Evaluation (Coding)
                            Experience
                    Personality
Behavioral




                                               Intelligence
                               Coding
                               Skills
Applying




                                                                Testing
                                                             aptitude, not
                                                              knowledge
Process




                                  McDowell | CareerCup.com
Technical Skills
                         How You Are Judged
                         How did you do RELATIVE
                          to other candidates on
                           the SAME question?
Behavioral




                   It’s not about how
                   quickly you solved
Applying




                   the problem…
                                     … it’s about how quickly
                                      you solved it relative to
Process




                                             other candidates.
                                  McDowell | CareerCup.com
Resumes & Application Process




                         McDowell | CareerCup.com
Technical Skills
                    Indians are at a disadvantage
                   • Far away
                     – Fewer recruiting opportunities
                   • Unfamiliar
Behavioral




                     – Recruiters may not understand your
                       school, GPA, etc
                   • Language barrier / Cultural differences
Applying




                     – Accents, grammar, accidental sexism
                   • Different / less experience
                     – More emphasis in US on projects
Process
Technical Skills
                               So what to do?
                   • Get equivalent experience
                   • Translate GPA & other items
Behavioral




                   • Use good grammar & punctuation
                     – On resumes, cover letters, etc
                     – No abbreviations, no sloppiness
Applying




                   • Be careful about your assumptions
                     – Sexism is not acceptable in the U.S. Ever.
Process
Technical Skills
                           Cheat Sheet for Indians
                            (Grammar / Writing)
                   • Space after comma & period. Never before.
                      – WRONG: “Hello .I am Gayle .”
                      – RIGHT: “Hello. I am Gayle.”
                   • Questions need a question mark
Behavioral




                      – WRONG: “Do you have one.”
                      – RIGHT: “Do you have one?”
                   • No abbreviations
                      – WRONG: “Ny1 dr?”
Applying




                      – RIGHT: “Is anyone there?”
                   • Commands are rude (use a question)
                      – WRONG: “Send it to me.”
                      – RIGHT: “Would you mind sending it to me?”
Process
Technical Skills
                           Cheat Sheet for Indians
                             (Gender / Sexism)
                   • Mr. LastName / Ms. LastName
                      – WRONG: Ms. Gayle
                      – RIGHT: Ms. McDowell
Behavioral




                      – But “Dear Gayle” is perfectly okay in U.S.
                   • “Guy” / “Guys” is not unisex* in the U.S.
                      – WRONG: “I need to hire a really smart CS guy.”
                      – *Except: “you guys” and “hey guys”
                   • Don’t assume that people are male / female
Applying




                      – (Just don’t use Mr. / Ms. in emails!)
                   • It is EXTREMELY offensive to comment on
                     someone’s looks
                      – But a great way to get fired / rejected
Process
Technical Skills
                         Cheat Sheet for Indians
                          (Getting Experience)
                   • Build something!
                           Don’t waste your summers!
Behavioral




                   • Make a kick-ass resume
                            It’s really not that hard.
Applying
Process




                                  McDowell | CareerCup.com
Technical Skills    How We Review Resumes (U.S.)
                   1.   Pull resume out of giant stack
                   2.   Spot-check: company names,                “Glanced
                                                                at,” not read.
                        positions, projects, schools.
Behavioral




                                                                   15 – 30
                   3.   Skim bullets to see if you’ve              seconds

                        written real code.
Applying




                            Reject                 Interview


                   4.   Go to next resume & whine about
                        how many more you have left.
Process




                                     McDowell | CareerCup.com
How CS Resume
Should Look (U.S.)                Observe: No Objective!
                                  Objectives / summaries
   One Page Only!                are almost always useless.
 Unless > 10 years exp.

       A Real Resume Format
       with organized columns

Short (1 – 2 line bullets)

     Focus on Accomplishments
         not responsibilities
  GPA - Translated
 We don’t understand
     “first class”

             3 – 4 Projects
        Courses & independent
        Finished or unfinished
List of Technical Skills
 Short! Cut the “fluff.”
Behavioral Questions



                       McDowell | CareerCup.com
Technical Skills
                          Communication Tips
                   • Goals:
                     – Answer the question.
Behavioral




                     – Deliver a *good* answer.
                     – Communicate well.
                   • Strategies:
Applying




                     – Nugget First
                     – S.A.R.: Situation, Action, Result
Process




                                     McDowell | CareerCup.com
Technical Skills
                     Preparing for Behavioral Qs
                   • Create Preparation Grid for Projects
                                          OS Project                 Amazon Intern.
Behavioral




                       Enjoyed

                       Hated

                       Most Challenging
Applying




                       Hardest Bug


                     + Behavioral Grid [for PM & less tech. roles]
Process




                                          McDowell | CareerCup.com
Technical Skills
                       Structure 1: Nugget First
                   • Lead with your “thesis” / nugget
                     – Grabs the listener’s attention
Behavioral




                     – Gives them context for where you’re going.
                    Q: What accomplishment are you
                    most proud of?
Applying




                              A: I’m most proud of the way I
                              re-architected the …
Process




                                    McDowell | CareerCup.com
Technical Skills
                        Structure 2: S.A.R.

                   S ituation              What was the issue?
Behavioral




                   A ction                 What did you do about it?


                   R esult                 What was the impact?
Applying
Process




                             McDowell | CareerCup.com
Technical Skills
Interview Prep



                   McDowell | CareerCup.com
Technical Skills
                               How to study
                   • Study the basics
                     – Complex algorithms generally unnecessary.
Behavioral




                   • Practice solving questions
                     – Don’t memorize!
                     – See: CtCI & CareerCup.com
Applying




                   • Push yourself!
                   • Write code on paper
Process




                                   McDowell | CareerCup.com
Technical Skills
                               Data Structures
                   • How to implement
                   • When to use (pros / cons)
Behavioral




                        Linked Lists              Stacks           Queues


                           Trees                   Tries           Graphs
Applying




                          Vectors                 Heaps           Hashtables
Process




                                       McDowell | CareerCup.com
Technical Skills
                                  Algorithms
                   • Implementation
                   • Space vs. Time          Quick Sort           Merge Sort
                     Complexity
Behavioral




                                       Tree Insert / Find        Binary Search
Applying




                                           Breadth-First          Depth-First
                                              Search                Search
Process




                                      McDowell | CareerCup.com
Technical Skills
                                   Concepts
                   • Not just a concept – know how to code!
Behavioral




                                   System Design &              Memory
                       Threading
                                      Scalability              Management
Applying




                                     Probability +
                       Recursion                              Bit Manipulation
                                    Combinatorics
Process




                                   McDowell | CareerCup.com
Technical Skills
Mastering the Interview



                      McDowell | CareerCup.com
Technical Skills
                            Technical Questions
                   1. Ask Questions!
                     –   Questions are more ambiguous than they appear
                   2. Talk out loud
Behavioral




                     –   Show us how you think
                   3. Think critically
                     –   Does your algorithm really work? What’s the
                         space and time complexity?
                   4. Code slowly and methodically
Applying




                     –   It’s not a race
                   5. Test your code
                     –   And make CAREFUL fixes.
Process




                                           McDowell | CareerCup.com
Technical Skills
                   What does a “good coder” do?
                   • Be methodical. Don’t try to rush.
                   • Reasonably Bug Free
Behavioral




                     –   Thorough testing (and careful fixing)
                     –   Check for error conditions
                   • Clean coding
                     –   Use other functions
Applying




                     –   Good use of data structures (define own if useful)
                     –   Concise and readable
Process




                                       McDowell | CareerCup.com
Technical Skills            Types of Interview Questions
                   Coding & Algorithms   Object Oriented Design     System Design



                    “Reverse a Linked       “Design a Parking        “Design a
Behavioral




                          List”                   Lot”              Web Crawler”
Applying
Process




                                         McDowell | CareerCup.com
Technical Skills             Types of Interview Questions

                   Coding & Algorithms     Object Oriented Design     System Design


                    Pattern Matching
Behavioral




                   Simplify & Generalize


                    Base Case & Build
Applying




                      Data Structure
                       Brainstorm
Process




                                           McDowell | CareerCup.com
Technical Skills           Algorithm Qs: Pattern Matching

                   Coding & Algorithms     Object Oriented Design         System Design


                    Pattern Matching
                                            Q: Write code to reverse the order of words
Behavioral




                                            in a sentence.
                   Simplify & Generalize       “dogs are cute”
                                               “cute are dogs”

                    Base Case & Build       Similar to: reverse characters in a string.
Applying




                                              “dogs are cute”
                      Data Structure          “etuc era sgod”
                       Brainstorm
                                            A: Reverse full string, then reverse each
                                            word.
Process




                                           McDowell | CareerCup.com
Technical Skills      Algorithm Qs: Simplify & Generalize

                   Coding & Algorithms     Object Oriented Design        System Design


                    Pattern Matching
                                            Q: Design algorithm to figure out if you can
Behavioral




                                            build a ransom note (array of strings) from a
                   Simplify & Generalize    magazine (array of strings).

                                            Simplify: what if we used characters instead
                    Base Case & Build       of strings?
Applying




                                               Build array of character frequencies.
                      Data Structure
                       Brainstorm           Generalize: how we can extend answer to
                                            words?
Process




                                            A: Build hashtable from word to frequency.
                                           McDowell | CareerCup.com
Technical Skills          Algorithm Qs: Base Case & Build

                   Coding & Algorithms     Object Oriented Design                 System Design


                    Pattern Matching        Q: Design algorithm to print subsets of set.
Behavioral




                                              {a, b, c}        {}, {a}, {b}, {c}, {a, b},
                   Simplify & Generalize                        {a, c}, {b, c}, {a, b, c}

                                            S({})                      {}
                    Base Case & Build       S({a})                     {}, {a}
Applying




                                            S({a, b})                  {}, {a}, {b}, {a, b}
                      Data Structure        S({a, b, c})              ?
                       Brainstorm
                                            A: Build S(n) by cloning S(n-1) and adding n
                                            to the cloned sets.
Process




                                           McDowell | CareerCup.com
Technical Skills   Algorithm Qs: Data Structure Brainstorm

                   Coding & Algorithms     Object Oriented Design       System Design


                    Pattern Matching        Q: There are 10^10 possible phone #s.
Behavioral




                                            Explain how you could efficiently implement
                   Simplify & Generalize    assignSpecificNum(num) and
                                            assignAnyAvailableNum().

                    Base Case & Build       Array (sorted)? Too slow to remove num.
Applying




                                            Linked list? Too slow to find specific num.
                      Data Structure        Hash table? Can’t iterate through free nums.
                       Brainstorm           Tree? Ah-ha!

                                            A: Store free #s in BST. Remove when taken.
Process




                                           McDowell | CareerCup.com
Technical Skills        How To Solve Algorithm Questions

                   Coding & Algorithms     Object Oriented Design         System Design


                    Pattern Matching          Compare to similar problems.
Behavioral




                   Simplify & Generalize      Solve first for a simplified / tweaked problem.

                    Base Case & Build
                                              Solve for n = 1, and build solution for n = 2.
Applying




                      Data Structure
                       Brainstorm             Try to apply data structure to solve problem.
Process




                                           McDowell | CareerCup.com
Technical Skills                 Object Oriented Design

                   Coding & Algorithms   Object Oriented Design      System Design


                                          Handle Ambiguity
Behavioral




                                          What about the question is ambiguous?

                                          Design the Core Objects
                                          What are the main objects in the system?
Applying




                                          Analyze Relationships
                                          How are the objects related to each other?

                                          Investigate Actions
                                          What are the main operations?
Process




                                         McDowell | CareerCup.com
Technical Skills                 Object Oriented Design

                   Coding & Algorithms   Object Oriented Design         System Design



                                           Handle Ambiguity
Behavioral




                                           Is it a single restaurant, or part of a chain?

                   How would you           Design the Core Objects
                   design the data         Guest, Party, Table, Server, Host, …
                   structures and
Applying




                    objects for a          Analyze Relationships
                                           Server and Host are both Employees…
                    restaurant?
                                           Investigate Actions
                                           A Party is seated at a Table by a Host…
Process




                                         McDowell | CareerCup.com
Technical Skills                         System Design

                   Coding & Algorithms    Object Oriented Design       System Design


                                           Handle Ambiguity
Behavioral




                                           What about the question is ambiguous?

                                           Make Believe
                                           Pretend there wasn’t so much data & solve
Applying




                                           Get Real
                                           Go back to the real problem. What breaks?

                                           Solve Problems
                                           Solve the issues you just found.
Process




                                          McDowell | CareerCup.com
Technical Skills                         System Design

                   Coding & Algorithms    Object Oriented Design       System Design


                                            Handle Ambiguity
Behavioral




                                            Do the words need to be in a specific
                                            order?
                   Given millions of
                   documents, find          Make Believe
                                            Assume everything can fit on one machine.
                    all documents
Applying




                   which contain a          Get Real
                     list of words.         Must split up data across machines.

                                            Solve Problems
Process




                                            Divide hash table by file or by keyword?
                                          McDowell | CareerCup.com
Technical Skills                           Whew! All Done!

                   Coding & Algorithms       Object Oriented Design        System Design


                    Pattern Matching
Behavioral




                                                         <Gulp> This is a lot of
                   Simplify & Generalize                 stuff. Do I need to get
                                                           everything right?
                    Base Case & Build
Applying




                      Data Structure
                       Brainstorm
Process




                                             McDowell | CareerCup.com
Technical Skills
                             Evaluation is RELATIVE,
                                  not absolute.
Behavioral




                                                    <Gulp> This is a lot of
                                                    stuff. Do I need to get
                   It’s not about how                 everything right?
                   quickly you solved
                   the problem…
Applying




                                                                              </Gulp>

                    … it’s about how quickly
                    you solved it relative to
                            other candidates.
Process




                                        McDowell | CareerCup.com
Technical Skills




                                So RELAX!
Behavioral




                   Interviews are supposed to be hard!


                       Everyone makes mistakes.
Applying




                              Everyone!
Process




                               McDowell | CareerCup.com
Final Thoughts




                 McDowell | CareerCup.com
Technical Skills
                          After Your Interview
                   • Follow-up with your recruiter
                     – No response != rejection
Behavioral




                   • You have no idea how well/poorly you
                     did.
                     – Seriously. I know you think you do. But you
                       don’t.
Applying




                   • Lots of randomness.
                     – So if you fail, get up and try again.
Process




                                     McDowell | CareerCup.com
Technical Skills
                               Other Resources
                   Sold Today                                         CareerCup.com
                                                                      • Interview Videos
                   Signed (just ask!)                                 • iPhone App
                                                                      • Resume Review
                                                                      • Mock Interviews
Behavioral




                                   today                              Or, stalk me online at…
                                   Rs.                                • twitter.com/gayle
                                   400                                • facebook.com/gayle
                                                                      • technologywoman.com
Applying




                                                                      • gayle@careercup.com

                                           5 stars!
Process




                                           McDowell | CareerCup.com

Contenu connexe

Tendances

Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesAgile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesBalaji Sathram
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Ajay Danait
 
SOLID Design Principles
SOLID Design PrinciplesSOLID Design Principles
SOLID Design PrinciplesAndreas Enbohm
 
Intro to Lean Software Development
Intro to Lean Software DevelopmentIntro to Lean Software Development
Intro to Lean Software Developmentgcaprio
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Developmentsushant.1409
 
Clean code and Code Smells
Clean code and Code SmellsClean code and Code Smells
Clean code and Code SmellsMario Sangiorgio
 
clean code book summary - uncle bob - English version
clean code book summary - uncle bob - English versionclean code book summary - uncle bob - English version
clean code book summary - uncle bob - English versionsaber tabatabaee
 
The Single Responsibility Principle
The Single Responsibility PrincipleThe Single Responsibility Principle
The Single Responsibility PrincipleLars-Erik Kindblad
 
Simple Introduction to JADE (Java Agent DEvelopment) Framework
Simple Introduction to JADE (Java Agent DEvelopment) FrameworkSimple Introduction to JADE (Java Agent DEvelopment) Framework
Simple Introduction to JADE (Java Agent DEvelopment) FrameworkAhmed Gad
 
7 rules of simple and maintainable code
7 rules of simple and maintainable code7 rules of simple and maintainable code
7 rules of simple and maintainable codeGeshan Manandhar
 

Tendances (18)

Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesAgile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
 
Agile presentation @ KTH
Agile presentation @ KTHAgile presentation @ KTH
Agile presentation @ KTH
 
SOLID Design Principles
SOLID Design PrinciplesSOLID Design Principles
SOLID Design Principles
 
Intro to Lean Software Development
Intro to Lean Software DevelopmentIntro to Lean Software Development
Intro to Lean Software Development
 
TDD and BDD and ATDD
TDD and BDD and ATDDTDD and BDD and ATDD
TDD and BDD and ATDD
 
Clean code
Clean code Clean code
Clean code
 
Clean Code
Clean CodeClean Code
Clean Code
 
Unit Testing (C#)
Unit Testing (C#)Unit Testing (C#)
Unit Testing (C#)
 
Agile 101
Agile 101Agile 101
Agile 101
 
Clean code
Clean codeClean code
Clean code
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Clean code and Code Smells
Clean code and Code SmellsClean code and Code Smells
Clean code and Code Smells
 
clean code book summary - uncle bob - English version
clean code book summary - uncle bob - English versionclean code book summary - uncle bob - English version
clean code book summary - uncle bob - English version
 
The Single Responsibility Principle
The Single Responsibility PrincipleThe Single Responsibility Principle
The Single Responsibility Principle
 
Simple Introduction to JADE (Java Agent DEvelopment) Framework
Simple Introduction to JADE (Java Agent DEvelopment) FrameworkSimple Introduction to JADE (Java Agent DEvelopment) Framework
Simple Introduction to JADE (Java Agent DEvelopment) Framework
 
Clean code
Clean codeClean code
Clean code
 
7 rules of simple and maintainable code
7 rules of simple and maintainable code7 rules of simple and maintainable code
7 rules of simple and maintainable code
 

Similaire à Cracking the Coding Interview Advice

Cracking the oding interview code chix - oct 2012
Cracking the oding interview   code chix - oct 2012Cracking the oding interview   code chix - oct 2012
Cracking the oding interview code chix - oct 2012careercup
 
Cracking the Coding Interview code chix - oct 2012
Cracking the Coding Interview   code chix - oct 2012Cracking the Coding Interview   code chix - oct 2012
Cracking the Coding Interview code chix - oct 2012careercup
 
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
 
Cracking the Coding Interview (Master Slide Deck)
Cracking the Coding Interview (Master Slide Deck)Cracking the Coding Interview (Master Slide Deck)
Cracking the Coding Interview (Master Slide Deck)careercup
 
Cracking the Coding Interview (Oct 2012)
Cracking the Coding Interview (Oct 2012)Cracking the Coding Interview (Oct 2012)
Cracking the Coding Interview (Oct 2012)careercup
 
Rapid Iterative Design: A Minimalist Approach to Requirements-Gathering and I...
Rapid Iterative Design: A Minimalist Approach to Requirements-Gathering and I...Rapid Iterative Design: A Minimalist Approach to Requirements-Gathering and I...
Rapid Iterative Design: A Minimalist Approach to Requirements-Gathering and I...mbsnapp
 
Snapp high edweb_2010
Snapp high edweb_2010Snapp high edweb_2010
Snapp high edweb_2010snappdotsix
 
Cracking the coding interview columbia - march 23 2011
Cracking the coding interview   columbia - march 23 2011Cracking the coding interview   columbia - march 23 2011
Cracking the coding interview columbia - march 23 2011careercup
 
Recruitment & Selection at Yahoo!
Recruitment & Selection at Yahoo!Recruitment & Selection at Yahoo!
Recruitment & Selection at Yahoo!Ravishankar Duvvuri
 
College Program - I Want an Upgrade - Veronica Nelson
College Program - I Want an Upgrade - Veronica NelsonCollege Program - I Want an Upgrade - Veronica Nelson
College Program - I Want an Upgrade - Veronica NelsonCareer Communications Group
 
Cracking The Technical Interview
Cracking The Technical InterviewCracking The Technical Interview
Cracking The Technical Interviewcareercup
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developerenteritos
 
Dealer Demo Slides01 01 10
Dealer Demo Slides01 01 10Dealer Demo Slides01 01 10
Dealer Demo Slides01 01 10sdechant
 
Assessment Centers in recruitment & selection
Assessment Centers in recruitment & selectionAssessment Centers in recruitment & selection
Assessment Centers in recruitment & selectionRahila Narejo
 
But what's happening (ciec 2013) v1
But what's happening (ciec 2013) v1But what's happening (ciec 2013) v1
But what's happening (ciec 2013) v1svillach
 
Interview preperation spjimr_im_final
Interview preperation spjimr_im_finalInterview preperation spjimr_im_final
Interview preperation spjimr_im_finalSupportGCI
 
Interview preperation spjimr
Interview preperation spjimrInterview preperation spjimr
Interview preperation spjimrSupportGCI
 
Agile software development for startups
Agile software development for startupsAgile software development for startups
Agile software development for startupsHemant Elhence
 
Transitioning from Engineering to Product Management
Transitioning from Engineering to Product ManagementTransitioning from Engineering to Product Management
Transitioning from Engineering to Product ManagementGayle McDowell
 

Similaire à Cracking the Coding Interview Advice (20)

Cracking the oding interview code chix - oct 2012
Cracking the oding interview   code chix - oct 2012Cracking the oding interview   code chix - oct 2012
Cracking the oding interview code chix - oct 2012
 
Cracking the Coding Interview code chix - oct 2012
Cracking the Coding Interview   code chix - oct 2012Cracking the Coding Interview   code chix - oct 2012
Cracking the Coding Interview code chix - oct 2012
 
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)
 
Cracking the Coding Interview (Master Slide Deck)
Cracking the Coding Interview (Master Slide Deck)Cracking the Coding Interview (Master Slide Deck)
Cracking the Coding Interview (Master Slide Deck)
 
Cracking the Coding Interview (Oct 2012)
Cracking the Coding Interview (Oct 2012)Cracking the Coding Interview (Oct 2012)
Cracking the Coding Interview (Oct 2012)
 
Rapid Iterative Design: A Minimalist Approach to Requirements-Gathering and I...
Rapid Iterative Design: A Minimalist Approach to Requirements-Gathering and I...Rapid Iterative Design: A Minimalist Approach to Requirements-Gathering and I...
Rapid Iterative Design: A Minimalist Approach to Requirements-Gathering and I...
 
Snapp high edweb_2010
Snapp high edweb_2010Snapp high edweb_2010
Snapp high edweb_2010
 
Cracking the coding interview columbia - march 23 2011
Cracking the coding interview   columbia - march 23 2011Cracking the coding interview   columbia - march 23 2011
Cracking the coding interview columbia - march 23 2011
 
Recruitment & Selection at Yahoo!
Recruitment & Selection at Yahoo!Recruitment & Selection at Yahoo!
Recruitment & Selection at Yahoo!
 
Non-Generational Talent
Non-Generational TalentNon-Generational Talent
Non-Generational Talent
 
College Program - I Want an Upgrade - Veronica Nelson
College Program - I Want an Upgrade - Veronica NelsonCollege Program - I Want an Upgrade - Veronica Nelson
College Program - I Want an Upgrade - Veronica Nelson
 
Cracking The Technical Interview
Cracking The Technical InterviewCracking The Technical Interview
Cracking The Technical Interview
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
 
Dealer Demo Slides01 01 10
Dealer Demo Slides01 01 10Dealer Demo Slides01 01 10
Dealer Demo Slides01 01 10
 
Assessment Centers in recruitment & selection
Assessment Centers in recruitment & selectionAssessment Centers in recruitment & selection
Assessment Centers in recruitment & selection
 
But what's happening (ciec 2013) v1
But what's happening (ciec 2013) v1But what's happening (ciec 2013) v1
But what's happening (ciec 2013) v1
 
Interview preperation spjimr_im_final
Interview preperation spjimr_im_finalInterview preperation spjimr_im_final
Interview preperation spjimr_im_final
 
Interview preperation spjimr
Interview preperation spjimrInterview preperation spjimr
Interview preperation spjimr
 
Agile software development for startups
Agile software development for startupsAgile software development for startups
Agile software development for startups
 
Transitioning from Engineering to Product Management
Transitioning from Engineering to Product ManagementTransitioning from Engineering to Product Management
Transitioning from Engineering to Product Management
 

Plus de zukun

My lyn tutorial 2009
My lyn tutorial 2009My lyn tutorial 2009
My lyn tutorial 2009zukun
 
ETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCVETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCVzukun
 
ETHZ CV2012: Information
ETHZ CV2012: InformationETHZ CV2012: Information
ETHZ CV2012: Informationzukun
 
Siwei lyu: natural image statistics
Siwei lyu: natural image statisticsSiwei lyu: natural image statistics
Siwei lyu: natural image statisticszukun
 
Lecture9 camera calibration
Lecture9 camera calibrationLecture9 camera calibration
Lecture9 camera calibrationzukun
 
Brunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer visionBrunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer visionzukun
 
Modern features-part-4-evaluation
Modern features-part-4-evaluationModern features-part-4-evaluation
Modern features-part-4-evaluationzukun
 
Modern features-part-3-software
Modern features-part-3-softwareModern features-part-3-software
Modern features-part-3-softwarezukun
 
Modern features-part-2-descriptors
Modern features-part-2-descriptorsModern features-part-2-descriptors
Modern features-part-2-descriptorszukun
 
Modern features-part-1-detectors
Modern features-part-1-detectorsModern features-part-1-detectors
Modern features-part-1-detectorszukun
 
Modern features-part-0-intro
Modern features-part-0-introModern features-part-0-intro
Modern features-part-0-introzukun
 
Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video searchzukun
 
Lecture 01 internet video search
Lecture 01 internet video searchLecture 01 internet video search
Lecture 01 internet video searchzukun
 
Lecture 03 internet video search
Lecture 03 internet video searchLecture 03 internet video search
Lecture 03 internet video searchzukun
 
Icml2012 tutorial representation_learning
Icml2012 tutorial representation_learningIcml2012 tutorial representation_learning
Icml2012 tutorial representation_learningzukun
 
Advances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer visionAdvances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer visionzukun
 
Gephi tutorial: quick start
Gephi tutorial: quick startGephi tutorial: quick start
Gephi tutorial: quick startzukun
 
EM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysisEM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysiszukun
 
Object recognition with pictorial structures
Object recognition with pictorial structuresObject recognition with pictorial structures
Object recognition with pictorial structureszukun
 
Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities zukun
 

Plus de zukun (20)

My lyn tutorial 2009
My lyn tutorial 2009My lyn tutorial 2009
My lyn tutorial 2009
 
ETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCVETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCV
 
ETHZ CV2012: Information
ETHZ CV2012: InformationETHZ CV2012: Information
ETHZ CV2012: Information
 
Siwei lyu: natural image statistics
Siwei lyu: natural image statisticsSiwei lyu: natural image statistics
Siwei lyu: natural image statistics
 
Lecture9 camera calibration
Lecture9 camera calibrationLecture9 camera calibration
Lecture9 camera calibration
 
Brunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer visionBrunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer vision
 
Modern features-part-4-evaluation
Modern features-part-4-evaluationModern features-part-4-evaluation
Modern features-part-4-evaluation
 
Modern features-part-3-software
Modern features-part-3-softwareModern features-part-3-software
Modern features-part-3-software
 
Modern features-part-2-descriptors
Modern features-part-2-descriptorsModern features-part-2-descriptors
Modern features-part-2-descriptors
 
Modern features-part-1-detectors
Modern features-part-1-detectorsModern features-part-1-detectors
Modern features-part-1-detectors
 
Modern features-part-0-intro
Modern features-part-0-introModern features-part-0-intro
Modern features-part-0-intro
 
Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video search
 
Lecture 01 internet video search
Lecture 01 internet video searchLecture 01 internet video search
Lecture 01 internet video search
 
Lecture 03 internet video search
Lecture 03 internet video searchLecture 03 internet video search
Lecture 03 internet video search
 
Icml2012 tutorial representation_learning
Icml2012 tutorial representation_learningIcml2012 tutorial representation_learning
Icml2012 tutorial representation_learning
 
Advances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer visionAdvances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer vision
 
Gephi tutorial: quick start
Gephi tutorial: quick startGephi tutorial: quick start
Gephi tutorial: quick start
 
EM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysisEM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysis
 
Object recognition with pictorial structures
Object recognition with pictorial structuresObject recognition with pictorial structures
Object recognition with pictorial structures
 
Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities
 

Dernier

Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 

Dernier (20)

Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 

Cracking the Coding Interview Advice

  • 1. Cracking the Coding Interview Advice and Strategies for Software Engineering Interviews Gayle Laakmann McDowell Founder / CEO, CareerCup.com Author of The Google Resume and Cracking the Coding Interview McDowell | NIT Trichy | Feb 2012 CareerCup.com
  • 2. Technical Skills My Background • Software Engineer @ GOOG, MS & Apple – 3 Years on Google Hiring Committee Behavioral – Interviewed 150+ candidates • Founder of CareerCup.com • Author Applying – Cracking the Coding Interview – The Google Resume Process McDowell | CareerCup.com
  • 3. Technical Skills Slides Posted Online posted at: www.technologywoman.com Behavioral Click “Speaking Engagements” Applying Process McDowell | CareerCup.com
  • 4. Technical Skills Process Applying Evaluation Experience Structure Resume Behavioral Soft Skills Tech Skills Applying Preparation Preparation Interview Interview Process McDowell | CareerCup.com
  • 5. Interview Process McDowell | CareerCup.com
  • 6. Technical Skills Big Company Evaluation (Coding) Experience Personality Behavioral Intelligence Coding Skills Applying Testing aptitude, not knowledge Process McDowell | CareerCup.com
  • 7. Technical Skills How You Are Judged How did you do RELATIVE to other candidates on the SAME question? Behavioral It’s not about how quickly you solved Applying the problem… … it’s about how quickly you solved it relative to Process other candidates. McDowell | CareerCup.com
  • 8. Resumes & Application Process McDowell | CareerCup.com
  • 9. Technical Skills Indians are at a disadvantage • Far away – Fewer recruiting opportunities • Unfamiliar Behavioral – Recruiters may not understand your school, GPA, etc • Language barrier / Cultural differences Applying – Accents, grammar, accidental sexism • Different / less experience – More emphasis in US on projects Process
  • 10. Technical Skills So what to do? • Get equivalent experience • Translate GPA & other items Behavioral • Use good grammar & punctuation – On resumes, cover letters, etc – No abbreviations, no sloppiness Applying • Be careful about your assumptions – Sexism is not acceptable in the U.S. Ever. Process
  • 11. Technical Skills Cheat Sheet for Indians (Grammar / Writing) • Space after comma & period. Never before. – WRONG: “Hello .I am Gayle .” – RIGHT: “Hello. I am Gayle.” • Questions need a question mark Behavioral – WRONG: “Do you have one.” – RIGHT: “Do you have one?” • No abbreviations – WRONG: “Ny1 dr?” Applying – RIGHT: “Is anyone there?” • Commands are rude (use a question) – WRONG: “Send it to me.” – RIGHT: “Would you mind sending it to me?” Process
  • 12. Technical Skills Cheat Sheet for Indians (Gender / Sexism) • Mr. LastName / Ms. LastName – WRONG: Ms. Gayle – RIGHT: Ms. McDowell Behavioral – But “Dear Gayle” is perfectly okay in U.S. • “Guy” / “Guys” is not unisex* in the U.S. – WRONG: “I need to hire a really smart CS guy.” – *Except: “you guys” and “hey guys” • Don’t assume that people are male / female Applying – (Just don’t use Mr. / Ms. in emails!) • It is EXTREMELY offensive to comment on someone’s looks – But a great way to get fired / rejected Process
  • 13. Technical Skills Cheat Sheet for Indians (Getting Experience) • Build something! Don’t waste your summers! Behavioral • Make a kick-ass resume It’s really not that hard. Applying Process McDowell | CareerCup.com
  • 14. Technical Skills How We Review Resumes (U.S.) 1. Pull resume out of giant stack 2. Spot-check: company names, “Glanced at,” not read. positions, projects, schools. Behavioral 15 – 30 3. Skim bullets to see if you’ve seconds written real code. Applying Reject Interview 4. Go to next resume & whine about how many more you have left. Process McDowell | CareerCup.com
  • 15. How CS Resume Should Look (U.S.) Observe: No Objective! Objectives / summaries One Page Only! are almost always useless. Unless > 10 years exp. A Real Resume Format with organized columns Short (1 – 2 line bullets) Focus on Accomplishments not responsibilities GPA - Translated We don’t understand “first class” 3 – 4 Projects Courses & independent Finished or unfinished List of Technical Skills Short! Cut the “fluff.”
  • 16. Behavioral Questions McDowell | CareerCup.com
  • 17. Technical Skills Communication Tips • Goals: – Answer the question. Behavioral – Deliver a *good* answer. – Communicate well. • Strategies: Applying – Nugget First – S.A.R.: Situation, Action, Result Process McDowell | CareerCup.com
  • 18. Technical Skills Preparing for Behavioral Qs • Create Preparation Grid for Projects OS Project Amazon Intern. Behavioral Enjoyed Hated Most Challenging Applying Hardest Bug + Behavioral Grid [for PM & less tech. roles] Process McDowell | CareerCup.com
  • 19. Technical Skills Structure 1: Nugget First • Lead with your “thesis” / nugget – Grabs the listener’s attention Behavioral – Gives them context for where you’re going. Q: What accomplishment are you most proud of? Applying A: I’m most proud of the way I re-architected the … Process McDowell | CareerCup.com
  • 20. Technical Skills Structure 2: S.A.R. S ituation What was the issue? Behavioral A ction What did you do about it? R esult What was the impact? Applying Process McDowell | CareerCup.com
  • 21. Technical Skills Interview Prep McDowell | CareerCup.com
  • 22. Technical Skills How to study • Study the basics – Complex algorithms generally unnecessary. Behavioral • Practice solving questions – Don’t memorize! – See: CtCI & CareerCup.com Applying • Push yourself! • Write code on paper Process McDowell | CareerCup.com
  • 23. Technical Skills Data Structures • How to implement • When to use (pros / cons) Behavioral Linked Lists Stacks Queues Trees Tries Graphs Applying Vectors Heaps Hashtables Process McDowell | CareerCup.com
  • 24. Technical Skills Algorithms • Implementation • Space vs. Time Quick Sort Merge Sort Complexity Behavioral Tree Insert / Find Binary Search Applying Breadth-First Depth-First Search Search Process McDowell | CareerCup.com
  • 25. Technical Skills Concepts • Not just a concept – know how to code! Behavioral System Design & Memory Threading Scalability Management Applying Probability + Recursion Bit Manipulation Combinatorics Process McDowell | CareerCup.com
  • 26. Technical Skills Mastering the Interview McDowell | CareerCup.com
  • 27. Technical Skills Technical Questions 1. Ask Questions! – Questions are more ambiguous than they appear 2. Talk out loud Behavioral – Show us how you think 3. Think critically – Does your algorithm really work? What’s the space and time complexity? 4. Code slowly and methodically Applying – It’s not a race 5. Test your code – And make CAREFUL fixes. Process McDowell | CareerCup.com
  • 28. Technical Skills What does a “good coder” do? • Be methodical. Don’t try to rush. • Reasonably Bug Free Behavioral – Thorough testing (and careful fixing) – Check for error conditions • Clean coding – Use other functions Applying – Good use of data structures (define own if useful) – Concise and readable Process McDowell | CareerCup.com
  • 29. Technical Skills Types of Interview Questions Coding & Algorithms Object Oriented Design System Design “Reverse a Linked “Design a Parking “Design a Behavioral List” Lot” Web Crawler” Applying Process McDowell | CareerCup.com
  • 30. Technical Skills Types of Interview Questions Coding & Algorithms Object Oriented Design System Design Pattern Matching Behavioral Simplify & Generalize Base Case & Build Applying Data Structure Brainstorm Process McDowell | CareerCup.com
  • 31. Technical Skills Algorithm Qs: Pattern Matching Coding & Algorithms Object Oriented Design System Design Pattern Matching Q: Write code to reverse the order of words Behavioral in a sentence. Simplify & Generalize “dogs are cute” “cute are dogs” Base Case & Build Similar to: reverse characters in a string. Applying “dogs are cute” Data Structure “etuc era sgod” Brainstorm A: Reverse full string, then reverse each word. Process McDowell | CareerCup.com
  • 32. Technical Skills Algorithm Qs: Simplify & Generalize Coding & Algorithms Object Oriented Design System Design Pattern Matching Q: Design algorithm to figure out if you can Behavioral build a ransom note (array of strings) from a Simplify & Generalize magazine (array of strings). Simplify: what if we used characters instead Base Case & Build of strings? Applying  Build array of character frequencies. Data Structure Brainstorm Generalize: how we can extend answer to words? Process A: Build hashtable from word to frequency. McDowell | CareerCup.com
  • 33. Technical Skills Algorithm Qs: Base Case & Build Coding & Algorithms Object Oriented Design System Design Pattern Matching Q: Design algorithm to print subsets of set. Behavioral {a, b, c}  {}, {a}, {b}, {c}, {a, b}, Simplify & Generalize {a, c}, {b, c}, {a, b, c} S({})  {} Base Case & Build S({a})  {}, {a} Applying S({a, b})  {}, {a}, {b}, {a, b} Data Structure S({a, b, c}) ? Brainstorm A: Build S(n) by cloning S(n-1) and adding n to the cloned sets. Process McDowell | CareerCup.com
  • 34. Technical Skills Algorithm Qs: Data Structure Brainstorm Coding & Algorithms Object Oriented Design System Design Pattern Matching Q: There are 10^10 possible phone #s. Behavioral Explain how you could efficiently implement Simplify & Generalize assignSpecificNum(num) and assignAnyAvailableNum(). Base Case & Build Array (sorted)? Too slow to remove num. Applying Linked list? Too slow to find specific num. Data Structure Hash table? Can’t iterate through free nums. Brainstorm Tree? Ah-ha! A: Store free #s in BST. Remove when taken. Process McDowell | CareerCup.com
  • 35. Technical Skills How To Solve Algorithm Questions Coding & Algorithms Object Oriented Design System Design Pattern Matching Compare to similar problems. Behavioral Simplify & Generalize Solve first for a simplified / tweaked problem. Base Case & Build Solve for n = 1, and build solution for n = 2. Applying Data Structure Brainstorm Try to apply data structure to solve problem. Process McDowell | CareerCup.com
  • 36. Technical Skills Object Oriented Design Coding & Algorithms Object Oriented Design System Design Handle Ambiguity Behavioral What about the question is ambiguous? Design the Core Objects What are the main objects in the system? Applying Analyze Relationships How are the objects related to each other? Investigate Actions What are the main operations? Process McDowell | CareerCup.com
  • 37. Technical Skills Object Oriented Design Coding & Algorithms Object Oriented Design System Design Handle Ambiguity Behavioral Is it a single restaurant, or part of a chain? How would you Design the Core Objects design the data Guest, Party, Table, Server, Host, … structures and Applying objects for a Analyze Relationships Server and Host are both Employees… restaurant? Investigate Actions A Party is seated at a Table by a Host… Process McDowell | CareerCup.com
  • 38. Technical Skills System Design Coding & Algorithms Object Oriented Design System Design Handle Ambiguity Behavioral What about the question is ambiguous? Make Believe Pretend there wasn’t so much data & solve Applying Get Real Go back to the real problem. What breaks? Solve Problems Solve the issues you just found. Process McDowell | CareerCup.com
  • 39. Technical Skills System Design Coding & Algorithms Object Oriented Design System Design Handle Ambiguity Behavioral Do the words need to be in a specific order? Given millions of documents, find Make Believe Assume everything can fit on one machine. all documents Applying which contain a Get Real list of words. Must split up data across machines. Solve Problems Process Divide hash table by file or by keyword? McDowell | CareerCup.com
  • 40. Technical Skills Whew! All Done! Coding & Algorithms Object Oriented Design System Design Pattern Matching Behavioral <Gulp> This is a lot of Simplify & Generalize stuff. Do I need to get everything right? Base Case & Build Applying Data Structure Brainstorm Process McDowell | CareerCup.com
  • 41. Technical Skills Evaluation is RELATIVE, not absolute. Behavioral <Gulp> This is a lot of stuff. Do I need to get It’s not about how everything right? quickly you solved the problem… Applying </Gulp> … it’s about how quickly you solved it relative to other candidates. Process McDowell | CareerCup.com
  • 42. Technical Skills So RELAX! Behavioral Interviews are supposed to be hard! Everyone makes mistakes. Applying Everyone! Process McDowell | CareerCup.com
  • 43. Final Thoughts McDowell | CareerCup.com
  • 44. Technical Skills After Your Interview • Follow-up with your recruiter – No response != rejection Behavioral • You have no idea how well/poorly you did. – Seriously. I know you think you do. But you don’t. Applying • Lots of randomness. – So if you fail, get up and try again. Process McDowell | CareerCup.com
  • 45. Technical Skills Other Resources Sold Today CareerCup.com • Interview Videos Signed (just ask!) • iPhone App • Resume Review • Mock Interviews Behavioral today Or, stalk me online at… Rs. • twitter.com/gayle 400 • facebook.com/gayle • technologywoman.com Applying • gayle@careercup.com 5 stars! Process McDowell | CareerCup.com

Notes de l'éditeur

  1. Hashtables – super important!!!
  2. Bit manipulation – super important!Recursion: how does recursion impact space and time?Practice converting from iterative into recursion