Programming Interviews Exposed: Secrets to Landing Your Next Job



Similar documents
Graph Analysis and Visualization

These materials are the copyright of John Wiley & Sons, Inc. and any dissemination, distribution, or unauthorized use is strictly prohibited.

HUMAN RESOURCES MANAGEMENT FOR PUBLIC AND NONPROFIT ORGANIZATIONS

Ukulele In A Day. by Alistair Wood FOR. A John Wiley and Sons, Ltd, Publication

COVERS ALL TOPICS IN LEVEL I CFA EXAM REVIEW CFA LEVEL I FORMULA SHEETS

AutoCAD 2015 and AutoCAD LT Essentials

Fundamentals of Financial Planning and Management for mall usiness


Mastering Australian Payroll with Xero In A Day

Building Performance Dashboards and Balanced Scorecards with SQL Server Reporting Services

Praise for Launch. Hands on and generous, Michael shows you precisely how he does it, step by step. Seth Godin, author of Linchpin

International Marketing Research

Statistics for Experimenters

Limit of Liability/Disclaimer of Warranty:

ARCHITECTING THE CLOUD

Web Marketing ALL-IN-ONE FOR. DUMmIES 2ND EDITION

BE SMARTER THAN YOUR LAWYER AND VENTURE CAPITALIST

NICK SMITH AND ROBERT WOLLAN WITH CATHERINE ZHOU. John Wiley & Sons, Inc.

Praise for Agile Contracts

How To Build Your Empire of Affiliate Business

Tableau Your Data! Fast and Easy Visual Analysis with Tableau Software. Daniel G. Murray and the InterWorks BI Team

The Art of Company Valuation and Financial Statement Analysis

AN INTRODUCTION TO OPTIONS TRADING. Frans de Weert

Limit of Liability/Disclaimer of Warranty:

Analysis of Financial Time Series

Appendix H: Control System Computational Aids

AvePoint CRM Migration Manager for Microsoft Dynamics CRM. Release Notes

Understanding the Predictive Analytics Life Cycle

Writing Grant Proposals That Win

DashBoard Beta Web Server

R49 Using SAP Payment Engine for payment transactions. Process Diagram

Pipeliner CRM Phaenomena Guide Getting Started with Pipeliner Pipelinersales Inc.

MANAGEMENT OF DATA IN CLINICAL TRIALS

Extracting a Print Capture From a Network Packet Capture Using Wireshark White Paper

AvePoint Record Rollback for Microsoft Dynamics CRM

No Stress Tech Guide To Crystal Reports XI: For Beginners. By Dr. Indera E. Murphy

Résumé Writing Made Easy!

Expanded Frequency Capping

Computer Forensics JumpStart. Second Edition

Windows Hard Disk Encryption

AvePoint Record Rollback for Microsoft Dynamics CRM. Release Notes

TestFlight FAQ Apple Inc.

ADF Mobile Overview and Frequently Asked Questions

IMPLEMENTATION GUIDE. API Service. More Power to You. May For more information, please contact

Microsoft Dynamics GP. Payroll Connect

The 2007 R2 Version of Microsoft Office Communicator Mobile for Windows Mobile: Frequently Asked Questions

THE AGILE ARCHITECTURE REVOLUTION

Checking System Requirements. How-To Guide

The Truth About UPC Bar Codes

Elvis and the Feathers

CINSAY RELEASE NOTES. Cinsay Product Updates and New Features V2.1

Economics: New Ways of Thinking. Student Resources. User Guide

itunes Connect App Analytics Guide v1

GOOGLE ADSENSE QUICK GUIDE

Pipeliner CRM Phaenomena Guide Add-In for MS Outlook Pipelinersales Inc.

Getting Started with iphone SDK, Android and others: Mobile Application Development Create your Mobile Applications Best Practices Guide

Table of Contents. Cover. Title Page. Copyright. Publisher's Letter. Dedication. Acknowledgments. About the Author

STATISTICAL APPLICATIONS for. HEALTH INFORMATION MANAGEMENT Second Edition

System Requirements and Platform Support Guide

Windows Small Business Server 2003 Upgrade Best Practices

Pipeliner CRM Phaenomena Guide Opportunity Management Pipelinersales Inc.

PROFESSIONAL HADOOP SOLUTIONS

CIOBCONTRACT FOR USE WITH COMPLEX PROJECTS AGREEMENT FIRST EDITION 2013

Apple Applications > Safari

Credit Card Extension White Paper

Compatibility Matrix BES12. September 16, 2015

Dell Spotlight on Active Directory Server Health Wizard Configuration Guide

SAP BusinessObjects Design Studio Deep Dive. Ian Mayor and David Stocker SAP Session 0112

Security Industry Market Share Analysis

Software Installation Guide. ModeMaster PC

Mobile Website Design 5 Things You Need To Know! by Gabrielle Melisende

Price and Revenue Management - Manual Price Changes. SAP Best Practices for Retail

Security Industry Market Share Analysis

ORACLE CRM ON DEMAND RELEASE 30

Compatibility Matrix BES10. April 27, Version 10.2 and later

AvePoint Timeline Pro for Microsoft Dynamics CRM. Installation and Configuration Guide

B2B Buyers Are Customers, Too: How Wholesalers Can Improve the Customer Experience

AvePoint SearchAll for Microsoft Dynamics CRM

Beyond the Hype: Advanced Persistent Threats

Transcription:

Programming Interviews Exposed: Secrets to Landing Your Next Job Preface.... xxv 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

Programming Interviews Exposed Third Edition

Programming Interviews Exposed Secrets to Landing Your Next Job Third Edition John Mongan Eric Giguère Noah Kindler

Programming Interviews Exposed: Secrets to Landing Your Next Job, Third Edition Published by John Wiley & Sons, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright 2013 by John Mongan, Eric Giguère, and Noah Kindler Published by John Wiley & Sons, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-1-118-26136-1 ISBN: 978-1-118-28720-0 (ebk) ISBN: 978-1-118-28340-0 (ebk) ISBN: 978-1-118-28466-7 (ebk) Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions. Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Web site may provide or recommendations it may make. Further, readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work was written and when it is read. For general information on our other products and services please contact our Customer Care Department within the United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002. Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with standard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD or DVD that is not included in the version you purchased, you may download this material at http:// booksupport.wiley.com. For more information about Wiley products, visit www.wiley.com. Library of Congress Control Number: 2012941787 Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Wrox Programmer to Programmer, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may not be used without written permission. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book.

For Thuy, the love of my life, who understands me. John Mongan To my parents, Jean-Claude and Marie-Jolle, who encouraged and supported my love of programming. Eric Giguère To Mikey, Alex, and Teddy Noah Kindler

About the AuthorS John Mongan is a self-taught programmer with professional experience as a consultant for several software and pharmaceutical companies. He has three patents on software testing technologies. He holds a B.S. degree from Stanford and an M.D. and a Ph.D. degree in bioinformatics from UC San Diego, where he worked on supercomputer simulations of protein dynamics. He currently conducts research in medical informatics as a resident radiologist at UC San Francisco. Eric Giguère started programming in BASIC on a Commodore VIC-20 (a long time ago) and was hooked. He holds BMath and MMath degrees in computer science from the University of Waterloo, has extensive professional programming experience, and is the author of several programming books. He currently works as a software engineer at Google. 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.

About the Technical Editors Michael Gilbert is a long-time systems programmer for various engineering firms. He got his start developing games for the Atari ST, and was a frequent contributing editor for STart magazine. Over the years, he s developed gaming software on the PC and Mac for clients worldwide. He s also an expert Flash Actionscript programmer and has produced a popular internet gaming environment called HigherGames, you can check it out at www.highergames.com. He now enjoys developing games for the iphone and ipad, and currently has four games in the AppStore (Woridgo, Jumpin Java, Kings Battlefield, and Set Pro HD). In his spare time, he enjoys trying to defeat his wife Janeen in a friendly game of Scrabble. You can follow him on Twitter at mija711. Justin Vogt is an experienced software development professional with a unique blend of skills (technical, architectural, design, communication, creative, management, and development leadership). He has over 15 years of diverse experience in software development and has worked on projects that include embedded software, mobile development, web development, commercial software development, device communications, medical application development, and non-profit organization solution development.

Credits Executive Editor Carol Long Project Editor Maureen Spears Technical Editor Justin J. Vogt Production Editor Kathleen Wisor Copy Editor Apostrophe Editing Editorial Manager Mary Beth Wakefield Freelancer Editorial Manager Rosemarie Graham Associate Director of Marketing David Mayhew Marketing Manager Ashley Zurcher Business Manager Amy Knies Production Manager Tim Tate Vice President and Executive Group Publisher Richard Swadley Vice President and Executive Publisher Neil Edde Associate Publisher Jim Minatel Project Coordinator, Cover Katie Crocker Compositor Craig Johnson, Happenstance Type-O-Rama Proofreader Nancy Carrasco Indexer Jack Lewis Cover Designer Ryan Sneed Cover Image Andrew Rich / istockphoto