Валидацию первого уровня стоит проводить в браузере(HTML\js как хотите).
Если все же в контроллер данные пришли некорректные, думаю не стоит их обрабатывать, т.к. обычный пользователь обходить валидацию в браузере не станет
Возвращает не "тип интерфейса", а должен возвращать объект класса реализующий интерфейс Interviewer.
Следовательно он точно должен содержать в себе метод askQuestions.
Вроде бы паттерн Strategy, но это не точно