This document provides an overview of cracking the technical interview process. It discusses how interviews are structured, what companies look for, and how to prepare. Key points include:
- Technical interviews typically involve an initial phone screen, followed by 4-5 on-site interviews with both general and technical questions.
- Companies evaluate candidates based on their experience, personality, and problem-solving aptitude rather than specific technical knowledge.
- Strong preparation involves practicing common data structures and algorithms, preparing examples of work experience and soft skills, and getting feedback through mock interviews.
- During the interview, candidates should communicate clearly, think out loud, thoroughly test their code, and avoid red flags like arrogance or poor communication
Cracking the coding interview columbia - march 23 2011
1. Cracking the Technical Interview Cracking the Coding Interview Gayle Laakmann Founder / CEO, CareerCup.com
2. My Background CS undergrad and masters degree from UPenn Ex-Engineer at Google, Microsoft and Apple plus Offers from Amazon, IBM and others 3 Years on Google Hiring Committee Interviewed 150+ candidates Founder of CareerCup.com Author of Cracking the Coding Interview and The Google Resume
10. What can you do? Get project experience! Course work Open source Part-time job Start a business! Know C++ or Java well Good grades are nice – but not enough! Skills Passion Work Ethic Creativity Initiative
11. But unless you show this on your resume, it really doesn’t do you much good. So what should a resume look like?
12. Resumes – The Most Important Thing Glanced at, not read You have 15 – 30 seconds to make the best impression possible. Show That You “Get Things Done”
13. Resumes: Structure One Page Short Bullets: 1 – 2 lines “So short that you can’t NOT but read it” Nice Resume Format Use tables, not spaces. Use a REAL resume format.
14. Resumes: Content Accomplishments, not responsibilities Quantify! Understandable, but specific To be read by both recruiters and engineers PROJECTS! Anything (esp. coding) you did – for class or not
15. How do you make yourself look good? Interview prep – SOFT SKILLS
16. Research the company / team Prepare questions (around 10) Prepare for questions about yourself But how? Soft Skills Prep
18. How to handle “soft skills” questions Interview – soft SKILLS
19. 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
20. 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
21. ituation ction esult Structure 2: S.A.R. S What did you do? What should I care? A R
22. How do you prep for coding questions? What do you prep? Interview prep – Tech SKILLS
23. Write code on paper Put away the compiler Study the basics: CLR algorithms book is great – but too complex for interviews Look up sample interview questions Focus on the topics you’re struggling with How to study
29. Mastering the Coding 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!
30. What does a “good coder” do? Be methodical, not speed Reasonably Bug Free Thorough testing (and careful fixing) Check for error conditions Clean coding Uses other functions Good use of data structures (defines own if useful) Concise and readable
32. 3 Main Question Types Standard Coding and Algorithms “Reverse a linked list” Object Oriented Design “Design a parking lot” Scalability “Design a program to crawl the web”
34. How To Solve Algorithm Questions 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
35. 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
36. Algorithm Generation Simplify / Generalize Design an algorithm to figure out if you can build a ransom note (array of strings) from a magazine (array of strings). #1 Standard Coding and Algorithms
37. 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
38. 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
40. 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? Object Oriented Design Steps (C.R.I.A.) #2 Object Oriented Design
41. OOD Example #2 Object Oriented Design Design the data structures for a restaurant
42. Core objects restaurant, host, employee, server, table Relationships each party has many guests, server and host are a type of employee Interactions HOST assigns PARTY to TABLE Algorithms How is a free table selected? Object Oriented Design Steps (C.R.I.A.) #2 Object Oriented Design
44. Simplify pretend there wasn’t a lot of data. How would you solve it? Identify the problems what goes wrong when you have lots of data? Fix the issues solve the issues that come up Iterate new problems may have come up. How do you solve them? Scalability Questions #3 Scalability
47. The Interview: Ending It Smile, be positive If you think you bombed, don’t worry Follow up with your recruiters (sometimes they forget)
48. 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
49. Other Resources Books (sold today - $20) Interview video Mock Interviews Resume Review Slides posted at CareerCup.com/slides
Notes de l'éditeur
Hashtables – super important!!!
Bit manipulation – super important!Recursion: how does recursion impact space and time?Practice converting from iterative into recursion