Cracking the coding interview : 189 programming questions and solutions /
- Cracking the coding interview : 189 programming questions and solutions /
- McDowell, Gayle Laakmann, 1982- author.
- Wentworth Institute of Technology
- I. The interview process. Why? ; How questions are selected ; It's all relative ; Frequently asked questions -- II. Behind the scenes. The Microsoft interview ; The Amazon interview ; The Google interview ; The Apple interview ; The Facebook interview ; The Palantir interview -- III. Special situations. Experienced candidates ; Testers and SDETs ; Product (and program) management ; Dev lead and managers ; Startups ; Acquisitions and acquihires ; For interviewers -- IV. Before the interview. Getting the right experience ; Writing a great resume ; Preparation map -- V. Behavioral questions. Interview preparation grid ; Know your technical projects ; Responding to behavioral questions ; So, tell me about yourself -- VI. Big O. An analogy ; Time complexity ; Space complexity ; Drop the constraints ; Drop the non-dominant terms ; Multi-part algorithms : add vs. multiply ; Amortized time ; Log N runtimes ; Recursive runtimes ; Examples and exercises -- VII. Technical questions. How to prepare ; What you need to know ; Walking through a problem ; Optimize & Solve Technique # 1 : Look for BUD ; Optimize & Solve Technique #2 : DIY (Do it yourself) ; Optimize & Solve Technique #3 : Simplify and generalize ; Optimize & Solve Technique #4 : Base case and build ; Optimize & Solve Technique #5 : Data structure brainstorm ; Best conceivable runtime (BCR) ; Handling incorrect answers ; When you've heard a question before ; The 'perfect' language for interviews ; What good coding looks like ; Don't give up! -- VIII. The offer and beyond. Handling offers and rejection ; Evaluating the offer ; Negotiation ; On the job -- IX. Interview questions. Data structures: Arrays and strings ; Linked lists ; Stacks and queues ; Trees and graphs ; Concepts and algorithms. Bit manipulation ; Math and logic puzzles ; Object-oriented design ; Recursion and dynamic programming ; System design and scalability ; Sorting and searching ; Testing ; Knowledge based. C and C++ ; Java ; Databases ; Threads and locks ; Additional review problems: Moderate ; Hard -- X. Solutions. Data structures ; Concepts and algorithms ; Knowledge based ; Additional review problems -- XI. Advanced topics. Useful math ; Topological sort ; Dijkstra's algorithm ; Hash table collision resolution ; Rabin-Karp substring search ; AVL trees ; Red-black trees ; MapReduce ; Additional studying -- XII. Code library. HashMapList <T, E> ; TreeNode (Binary search tree) ; LinkedListNode (Linked list) ; Trie & TrieNode -- XIII. Hints. Hints for data structures ; Hints for concepts and algorithms ; Hints for knowledge-based questions ; Hints for assorted review problems -- XIV. About the author.
- Online access:
- No online access
- Library holdings:
Wentworth Stacks--Upper Level
650.14 .M43 2016