Cracking the coding interview : 189 programming questions and solutions /
By: McDowell, Gayle Laakmann [author.].
Publisher: Palo Alto, CA : CareerCup, LLC, 2016Edition: 6th edition.Description: x, 696 pages : illustrations ; 26 cm.Content type: text | still image | text | still image Media type: unmediated | unmediated Carrier type: volume | volumeISBN: 9780984782857; 9780984782857:; 0984782850.Subject(s): Computer programming -- Problems, exercises, etc | Coding theory | Computer algorithms | Computer programming -- Vocational guidance | Employment interviewingDDC classification: 005.13 MCDItem type | Current library | Call number | Status | Date due | Barcode | Item holds |
---|---|---|---|---|---|---|
Standard Loan | ATU Sligo Yeats Library Main Lending Collection | 005.13 MCD (Browse shelf(Opens below)) | Available | 0062815 |
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.