Factory Method
Суть
Factory Method («виртуальный конструктор») — порождающий паттерн: базовый тип объявляет метод создания продукта, а какой именно продукт создать, решает подтип или конкретная реализация. Клиентский код работает с абстрактным продуктом (any Exporter) и не привязан к конкретным классам. Это Open/Closed на практике: новый продукт добавляется новой реализацией, старый код не трогают.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep