Elements of Programming Interviews Front Cover

Elements of Programming Interviews

Description

Elements of Programming Interviews: 300 Questions and Solutions

The core of Elements of Programming Interviews (EPI) is a collection of 300 problems with detailed solutions, including over 100 figures and 250 tested programs. The problems are representative of the questions asked at interviews at the most exciting companies. They are well-motivated, thought-provoking and fun to solve!

EPI includes a summary of the nontechnical aspects of interviewing, including common mistakes, strategies for a great interview, the interviewer’s perspective, negotiating the best offer, and much more.

Since different candidates have different time constraints, EPI includes a study guide with several study scenarios, ranging from weekend Hackathon to semester long preparation with a recommended a subset of problems for each scenario.

All problems are classified in terms of their difficulty level and include many variants in addition to the 300 problems to help you apply what you have learned more widely.

300 Programming Questions and Answers:

Each chapter starts with a brief summary of key concepts and results followed by 10-30 questions. Individual chapter topics are:

  • Getting Ready
  • Strategies For A Great Interview
  • Conducting An Interview
  • Primitive Types
  • Arrays and Strings
  • Linked Lists
  • Stacks and Queues
  • Binary Trees
  • Heaps
  • Searching
  • Hash Tables
  • Sorting
  • Binary Search Trees
  • Meta-algorithms
  • Algorithms on Graphs
  • Intractability
  • Parallel Computing
  • Design Problems
  • Probability
  • Discrete Mathematics

Solutions include code snippets which are primarily in C++. Programs concerned with concurrency are in Java. Complete programs are available at Google Code, specifically at ElementsOfProgrammingInterviews.com/code.

Table of Contents

I The Interview
1 Getting Ready
2 Strategles For A Great Interview
3 Conducting An Interview
4 Problem Solving Patterns

II Problems
5 Primitive Types
6 Arrays And Strings
7 Linked Lists
8 Stacks And Queues
9 Binary Trees
10 Heaps
11 Searching
12 Hash Tables
13 Sorting
14 Binary Search Trees
15 Meta-Algorithms
16 Algoriths On Graphs
17 Intractability
18 Parallel Computing
19 Design Problems
20 Discrete Mathematics

III Solutions
IV notation and index

To access the link, solve the captcha.