Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm looking for simple models with concise, concrete problem descriptions and greater than 50% chance that a particular answer provides a particular insight into one of a number of skills, to be given to prospective candidates for hire for a software engineering position. The coffee maker problem, for example, does not lend itself to a quick, in-office test taking scenario. Variations of shape, appliance, vehicle, coin or Lego™ management systems would probably be good.

Desired skills are primarily understanding of:

  1. When to use inheritance vs. composition
  2. When to use members for state vs. parameters or locals
  3. Importance of utilizing business domain terminology
  4. When to abstract out patterns vs. reducing complexity
  5. How to model responsibility vs. convenience
  6. When to use control inversion
  7. When to use an association class

My focus is on static structure.


migration rejected from stackoverflow.com Mar 24 at 21:47

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as too broad by MichaelT, gnat, GlenH7, World Engineer Mar 24 at 21:47

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs. If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer 1

I can't come up with an non-trivial example on the top of my head but something along the lines of extending a third-party library to be used in your own domain logic concurrently should hit most of those points.

Yes, I believe they would. The problem though, lies in: a) using domains that anyone could understand cold, and b) trimming them down to problems that have more crisply wrong/right possible answers –  Dynrepsys May 31 '11 at 19:51

Not the answer you're looking for? Browse other questions tagged or ask your own question.