Here's a different suggestion: what about getting some OO *books* and actually learning about the principals, then writing software that uses them. Then you'll be able to answer questions about them in the way that an interviewer wants you to. Figuring out how to answer canned questions isn't going to go very far. Anyone who is worth working for will A) see through ones effort to sound knowledgeable and B) not care if you don't know a particular theory or technology. Rather they will care that you can learn and know how to solve problems, regardless of the tool you are using.