John Mongan is a resident radiologist at UC San Francisco, conducting research in medical informatics. He has a PhD in bioinformatics and several patents on software testing technologies.
Eric Giguere is a software engineer at Google with over 20 years of professional programming experience. He has a master's degree in computer science and is the author of several programming books.
Noah Kindler is VP Technology at the security technology company Avira. He leads software design and development teams across several products with a user base of over 100 million.
Introduction xxix
Chapter 1: Before the Search 1
Chapter 2: The Job Application Process 9
Chapter 3: Approaches to Programming Problems 19
Chapter 4: Linked Lists 31
Chapter 5: Trees and Graphs 61
Chapter 6: Arrays and Strings 85
Chapter 7: Recursion 107
Chapter 8: Sorting 125
Chapter 9: Concurrency 145
Chapter 10: Object-Oriented Programming 159
Chapter 11: Design Patterns 167
Chapter 12: Databases 177
Chapter 13: Graphics and Bit Manipulation 191
Chapter 14: Counting, Measuring, and Ordering Puzzles 207
Chapter 15: Graphical and Spatial Puzzles 225
Chapter 16: Knowledge-Based Questions 239
Chapter 17: Nontechnical Questions 253
Appendix: Résumés 263
Conclusion 283
Index 285
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.