"я не стал спрашивать у интервьюера правильный ответ, так как были сомнения в его профессионализме" - вот это сильно.
Переопределить мы можем и без виртуальных методов.
А они пригодятся, когда у тебя есть ссылка на базовый класс, которая ведет на унаследованный. Тогда при попытке вызова не виртуального метода вызовется метод базового класса. Если он виртуальный, то метод унаследованного.