Способность C # делать классы статичными является языковой реализацией шаблона singleton.
Шаблоны проектирования - это общие способы решения общих проблем. В языке, таком как C ++, где классы не могут быть помечены как статические напрямую, синглтон должен быть реализован с помощью некоторой умной конструкции - шаблона. В C # эта функциональность встроена в статические классы.
В следующей части вопроса / обсуждения уместно использовать синглтоны, которые являются своего рода глобальным объектом / переменной. Я предполагаю, что интервьюеры хотят обсудить, где это уместно, а что нет.
Редактировать
Чтение Ответ Джона Скита на вопрос, с которым Дейв связан, я хотел бы добавить еще одну вещь:
Статический класс не может реализовывать интерфейсы, поэтому, если необходимо иметь синглтон, который реализует определенный интерфейс, он должен быть реальным объектом, и маркировка класса как static
не годится.