This book gives you the interview preparation you need to get the top software developer jobs.
This book provides:
* 150 Programming Interview Questions and Solutions: From binary trees to binary search, this list of 150 questions includes the most common and most useful questions in data structures, algorithms, and knowledge based questions.
* Ten Mistakes Candidates Make -- And How to Avoid Them: Don't lose your dream job by making these common mistakes. Learn what many candidates do wrong, and how to avoid these issues.
* Steps to Prepare for Behavioral and Technical Questions: Stop meandering through an endless set of questions, while missing some of the most important preparation techniques. Follow these steps to more thoroughly prepare in less time.
* Interview War Stories: A View from the Interviewer's Side: Humorous but instructive stories from our interviewers show you how some candidates really flopped on the most important question - and how you can avoid doing the same.
As you get ready for your interviews, consider these suggestions:
»»Write Code on Paper: Most interviewers won’t give you a computer and will instead expect you to write code on a whiteboard or on paper. To simulate this environment, try answering interview problems by writing code on paper first, and then typing them into a computer as-is. Whiteboard / paper coding is a special skill, which can be mastered with constant practice.
»»Know Your Resume: While technical skills are extremely important, that’s no reason to neglect your own resume. Make sure to prepare yourself to give a quick summary of any project or job you were involved with, and to discuss the hardest and most interesting problems you encountered along the day.
»»Don’t Memorize Solutions: While this book offers a representative sample of interview questions, there are still thousands of interview questions out there. Memorizing solutions
is not a great use of your time. Rather, use this book to explore approaches to problems, to learn new concepts, and to practice your skills.
»»Talk Out Loud: Interviewers want to understand how you think and approach problems,
so talk out loud while you’re solving problems. Let the interviewer see how you’re tackling the problem, and they just might guide you as well.
* 150 Programming Interview Questions and Solutions: From binary trees to binary search, this list of 150 questions includes the most common and most useful questions in data structures, algorithms, and knowledge based questions.
* Ten Mistakes Candidates Make -- And How to Avoid Them: Don't lose your dream job by making these common mistakes. Learn what many candidates do wrong, and how to avoid these issues.
* Steps to Prepare for Behavioral and Technical Questions: Stop meandering through an endless set of questions, while missing some of the most important preparation techniques. Follow these steps to more thoroughly prepare in less time.
* Interview War Stories: A View from the Interviewer's Side: Humorous but instructive stories from our interviewers show you how some candidates really flopped on the most important question - and how you can avoid doing the same.
As you get ready for your interviews, consider these suggestions:
»»Write Code on Paper: Most interviewers won’t give you a computer and will instead expect you to write code on a whiteboard or on paper. To simulate this environment, try answering interview problems by writing code on paper first, and then typing them into a computer as-is. Whiteboard / paper coding is a special skill, which can be mastered with constant practice.
»»Know Your Resume: While technical skills are extremely important, that’s no reason to neglect your own resume. Make sure to prepare yourself to give a quick summary of any project or job you were involved with, and to discuss the hardest and most interesting problems you encountered along the day.
»»Don’t Memorize Solutions: While this book offers a representative sample of interview questions, there are still thousands of interview questions out there. Memorizing solutions
is not a great use of your time. Rather, use this book to explore approaches to problems, to learn new concepts, and to practice your skills.
»»Talk Out Loud: Interviewers want to understand how you think and approach problems,
so talk out loud while you’re solving problems. Let the interviewer see how you’re tackling the problem, and they just might guide you as well.
Table of Contents
Foreword
Introduction
Behind the Scenes
The Microsoft Interview
The Amazon Interview
The Google Interview
The Apple Interview
The Yahoo Interview
Interview War Stories
Before the Interview
Resume Advice
Behavioral Preparation
Technical Preparation
The Interview and Beyond
Handling Behavioral Questions
Handling Technical Questions
Five Algorithm Approaches
The Offer and Beyond
Top Ten Mistakes Candidates Make
Frequently Asked Questions
Interview Questions
Data Structures
Chapter 1 Arrays and Strings
Chapter 2 Linked Lists
Chapter 3 Stacks and Queues
Chapter 4 Trees and Graphs
Concepts and Algorithms
Chapter 5 Bit Manipulation
Chapter 6 Brain Teasers
Chapter 7 Object Oriented Design
Chapter 8 Recursion
Chapter 9 Sorting and Searching
Chapter 10 Mathematical
Chapter 11 Testing
Chapter 12 System Design and Memory Limits
Knowledge Based
Chapter 13 C++
Chapter 14 Java
Chapter 15 Databases
Chapter 16 Low Level
Chapter 17 Networking
Chapter 18 Threads and Locks
Additional Review Problems
Chapter 19 Moderate
Chapter 20 Hard
Solutions
Index
Mock Interviews
About the Author