JV Java  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Интерфейсы и абстрактные классы

Проверяет основу темы «Интерфейсы и абстрактные классы» через чтение кода, предсказание результата и выбор корректной конструкции. Вопросы перемешаны: встречаются трассировка, ошибка компиляции, выбор правки, граничный сценарий и оценка инженерного компромисса. Базовая версия — Java 25 LTS; если версия не названа отдельно, используются устойчивые правила, совместимые с Java 21.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. В каждом вопросе верен только один вариант; близкие ответы различаются стадией ошибки, порядком действий или границей контракта. После завершения вы увидите общий результат, результаты по 4 тематическим шкалам и объяснения.
Вопрос 1 из 20
Какое утверждение о механизме «Абстрактное состояние» верно в контексте раздела «Интерфейсы и абстрактные классы»?
Вопрос 2 из 20
Какое ограничение механизма «Выбор механизма» нельзя упускать при работе с разделом «Интерфейсы и абстрактные классы»?
JavaВыбор механизма · фрагмент для анализа
// ...
    @Override public boolean add(String s) {
        System.out.println("add " + s);
        return super.add(s);
    }
}
Вопрос 3 из 20
Какое утверждение о механизме «Контракты» верно в контексте раздела «Интерфейсы и абстрактные классы»?
Вопрос 4 из 20
Какое утверждение о механизме «Выбор механизма» верно в контексте раздела «Интерфейсы и абстрактные классы»?
Вопрос 5 из 20
Какая правка точнее всего устраняет причину проблемы по теме «Контракты» в разделе «Интерфейсы и абстрактные классы»?
JavaКонтракты · фрагмент для анализа
// Фрагмент на ревью
class BadComparator implements java.util.Comparator<Integer> {
    public int compare(Integer a, Integer b) { return a.equals(b) ? 0 : 1; }
}
Вопрос 6 из 20
Как лучше исправить или прояснить поведение темы «Абстрактное состояние» в разделе «Интерфейсы и абстрактные классы»?
JavaАбстрактное состояние · фрагмент для анализа
// Фрагмент на ревью
abstract class Base {
    final int id;
    Base(int id) { this.id = id; }
}
class Child extends Base { Child() { super(42); } }
System.out.println(new Child().id);
Вопрос 7 из 20
Какое изменение сделает код по теме «Методы по умолчанию» в разделе «Интерфейсы и абстрактные классы» надёжнее?
JavaМетоды по умолчанию · фрагмент для анализа
// Фрагмент на ревью
interface A { default String name() { return "A"; } }
interface B { default String name() { return "B"; } }
class C implements A, B {}
Вопрос 8 из 20
Какой недостаток проектирования есть у такого способа добавить журналирование?
JavaВыбор механизма · фрагмент для анализа
class LoggingNames extends java.util.ArrayList<String> {
    @Override public boolean add(String s) {
        System.out.println("add " + s);
        return super.add(s);
    }
}
Вопрос 9 из 20
Что важно учитывать при применении механизма «Контракты» из раздела «Интерфейсы и абстрактные классы» в рабочем проекте?
Вопрос 10 из 20
Что нужно отдельно проверить на границе контракта «Абстрактное состояние» в разделе «Интерфейсы и абстрактные классы»?
JavaАбстрактное состояние · фрагмент для анализа
// ...
}
class Child extends Base { Child() { super(42); } }
System.out.println(new Child().id);
Вопрос 11 из 20
Как точнее оценить пользу и цену решения по теме «Выбор механизма» в разделе «Интерфейсы и абстрактные классы»?
Вопрос 12 из 20
Что важно учитывать при применении механизма «Методы по умолчанию» из раздела «Интерфейсы и абстрактные классы» в рабочем проекте?
Вопрос 13 из 20
Каков точный результат выполнения или компиляции фрагмента из раздела «Интерфейсы и абстрактные классы» по теме «Абстрактное состояние»?
JavaАбстрактное состояние · фрагмент для анализа
abstract class Base {
    final int id;
    Base(int id) { this.id = id; }
}
class Child extends Base { Child() { super(42); } }
System.out.println(new Child().id);
Вопрос 14 из 20
Какое правило Java действует для темы «Методы по умолчанию» в разделе «Интерфейсы и абстрактные классы»?
Вопрос 15 из 20
Какое ограничение механизма «Контракты» нельзя упускать при работе с разделом «Интерфейсы и абстрактные классы»?
Вопрос 16 из 20
Какое ограничение механизма «Методы по умолчанию» нельзя упускать при работе с разделом «Интерфейсы и абстрактные классы»?
Вопрос 17 из 20
Какое замечание о сопровождении или производительности темы «Абстрактное состояние» в разделе «Интерфейсы и абстрактные классы» справедливо?
Вопрос 18 из 20
Какое изменение сделает код по теме «Выбор механизма» в разделе «Интерфейсы и абстрактные классы» надёжнее?
JavaВыбор механизма · фрагмент для анализа
// Фрагмент на ревью
class LoggingNames extends java.util.ArrayList<String> {
    @Override public boolean add(String s) {
        System.out.println("add " + s);
        return super.add(s);
    }
}
Вопрос 19 из 20
Что произойдёт с кодом по теме «Контракты» в разделе «Интерфейсы и абстрактные классы»?
JavaКонтракты · фрагмент для анализа
class BadComparator implements java.util.Comparator<Integer> {
    public int compare(Integer a, Integer b) { return a.equals(b) ? 0 : 1; }
}
Вопрос 20 из 20
Каков точный результат выполнения или компиляции фрагмента из раздела «Интерфейсы и абстрактные классы» по теме «Методы по умолчанию»?
JavaМетоды по умолчанию · фрагмент для анализа
interface A { default String name() { return "A"; } }
interface B { default String name() { return "B"; } }
class C implements A, B {}

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу