The OOP Pillars Exam
A medium Python interview practice problem on DataDriven. Write and execute real python code with instant grading.
- Domain
- Python
- Difficulty
- medium
- Seniority
- L3
Problem
Given a list of [animal_type, name] pairs, instantiate the appropriate subclass of an abstract Animal class (with an abstract speak()). The 'dog' subclass speaks 'Woof!'; the 'cat' subclass speaks 'Meow!'. For each pair, build the right subclass instance and collect its speak() output as the string '{name} says: {sound}!'. Return the list of these strings in the same order as the input. Implement inheritance and polymorphism correctly: the driver must not call speak() on the raw pair - it must construct the matching Animal subclass first.
Summary
Four principles, one class hierarchy - show you know all of them.
Practice This Problem
Solve this Python problem with real code execution. DataDriven runs your Python code in a real environment and grades it automatically.