SlideShare uma empresa Scribd logo
1 de 61
Cracking the Technical Interview Cracking the Coding Interview Gayle Laakmann Founder / CEO, CareerCup.com
My Background Penn BSE / MSE ‘05 in CS Ex-Engineer at Google, Microsoft and Apple 		+ Offers from Amazon, IBM and others 3 Years on Google Hiring Committee Interviewed 150+ candidates
CareerCup Founded 2005 Largest source for technical interview questions (3000+ FREE questions) Services: Book (Cracking the Coding Interview) Video of interview Resume review Mock interviews
How are interviews structured? How are you evaluated? Process
Technical Interview Process Initial Screen (Phone / Campus) 4 - 5 on site interviews 10 min General 40 min Technical 10 min Closing Sometimes “blind” interview
Big Company Evaluation Experience Personality and… No Red Flags
What are red flags? Arrogance Communication Issues Arguing (too much) Dishonesty
Smaller Companies Tend to look for broader skills Care more about experience / personality Might ask to see “portfolio” but… It varies!
What do companies look for? Applying
What can you do? Get project experience! Course work Open source Independent studies Weiss Tech House Part-time job Start a business! Know C++ or Java well Good grades are nice – but not enough! Skills  Passion Work Ethic Creativity Initiative
3 Hallmarks of a Great Resume: Short and sweet One page – no more! Short bullets (1 – 2 lines). No paragraphs! Accomplishments, not responsibilities Quantify! Clean, Professional and Well Structured Projects section No spelling / grammar mistakes Nice resume format (don’t format via spaces!)
Why do you want to work here?  What was your favorite project? Interview prep – SOFT SKILLS
Research the company / team Prepare questions (around 10) Know: What they do (duh) Specific products – what is good / bad What their hardest problems are Why you want to work there What value you can add (esp. if non-coding role) Soft Prep – The Company / Team
Create Preparation Grid for Projects + (maybe) Behavioral Grid Soft Prep – Yourself
Strengths vs. Weaknesses Mediocre answer: “it was hard because I had to learn new languages / technologies” Not just answering Q’s – show who you are! Soft Prep – Yourself
How do you prep for coding questions? What do you prep? Interview prep – Tech SKILLS
Study the basics:  CLR algorithms book is great – but too complex for interviews Write code on paper Put away the compiler Look up sample interview questions Focus on the topics you’re struggling with How to study
How to implement When to use (pros / cons) Data Structures
Implementation Space vs Time Complexity Algorithms
Concepts Not just a concept – know how to code!
Don’t practice on computer!
What do companies look for? Interview – soft SKILLS
Communication Tips Be specific – not arrogant      “Yeah, I did all the hard work for the team”      “I implemented the file system, which was              considered one of the hardest components.” Be concise and structured Nugget First S.A.R.: Situation, Action, Result
Lead with your “thesis” / nugget Nuggets grab the listener’s attention, and tell them where you’re going Q: What accomplishment are you most proud of? A: The time that I convinced the engineering school to switch to paperless time logs. Structure 1: Nugget First
ituation ction esult Structure 2: S.A.R. S What did you do?  What should I care? A R
How do you tackle hard tech questions? Interview – tech SKILLS
Mastering the Technical Questions Ask Questions! Questions are more ambiguous than they appear Talk out loud Show us how you think Think critically Does your algorithm really work? What’s the space and time complexity? Code slowly and methodically It’s not a race Test your code You’re not done until they say you’re done!
Step 1: Ask Questions What are the data types? How much data? What assumptions do you need? Who is the user? NOTE: Especially important at Microsoft.
Step 2: Think Critically What’s space / time complexity? What if there’s lots of data? Does your design cause other issues? If there are other issues, did you make the right trade offs?
Step 3: Talk Out Loud Approach is more important than answer Talking out loud: Shows us how you think Lets the interviewer guide you Makes you not appear “stuck”
Step 4: Pseudo Code & Code Pseudo code first – but say that! Use data structures generously What are the right ones? Define your own = shows good style Don’t crowd your coding Start in the upper left corner of board, not bottom
Step 5: Testing Test your code! Extreme cases Check for user error Test general cases CAREFULLY FIX MISTAKES
RELAX! Interviews are supposed to be hard! Everyone makes mistakes.  Everyone!
Question Types Standard Coding and Algorithms “Reverse a linked list” Object Oriented Design “Design a parking lot” Large System Design “Design a program to crawl the web” Trivia “What does a “vtable” refer to in C++”
Standard Coding  and Algorithms Question Type #1
Algorithm Generation #1 Standard Coding  and Algorithms OMG!  I have no idea how to solve this problem!
Algorithm Generation Pattern Matching What problem is this similar to? Simplify / Generalize What if the data was a different type? Base Case & Build Can you do this just for element 1? 1 and 2? … Data Structure Brainstorm Go through all data structures – can they help? #1 Standard Coding  and Algorithms
Algorithm Generation Pattern Matching Write code to reverse the order of words in a sentence. 	Example: 		input: “she ran to the store” 		output: “store the to ran she” #1 Standard Coding  and Algorithms
Algorithm Generation Simplify / Generalize Write a program to remove the duplicate characters in a string without using any additional buffers. #1 Standard Coding  and Algorithms
Algorithm Generation Base Case & Build Design an algorithm to print all subsets of a set (e.g., the power set) 	Example: 		input: 	{a, b, c} 		output: 	{{}, {a}, {b}, {c}, {a, b}, {a, c},  			{b, c},  {a, b, c}} #1 Standard Coding  and Algorithms
Algorithm Generation Data Structures Brainstorm Design an algorithm to figure out if someone has won a game of tic-tac-toe.  Make it as fast as possible. #1 Standard Coding  and Algorithms
Object Oriented Design Question Type #2
Core objects what are the core objects? Relationships what is their relationship to each other? Interactions how do they interact? Algorithms 	what are the tricky / interesting algorithms? OOD Steps (C.R.I.A.) #2 Object Oriented Design
OOD Example #2 Object Oriented Design Design the data structures for a restaurant
Restaurant OOD #2 Object Oriented Design 1. Core Objects Guest Party Server Table Meal Order
Restaurant OOD #2 Object Oriented Design 2. Relationships Each party has many guests. Each guest has one party. (“One to many”)
Restaurant OOD #2 Object Oriented Design 3. Interactions Party enters with Guest(s). Host assigns Party to Table.
Restaurant OOD #2 Object Oriented Design 4. Algorithms How do you find a free table?
Large Scale System Design Question Type #3
Large Scale Steps #3 Large Scale  System Design Simplify Generalize Generalize to more data:find & solve problems Solve for simple case (less data)
Trivia Question Type #4
Trivia #4 Trivia Hopefully you know the answer! Practice more  Else… Admit that you don’t know Try to derive the answer
(eg, things that wouldn’t fit in elsewhere) FINAL THOUGHTS
The Interview: Ending It Smile, be positive If you think you bombed, don’t worry Follow up with your recruiters (sometimes they forget)
The Offer It’s always negotiable Helps if you have competing offer Don’t lie – companies know what competitors offer Negotiate on multiple factors (salary, signing bonus, stock, etc) Is it really what you want? Money, career options, etc
My Red Flags: People who… … didn’t test their code … found mistakes and would make random fixes … messy code (lack of data structures / redundant code) … didn’t consider the impact of their algorithms … were scared to try
Take Aways – Getting Ready Get Project Experience Show project experience on resume S. A. R. (Situation Action Result) Prepare Project / Behavioral Grids
Technical Interview Prep Things to know (data structures, algorithms, concepts) Simple  Know Implementation Complex  Know Concepts Practice interview questions!
At The Interview	 Be nice RELAX!  Interviews are supposed to be hard Approaches Pattern Matching Simplify / Generalize Base Case & Build Data Structure Brainstorm
Other Resources Book (sold today - $20) Interview video Mock Interviews Resume Review Slides posted at CareerCup.com/slides #1 book for interviewing on Amazon! PS: CareerCup is hiring a part-time dev! (remember that part about needing coding experience?) If you know Ruby on Rails (or even if you don’t), contact gayle@careercup.com.

Mais conteúdo relacionado

Mais procurados

Reactome: Usability testing - is it useful?
Reactome: Usability testing - is it useful? Reactome: Usability testing - is it useful?
Reactome: Usability testing - is it useful? Francis Rowland
 
How to hire a hacker
How to hire a hackerHow to hire a hacker
How to hire a hackerRTigger
 
How I Conduct Technical Interview
How I Conduct Technical InterviewHow I Conduct Technical Interview
How I Conduct Technical InterviewGlobalLogic Ukraine
 
A Pragmatic Approach
A Pragmatic ApproachA Pragmatic Approach
A Pragmatic ApproachHakanCanpek
 
Technical interview experience sharing
Technical interview experience sharingTechnical interview experience sharing
Technical interview experience sharingKaty Lee
 
2021 Engl317 syllabus summer_online_kirchmeier
2021 Engl317 syllabus summer_online_kirchmeier2021 Engl317 syllabus summer_online_kirchmeier
2021 Engl317 syllabus summer_online_kirchmeiercoop3674
 
Real talk public
Real talk publicReal talk public
Real talk publicBene Garcia
 
English 317 Technical Writing Summer 2020 Online Kirchmeier
English 317 Technical Writing Summer 2020 Online KirchmeierEnglish 317 Technical Writing Summer 2020 Online Kirchmeier
English 317 Technical Writing Summer 2020 Online Kirchmeiercoop3674
 
Web Developer Interview Questions
Web Developer Interview QuestionsWeb Developer Interview Questions
Web Developer Interview QuestionsClark Davidson
 
Pmp Lessons Learned Older Pp
Pmp Lessons Learned Older PpPmp Lessons Learned Older Pp
Pmp Lessons Learned Older Pphfundor1
 
On Readability of Code
On Readability of CodeOn Readability of Code
On Readability of CodeArun Saha
 
(Remote) Pair Programming
(Remote) Pair Programming(Remote) Pair Programming
(Remote) Pair ProgrammingTSundberg
 
Life in the tech trenches (2015)
Life in the tech trenches (2015)Life in the tech trenches (2015)
Life in the tech trenches (2015)Julien SIMON
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interviewEric Brooke
 
Programming interview preparation
Programming interview preparationProgramming interview preparation
Programming interview preparationbigdata trunk
 
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...Sam Livingston-Gray
 

Mais procurados (20)

Lecture 31
Lecture 31Lecture 31
Lecture 31
 
Lecture 24
Lecture 24Lecture 24
Lecture 24
 
Reactome: Usability testing - is it useful?
Reactome: Usability testing - is it useful? Reactome: Usability testing - is it useful?
Reactome: Usability testing - is it useful?
 
How to hire a hacker
How to hire a hackerHow to hire a hacker
How to hire a hacker
 
How I Conduct Technical Interview
How I Conduct Technical InterviewHow I Conduct Technical Interview
How I Conduct Technical Interview
 
A Pragmatic Approach
A Pragmatic ApproachA Pragmatic Approach
A Pragmatic Approach
 
Technical interview experience sharing
Technical interview experience sharingTechnical interview experience sharing
Technical interview experience sharing
 
2021 Engl317 syllabus summer_online_kirchmeier
2021 Engl317 syllabus summer_online_kirchmeier2021 Engl317 syllabus summer_online_kirchmeier
2021 Engl317 syllabus summer_online_kirchmeier
 
Real talk public
Real talk publicReal talk public
Real talk public
 
English 317 Technical Writing Summer 2020 Online Kirchmeier
English 317 Technical Writing Summer 2020 Online KirchmeierEnglish 317 Technical Writing Summer 2020 Online Kirchmeier
English 317 Technical Writing Summer 2020 Online Kirchmeier
 
Agile Practices
Agile PracticesAgile Practices
Agile Practices
 
Web Developer Interview Questions
Web Developer Interview QuestionsWeb Developer Interview Questions
Web Developer Interview Questions
 
Pmp Lessons Learned Older Pp
Pmp Lessons Learned Older PpPmp Lessons Learned Older Pp
Pmp Lessons Learned Older Pp
 
Code reviews
Code reviewsCode reviews
Code reviews
 
On Readability of Code
On Readability of CodeOn Readability of Code
On Readability of Code
 
(Remote) Pair Programming
(Remote) Pair Programming(Remote) Pair Programming
(Remote) Pair Programming
 
Life in the tech trenches (2015)
Life in the tech trenches (2015)Life in the tech trenches (2015)
Life in the tech trenches (2015)
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interview
 
Programming interview preparation
Programming interview preparationProgramming interview preparation
Programming interview preparation
 
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...
 

Destaque

Destaque (17)

03 I.Gardella Casa Borsalino
03 I.Gardella Casa Borsalino03 I.Gardella Casa Borsalino
03 I.Gardella Casa Borsalino
 
Decret Habitabilitat
Decret HabitabilitatDecret Habitabilitat
Decret Habitabilitat
 
01 P.Rudolph Casa Healey
01  P.Rudolph Casa Healey01  P.Rudolph Casa Healey
01 P.Rudolph Casa Healey
 
Presentation Project
Presentation ProjectPresentation Project
Presentation Project
 
Edifici Telefonica Francesc Mitjans
Edifici Telefonica Francesc MitjansEdifici Telefonica Francesc Mitjans
Edifici Telefonica Francesc Mitjans
 
Cracking The Technical Interview Uw
Cracking The Technical Interview   UwCracking The Technical Interview   Uw
Cracking The Technical Interview Uw
 
Presentation Project
Presentation ProjectPresentation Project
Presentation Project
 
Presentation Project
Presentation ProjectPresentation Project
Presentation Project
 
Calendari Xerrades 09 10
Calendari Xerrades 09 10Calendari Xerrades 09 10
Calendari Xerrades 09 10
 
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
 
04 J.Prouve Casa Prototip
04 J.Prouve Casa Prototip04 J.Prouve Casa Prototip
04 J.Prouve Casa Prototip
 
Cracking the Coding Interview (Oct 2012)
Cracking the Coding Interview (Oct 2012)Cracking the Coding Interview (Oct 2012)
Cracking the Coding Interview (Oct 2012)
 
05 A.Palladio Villa Emo
05 A.Palladio Villa Emo05 A.Palladio Villa Emo
05 A.Palladio Villa Emo
 
Nevada
NevadaNevada
Nevada
 
06 A.Jacobsen Casa Siesby
06 A.Jacobsen Casa Siesby06 A.Jacobsen Casa Siesby
06 A.Jacobsen Casa Siesby
 
08 P.Koenig Casa Sthal
08 P.Koenig Casa Sthal08 P.Koenig Casa Sthal
08 P.Koenig Casa Sthal
 
The role of the school library in the comunity
The role of the school library in the comunityThe role of the school library in the comunity
The role of the school library in the comunity
 

Semelhante a Cracking the coding interview u penn - sept 30 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 2011careercup
 
How to Pass an Interview for Software Engineer / IT Specialist?
How to Pass an Interview for Software Engineer / IT Specialist?How to Pass an Interview for Software Engineer / IT Specialist?
How to Pass an Interview for Software Engineer / IT Specialist?Svetlin Nakov
 
How to Pass an Interview for Software Engineer
How to Pass an Interview for Software EngineerHow to Pass an Interview for Software Engineer
How to Pass an Interview for Software EngineerDoncho Minkov
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideVaco Seattle
 
5. Подготовка и явяване на ИТ интервю
5. Подготовка и явяване на ИТ интервю5. Подготовка и явяване на ИТ интервю
5. Подготовка и явяване на ИТ интервюSvetlin Nakov
 
Interviewing and Getting a Job 101
Interviewing and Getting a Job 101Interviewing and Getting a Job 101
Interviewing and Getting a Job 101spartasoft
 
Hack It 'Til You Make It: Acing The Technical Interview
Hack It 'Til You Make It: Acing The Technical InterviewHack It 'Til You Make It: Acing The Technical Interview
Hack It 'Til You Make It: Acing The Technical Interviewjaysonjphillips
 
Top 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxTop 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxSurendra Gusain
 
Top 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxTop 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxSurendra Gusain
 
Google Interview Prep Guide Software Engineer
Google Interview Prep Guide Software EngineerGoogle Interview Prep Guide Software Engineer
Google Interview Prep Guide Software EngineerLewis Lin 🦊
 
Test Preparation Strategies
Test Preparation StrategiesTest Preparation Strategies
Test Preparation StrategiesIOdiva
 
How to start your data career
How to start your data careerHow to start your data career
How to start your data careerAdwait Bhave
 
Salesforce Architect Group, Frederick, United States July 2023 - Generative A...
Salesforce Architect Group, Frederick, United States July 2023 - Generative A...Salesforce Architect Group, Frederick, United States July 2023 - Generative A...
Salesforce Architect Group, Frederick, United States July 2023 - Generative A...NadinaLisbon1
 
Choosing Technical Interview Questions (2006)
Choosing Technical Interview Questions (2006)Choosing Technical Interview Questions (2006)
Choosing Technical Interview Questions (2006)Adam Barr
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...Daniel Zivkovic
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsSteven Smith
 
Create Your Tester Portfolio
Create Your Tester PortfolioCreate Your Tester Portfolio
Create Your Tester PortfolioShmuel Gershon
 

Semelhante a Cracking the coding interview u penn - sept 30 2010 (20)

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
 
Interviews
InterviewsInterviews
Interviews
 
How to Pass an Interview for Software Engineer / IT Specialist?
How to Pass an Interview for Software Engineer / IT Specialist?How to Pass an Interview for Software Engineer / IT Specialist?
How to Pass an Interview for Software Engineer / IT Specialist?
 
How to Pass an Interview for Software Engineer
How to Pass an Interview for Software EngineerHow to Pass an Interview for Software Engineer
How to Pass an Interview for Software Engineer
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview Guide
 
5. Подготовка и явяване на ИТ интервю
5. Подготовка и явяване на ИТ интервю5. Подготовка и явяване на ИТ интервю
5. Подготовка и явяване на ИТ интервю
 
Interviewing and Getting a Job 101
Interviewing and Getting a Job 101Interviewing and Getting a Job 101
Interviewing and Getting a Job 101
 
Karat at CMU
Karat at CMUKarat at CMU
Karat at CMU
 
Hack It 'Til You Make It: Acing The Technical Interview
Hack It 'Til You Make It: Acing The Technical InterviewHack It 'Til You Make It: Acing The Technical Interview
Hack It 'Til You Make It: Acing The Technical Interview
 
Top 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxTop 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docx
 
Top 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxTop 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docx
 
Google Interview Prep Guide Software Engineer
Google Interview Prep Guide Software EngineerGoogle Interview Prep Guide Software Engineer
Google Interview Prep Guide Software Engineer
 
Test Preparation Strategies
Test Preparation StrategiesTest Preparation Strategies
Test Preparation Strategies
 
How to start your data career
How to start your data careerHow to start your data career
How to start your data career
 
Salesforce Architect Group, Frederick, United States July 2023 - Generative A...
Salesforce Architect Group, Frederick, United States July 2023 - Generative A...Salesforce Architect Group, Frederick, United States July 2023 - Generative A...
Salesforce Architect Group, Frederick, United States July 2023 - Generative A...
 
Choosing Technical Interview Questions (2006)
Choosing Technical Interview Questions (2006)Choosing Technical Interview Questions (2006)
Choosing Technical Interview Questions (2006)
 
disha_workshop_slides.pdf
disha_workshop_slides.pdfdisha_workshop_slides.pdf
disha_workshop_slides.pdf
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
 
Create Your Tester Portfolio
Create Your Tester PortfolioCreate Your Tester Portfolio
Create Your Tester Portfolio
 

Cracking the coding interview u penn - sept 30 2010

  • 1. Cracking the Technical Interview Cracking the Coding Interview Gayle Laakmann Founder / CEO, CareerCup.com
  • 2. My Background Penn BSE / MSE ‘05 in CS Ex-Engineer at Google, Microsoft and Apple + Offers from Amazon, IBM and others 3 Years on Google Hiring Committee Interviewed 150+ candidates
  • 3. CareerCup Founded 2005 Largest source for technical interview questions (3000+ FREE questions) Services: Book (Cracking the Coding Interview) Video of interview Resume review Mock interviews
  • 4.
  • 5. How are interviews structured? How are you evaluated? Process
  • 6. Technical Interview Process Initial Screen (Phone / Campus) 4 - 5 on site interviews 10 min General 40 min Technical 10 min Closing Sometimes “blind” interview
  • 7. Big Company Evaluation Experience Personality and… No Red Flags
  • 8. What are red flags? Arrogance Communication Issues Arguing (too much) Dishonesty
  • 9. Smaller Companies Tend to look for broader skills Care more about experience / personality Might ask to see “portfolio” but… It varies!
  • 10. What do companies look for? Applying
  • 11. What can you do? Get project experience! Course work Open source Independent studies Weiss Tech House Part-time job Start a business! Know C++ or Java well Good grades are nice – but not enough! Skills Passion Work Ethic Creativity Initiative
  • 12. 3 Hallmarks of a Great Resume: Short and sweet One page – no more! Short bullets (1 – 2 lines). No paragraphs! Accomplishments, not responsibilities Quantify! Clean, Professional and Well Structured Projects section No spelling / grammar mistakes Nice resume format (don’t format via spaces!)
  • 13. Why do you want to work here? What was your favorite project? Interview prep – SOFT SKILLS
  • 14. Research the company / team Prepare questions (around 10) Know: What they do (duh) Specific products – what is good / bad What their hardest problems are Why you want to work there What value you can add (esp. if non-coding role) Soft Prep – The Company / Team
  • 15. Create Preparation Grid for Projects + (maybe) Behavioral Grid Soft Prep – Yourself
  • 16. Strengths vs. Weaknesses Mediocre answer: “it was hard because I had to learn new languages / technologies” Not just answering Q’s – show who you are! Soft Prep – Yourself
  • 17. How do you prep for coding questions? What do you prep? Interview prep – Tech SKILLS
  • 18. Study the basics: CLR algorithms book is great – but too complex for interviews Write code on paper Put away the compiler Look up sample interview questions Focus on the topics you’re struggling with How to study
  • 19. How to implement When to use (pros / cons) Data Structures
  • 20. Implementation Space vs Time Complexity Algorithms
  • 21. Concepts Not just a concept – know how to code!
  • 22. Don’t practice on computer!
  • 23. What do companies look for? Interview – soft SKILLS
  • 24. Communication Tips Be specific – not arrogant “Yeah, I did all the hard work for the team” “I implemented the file system, which was considered one of the hardest components.” Be concise and structured Nugget First S.A.R.: Situation, Action, Result
  • 25. Lead with your “thesis” / nugget Nuggets grab the listener’s attention, and tell them where you’re going Q: What accomplishment are you most proud of? A: The time that I convinced the engineering school to switch to paperless time logs. Structure 1: Nugget First
  • 26. ituation ction esult Structure 2: S.A.R. S What did you do? What should I care? A R
  • 27. How do you tackle hard tech questions? Interview – tech SKILLS
  • 28. Mastering the Technical Questions Ask Questions! Questions are more ambiguous than they appear Talk out loud Show us how you think Think critically Does your algorithm really work? What’s the space and time complexity? Code slowly and methodically It’s not a race Test your code You’re not done until they say you’re done!
  • 29. Step 1: Ask Questions What are the data types? How much data? What assumptions do you need? Who is the user? NOTE: Especially important at Microsoft.
  • 30. Step 2: Think Critically What’s space / time complexity? What if there’s lots of data? Does your design cause other issues? If there are other issues, did you make the right trade offs?
  • 31. Step 3: Talk Out Loud Approach is more important than answer Talking out loud: Shows us how you think Lets the interviewer guide you Makes you not appear “stuck”
  • 32. Step 4: Pseudo Code & Code Pseudo code first – but say that! Use data structures generously What are the right ones? Define your own = shows good style Don’t crowd your coding Start in the upper left corner of board, not bottom
  • 33. Step 5: Testing Test your code! Extreme cases Check for user error Test general cases CAREFULLY FIX MISTAKES
  • 34. RELAX! Interviews are supposed to be hard! Everyone makes mistakes. Everyone!
  • 35. Question Types Standard Coding and Algorithms “Reverse a linked list” Object Oriented Design “Design a parking lot” Large System Design “Design a program to crawl the web” Trivia “What does a “vtable” refer to in C++”
  • 36. Standard Coding and Algorithms Question Type #1
  • 37. Algorithm Generation #1 Standard Coding and Algorithms OMG! I have no idea how to solve this problem!
  • 38. Algorithm Generation Pattern Matching What problem is this similar to? Simplify / Generalize What if the data was a different type? Base Case & Build Can you do this just for element 1? 1 and 2? … Data Structure Brainstorm Go through all data structures – can they help? #1 Standard Coding and Algorithms
  • 39. Algorithm Generation Pattern Matching Write code to reverse the order of words in a sentence. Example: input: “she ran to the store” output: “store the to ran she” #1 Standard Coding and Algorithms
  • 40. Algorithm Generation Simplify / Generalize Write a program to remove the duplicate characters in a string without using any additional buffers. #1 Standard Coding and Algorithms
  • 41. Algorithm Generation Base Case & Build Design an algorithm to print all subsets of a set (e.g., the power set) Example: input: {a, b, c} output: {{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}} #1 Standard Coding and Algorithms
  • 42. Algorithm Generation Data Structures Brainstorm Design an algorithm to figure out if someone has won a game of tic-tac-toe. Make it as fast as possible. #1 Standard Coding and Algorithms
  • 43. Object Oriented Design Question Type #2
  • 44. Core objects what are the core objects? Relationships what is their relationship to each other? Interactions how do they interact? Algorithms what are the tricky / interesting algorithms? OOD Steps (C.R.I.A.) #2 Object Oriented Design
  • 45. OOD Example #2 Object Oriented Design Design the data structures for a restaurant
  • 46. Restaurant OOD #2 Object Oriented Design 1. Core Objects Guest Party Server Table Meal Order
  • 47. Restaurant OOD #2 Object Oriented Design 2. Relationships Each party has many guests. Each guest has one party. (“One to many”)
  • 48. Restaurant OOD #2 Object Oriented Design 3. Interactions Party enters with Guest(s). Host assigns Party to Table.
  • 49. Restaurant OOD #2 Object Oriented Design 4. Algorithms How do you find a free table?
  • 50. Large Scale System Design Question Type #3
  • 51. Large Scale Steps #3 Large Scale System Design Simplify Generalize Generalize to more data:find & solve problems Solve for simple case (less data)
  • 53. Trivia #4 Trivia Hopefully you know the answer! Practice more  Else… Admit that you don’t know Try to derive the answer
  • 54. (eg, things that wouldn’t fit in elsewhere) FINAL THOUGHTS
  • 55. The Interview: Ending It Smile, be positive If you think you bombed, don’t worry Follow up with your recruiters (sometimes they forget)
  • 56. The Offer It’s always negotiable Helps if you have competing offer Don’t lie – companies know what competitors offer Negotiate on multiple factors (salary, signing bonus, stock, etc) Is it really what you want? Money, career options, etc
  • 57. My Red Flags: People who… … didn’t test their code … found mistakes and would make random fixes … messy code (lack of data structures / redundant code) … didn’t consider the impact of their algorithms … were scared to try
  • 58. Take Aways – Getting Ready Get Project Experience Show project experience on resume S. A. R. (Situation Action Result) Prepare Project / Behavioral Grids
  • 59. Technical Interview Prep Things to know (data structures, algorithms, concepts) Simple  Know Implementation Complex  Know Concepts Practice interview questions!
  • 60. At The Interview Be nice RELAX! Interviews are supposed to be hard Approaches Pattern Matching Simplify / Generalize Base Case & Build Data Structure Brainstorm
  • 61. Other Resources Book (sold today - $20) Interview video Mock Interviews Resume Review Slides posted at CareerCup.com/slides #1 book for interviewing on Amazon! PS: CareerCup is hiring a part-time dev! (remember that part about needing coding experience?) If you know Ruby on Rails (or even if you don’t), contact gayle@careercup.com.

Notas do Editor

  1. What you want to know:How much time do you spend coding per day? In meetings?How does code get shipped?Insightful QuestionsI noticed that Google Talk uses the XMPP standard, and …Passion QuestionsI love learning about scalable systems. What are opportunities at Google?
  2. Hashtables – super important!!!
  3. Bit manipulation – super important!Recursion: how does recursion impact space and time?Practice converting from iterative into recursion