If you are interviewing for a OOP development position, you should be able to answer at least the following questions. These are not language specific.

List the identifying characteristics of the following:

For all of the above that you could name, give a functional example.