JV Java  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

Неизменяемые объекты и record

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

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. В каждом вопросе верен только один вариант; близкие ответы различаются стадией ошибки, порядком действий или границей контракта. После завершения вы увидите общий результат, результаты по 5 тематическим шкалам и объяснения.
Вопрос 1 из 25
На какое правило следует опираться при разборе темы «Классы-записи record» в разделе «Неизменяемые объекты и record»?
Вопрос 2 из 25
Какое утверждение о механизме «Защитные копии» верно в контексте раздела «Неизменяемые объекты и record»?
Вопрос 3 из 25
Какое изменение сделает код по теме «Защитные копии» в разделе «Неизменяемые объекты и record» надёжнее?
JavaЗащитные копии · фрагмент для анализа
// Фрагмент на ревью
class Team {
    private final java.util.List<String> members;
    Team(java.util.List<String> members) { this.members = members; }
    java.util.List<String> members() { return members; }
}
var src = new java.util.ArrayList<>(java.util.List.of("A"));
var team = new Team(src);
src.add("B");
System.out.println(team.members());
Вопрос 4 из 25
Какая правка точнее всего устраняет причину проблемы по теме «Объекты-значения» в разделе «Неизменяемые объекты и record»?
JavaОбъекты-значения · фрагмент для анализа
// Фрагмент на ревью
record Money(double amount) {}
var a = new Money(0.1 + 0.2);
var b = new Money(0.3);
System.out.println(a.equals(b));
Вопрос 5 из 25
Какое замечание о сопровождении или производительности темы «Объекты-значения» в разделе «Неизменяемые объекты и record» справедливо?
Вопрос 6 из 25
Какое утверждение о механизме «Объекты-значения» верно в контексте раздела «Неизменяемые объекты и record»?
Вопрос 7 из 25
Какая правка точнее всего устраняет причину проблемы по теме «Тестирование и диагностика» в разделе «Неизменяемые объекты и record»?
JavaТестирование и диагностика · фрагмент для анализа
// Фрагмент на ревью
record Packet(byte[] data) {}
byte[] raw = {1, 2};
var p = new Packet(raw);
raw[0] = 9;
System.out.println(p.data()[0]);
Вопрос 8 из 25
Каков точный результат выполнения или компиляции фрагмента из раздела «Неизменяемые объекты и record» по теме «Классы-записи record»?
JavaКлассы-записи record · фрагмент для анализа
record Range(int from, int to) {
    Range {
        if (from > to) throw new IllegalArgumentException();
    }
}
System.out.println(new Range(2, 5));
Вопрос 9 из 25
Какой диагноз для кода по теме «Ограничения final» в разделе «Неизменяемые объекты и record» будет точным?
JavaОграничения final · фрагмент для анализа
final java.util.List<String> names = new java.util.ArrayList<>();
names.add("Ann");
System.out.println(names.size());
Вопрос 10 из 25
В каком дополнительном сценарии вывод о теме «Защитные копии» в разделе «Неизменяемые объекты и record» может оказаться неверным?
JavaЗащитные копии · фрагмент для анализа
// Минимальный пример
class Team {
    private final java.util.List<String> members;
    Team(java.util.List<String> members) {
        this.members = java.util.Collections.unmodifiableList(members);
    }
    java.util.List<String> members() { return members; }
}
var src = new java.util.ArrayList<>(java.util.List.of("A"));
var team = new Team(src);
src.add("B");
System.out.println(team.members());
Вопрос 11 из 25
Что следует изменить в разделе «Неизменяемые объекты и record», чтобы сохранить замысел и соблюсти контракт «Классы-записи record»?
JavaКлассы-записи record · фрагмент для анализа
// Фрагмент на ревью
record Range(int from, int to) {
    Range {
        if (from > to) throw new IllegalArgumentException();
    }
}
System.out.println(new Range(2, 5));
Вопрос 12 из 25
Как лучше исправить или прояснить поведение темы «Ограничения final» в разделе «Неизменяемые объекты и record»?
JavaОграничения final · фрагмент для анализа
// Фрагмент на ревью
final java.util.List<String> names = new java.util.ArrayList<>();
names.add("Ann");
System.out.println(names.size());
Вопрос 13 из 25
Какой дефект неизменяемости обнаруживает этот тест?
JavaТестирование и диагностика · фрагмент для анализа
record Packet(byte[] data) {}

byte[] raw = {1, 2};
var p = new Packet(raw);
raw[0] = 9;
System.out.println(p.data()[0]);
Вопрос 14 из 25
Как точнее оценить пользу и цену решения по теме «Классы-записи record» в разделе «Неизменяемые объекты и record»?
Вопрос 15 из 25
В каком дополнительном сценарии вывод о теме «Объекты-значения» в разделе «Неизменяемые объекты и record» может оказаться неверным?
JavaОбъекты-значения · фрагмент для анализа
// Минимальный пример
record Money(double amount) {}
var a = new Money(0.1 + 0.2);
var b = new Money(0.3);
System.out.println(a.equals(b));
Вопрос 16 из 25
Что нужно отдельно проверить на границе контракта «Ограничения final» в разделе «Неизменяемые объекты и record»?
Вопрос 17 из 25
Какой граничный случай особенно важен для темы «Классы-записи record» в разделе «Неизменяемые объекты и record»?
JavaКлассы-записи record · фрагмент для анализа
// Минимальный пример
record Roster(java.util.List<String> members) {}
var src = new java.util.ArrayList<>(java.util.List.of("A"));
var roster = new Roster(src);
src.add("B");
System.out.println(roster.members());
Вопрос 18 из 25
Как точнее оценить пользу и цену решения по теме «Тестирование и диагностика» в разделе «Неизменяемые объекты и record»?
Вопрос 19 из 25
Что важно учитывать при применении механизма «Ограничения final» из раздела «Неизменяемые объекты и record» в рабочем проекте?
Вопрос 20 из 25
На какое правило следует опираться при разборе темы «Тестирование и диагностика» в разделе «Неизменяемые объекты и record»?
Вопрос 21 из 25
Что важно учитывать при применении механизма «Защитные копии» из раздела «Неизменяемые объекты и record» в рабочем проекте?
Вопрос 22 из 25
Что произойдёт с кодом по теме «Защитные копии» в разделе «Неизменяемые объекты и record»?
JavaЗащитные копии · фрагмент для анализа
class Team {
    private final java.util.List<String> members;
    Team(java.util.List<String> members) { this.members = members; }
    java.util.List<String> members() { return members; }
}
var src = new java.util.ArrayList<>(java.util.List.of("A"));
var team = new Team(src);
src.add("B");
System.out.println(team.members());
Вопрос 23 из 25
Как поведёт себя фрагмент по теме «Объекты-значения» при разборе раздела «Неизменяемые объекты и record»?
JavaОбъекты-значения · фрагмент для анализа
record Money(double amount) {}
var a = new Money(0.1 + 0.2);
var b = new Money(0.3);
System.out.println(a.equals(b));
Вопрос 24 из 25
Какое утверждение о механизме «Ограничения final» верно в контексте раздела «Неизменяемые объекты и record»?
Вопрос 25 из 25
Что произойдёт с кодом по теме «Тестирование и диагностика» в разделе «Неизменяемые объекты и record»?
JavaТестирование и диагностика · фрагмент для анализа
record Packet(byte[] data) {}
byte[] raw = {1, 2};
var p = new Packet(raw);
raw[0] = 9;
System.out.println(p.data()[0]);

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

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

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

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