Cracking the coding interview : 189 programming questions and solutions

cover image

Where to find it

Information & Library Science Library

Call Number
QA76.6 .M34 2015
Status
Checked Out (Due 7/30/2024)
Call Number
QA76.6 .M34 2015 c. 2
Status
Available
Call Number
QA76.6 .M34 2015 c. 3
Status
Available
Call Number
QA76.6 .M34 2015 c. 4
Status
Checked Out (Due 5/15/2024)
Call Number
QA76.6 .M34 2015 c. 5
Status
Checked Out (Due 7/2/2024)

Authors, etc.

Names:

Summary

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.

Contents

1. The interview process. Why? -- How questions are selected -- Timeline and preparation map -- It's all relative -- Frequently asked questions -- 2. Behind the scenes. The Microsoft interview -- The Amazon interview -- The Google interview -- The Apple interview -- The Facebook interview -- The Palantir interview -- 3. Special situations. Experienced candidates -- Testers and SDETs -- Product (and program) management --Dev lead and managers -- Start-ups -- Acquisitions and acquihires -- For interviewers -- 4. Before the interview. Getting the right experience -- Writing a great resume -- Preparation map -- 5. Behavioral questions. Interview preparation grid -- Know your technical projects -- Responding to behavioral questions -- So, tell me about yourself -- 6. 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 -- 7. 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! -- 8. The offer and beyond. Handling offers and rejection -- Evaluating the offer -- Negotiation -- On the job -- 9. 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 -- 10. Solutions. Data structures -- Concepts and algorithms -- Knowledge based -- Additional review problems -- 11. 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 -- 12. Code library. HashMapList -- TreeNode (Binary search tree) -- LinkedListNode (Linked list) -- Trie & TrieNode -- 13. Hints. Hints for data structures -- Hints for concepts and algorithms -- Hints for knowledge-based questions -- Hints for assorted review problems -- 14. About the author.

Other details