TY - BOOK AU - McDowell,Gayle Laakmann TI - Cracking the coding interview: 189 programming questions and solutions SN - 9780984782857 PY - 2016/// CY - Palo Alto, CA PB - CareerCup, LLC KW - Computer programming KW - Problems, exercises, etc KW - Vocational guidance KW - Employment interviewing KW - Problems and exercises KW - lcgft N1 - 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 ; 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 N2 - Now in the 6th edition, the book gives you the interview preparation you need to get the top software developer jobs. This is a deeply technical book and focuses on the software engineering skills to ace your interview. The book includes 189 programming interview questions and answers, as well as other advice ER -