Как правило, маркер интерфейс - это интерфейс, который один своим присутствием имеет некоторый эффект. Другими словами: какая-то структура будет использовать instanceof
или, возможно, отражение, чтобы идентифицировать ситуации, когда какой-то объект или класс реализует этот интерфейс маркера, чтобы затем сделать что-то на основе этой информации.
И я согласен с вашим пониманием: называть конкретный метод этого интерфейса не является частью этого понятия «маркерный интерфейс», по крайней мере, в моей книге.
И помимо моей книги, это, кажется, хорошо известное соглашение: маркер интерфейсы не объявляют метод, см. здесь или там . Оба этих источника подчеркивают: интерфейс marker не имеет методов или констант.
Поэтому я согласен с вашей позицией: функции и другие интерфейсы в этом пакете не являются маркерными интерфейсами в этом строгом смысле.
С другой стороны, я сомневаюсь, что вы найдете «официальное» определение этого термина (например, в спецификации языка Java). А когда нет официального стандарта, люди могут придумать «значение» слов.
Так что, возможно, ваш интервьюер решил, что «быть SAM » интерфейсом тоже является «маркером». И я почти уверен, что ты не можешь судиться с ним за его мнение.