**************************************************** ** Some examples of questions on the first module ** **************************************************** 1. Enumerate and describe the SOLID principles 2. What it is an auto_ptr<>? Why it is used? What it is the semantic of the copy constructor for auto_ptr<>? Write a few examples of usage 3. What it is a template member function? Write a simple example 4. Abstract Factory: describe the pattern, why it is used, how it can be implemented 5. What is the difference between isA and hasA relationship? When should we use one or the other? 6. Describe the Liskov's substitution principle 7. Describe the Observer pattern, when it is used, how it can be implemented 8. What it is the difference between private, protected and public inheritance? 9. Copy constructor and assignment operator: what happens with polymorphic classes? ***************************************************** ** Some examples of questions on the second module ** ***************************************************** 1. Describe the mechanism of partial template specialization 2. Describe the mechanism of template template parameter 3. Describe what is a functor, and how it can be implemented with templates 4. Describe the pimpl pattern, and why it can be useful 5. Describe the concept of safety to exceptions. What are the different safety properties? 6. Describe the typelist mechanism, and why it may be useful 7. Describe the RAII pattern, and some examples of applications 8. Describe the Test Driven Design principles.