Skip to content

codingforinterviews/practice-problems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f9ab8b3 · May 18, 2015

History

53 Commits
Mar 9, 2015
Mar 3, 2015
Mar 3, 2015
Mar 3, 2015
Jan 28, 2014
Jan 27, 2014
Feb 11, 2014
Feb 11, 2014
Mar 3, 2015
Mar 7, 2015
Mar 3, 2015
Mar 3, 2015
Mar 3, 2015
May 17, 2015
Mar 3, 2015
Feb 11, 2014
Feb 11, 2014
Jan 27, 2014
Jan 27, 2014

Repository files navigation

The Practice Problem Compendium

Tired of Googling around for programming interview practice problems? This is a project to build high-quality practice problems suggested for preparing for programming interviews.

Suggested Practice Questions

  1. Array Rotation: take a given array and rotate it n slots (10-20 minutes)
  2. Coin Change: how many different ways can you make change given an amount and list of coins?
  3. Tree Zig Zag: alternate between the left-most and right-most nodes in a BST.

How should you approach these problems?

  1. Code in a realistic fashion. If you're doing a whiteboard interview, practice with a whiteboard. If you don't have a whiteboard, writing your solution on paper can be a good substitute. Phone interview? Try using the online code pad they will have you use.
  2. Always compile your code after writing it. You'll often find bugs in your solution. Think—how might you catch this problem in the future?

What makes a good practice problem?

  1. Representative of many problems
  2. Has shown up (or could reasonably show up) in real interviews
  3. Takes less than an hour
  4. Not language-specific
  5. Two kinds of problems: more involved complex ones (company challenges)—good for overall practice more specific targeted problems—better for checking understanding
  6. Not breaking any confidentiality agreements

Interested in getting even more involved? Feel free to submit problems and solutions as pull requests. Email brian@codingforinterviews.com to get more involved with the group and join our planning Trello board.