ebook img

Programming Interviews Exposed PDF

338 Pages·2012·6.66 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Programming Interviews Exposed

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 Download from Wow! eBook <www.wowebook.com> 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 pro- motional 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 pub- lisher 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 coun- tries, 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 develop- ment, device communications, medical application development, and non-profit organization solution development. 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 credits

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.