JV Java  ·  30 вопросов  ·  ~85 мин  ·  ⏱ Таймер 25:00  ·  Сложный  · 

Память JVM и сборка мусора

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

Отвечено: 0 из 30
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 30 вопросов отведено 85 минут. В каждом вопросе верен только один вариант; близкие ответы различаются стадией ошибки, порядком действий или границей контракта. После завершения вы увидите общий результат, результаты по 6 тематическим шкалам и объяснения.
Вопрос 1 из 30
Что важно учитывать при применении механизма «Поколения объектов» из раздела «Память JVM и сборка мусора» в рабочем проекте?
Вопрос 2 из 30
Какой контракт языка или библиотеки точнее всего описывает тему «Поколения объектов» в разделе «Память JVM и сборка мусора»?
Вопрос 3 из 30
Какой эксплуатационный риск создаёт такая настройка памяти в контейнере?
BashПроизводительность и эксплуатация · фрагмент для анализа
java -XX:MaxRAMPercentage=90 -jar app.jar
# контейнер ограничен 1 GiB, приложение использует direct buffers и много потоков
Вопрос 4 из 30
Какое замечание о сопровождении или производительности темы «Производительность и эксплуатация» в разделе «Память JVM и сборка мусора» справедливо?
Вопрос 5 из 30
В каком дополнительном сценарии вывод о теме «Куча и стек» в разделе «Память JVM и сборка мусора» может оказаться неверным?
JavaКуча и стек · фрагмент для анализа
// Минимальный пример
for (int i = 0; i < 20_000; i++) {
    Thread t = new Thread(() -> {
        try { Thread.sleep(60_000); } catch (InterruptedException ignored) {}
    });
    t.start();
}
Вопрос 6 из 30
Как точнее оценить пользу и цену решения по теме «Тестирование и диагностика» в разделе «Память JVM и сборка мусора»?
Вопрос 7 из 30
Что важно учитывать при применении механизма «Куча и стек» из раздела «Память JVM и сборка мусора» в рабочем проекте?
Вопрос 8 из 30
Как лучше исправить или прояснить поведение темы «Производительность и эксплуатация» в разделе «Память JVM и сборка мусора»?
BashПроизводительность и эксплуатация · фрагмент для анализа
# Фрагмент на ревью
java -XX:MaxRAMPercentage=90 -jar app.jar
# контейнер ограничен 1 GiB, приложение использует direct buffers и много потоков
Вопрос 9 из 30
В каком дополнительном сценарии вывод о теме «Паузы сборщика мусора» в разделе «Память JVM и сборка мусора» может оказаться неверным?
BashПаузы сборщика мусора · фрагмент для анализа
# Минимальный пример
java -Xms8g -Xmx8g -Xlog:gc*:file=gc.log:time,uptime,level,tags -jar app.jar
Вопрос 10 из 30
В каком дополнительном сценарии вывод о теме «Поколения объектов» в разделе «Память JVM и сборка мусора» может оказаться неверным?
JavaПоколения объектов · фрагмент для анализа
// Минимальный пример
for (var row : rows) {
    var dto = new ResultDto(row.id(), transform(row.value()));
    sink.accept(dto);
}
Вопрос 11 из 30
Какой диагноз для кода по теме «Поколения объектов» в разделе «Память JVM и сборка мусора» будет точным?
JavaПоколения объектов · фрагмент для анализа
for (var row : rows) {
    var dto = new ResultDto(row.id(), transform(row.value()));
    sink.accept(dto);
}
Вопрос 12 из 30
Что нужно отдельно проверить на границе контракта «Утечки ссылок» в разделе «Память JVM и сборка мусора»?
JavaУтечки ссылок · фрагмент для анализа
// Минимальный пример
class Registry {
    static final java.util.Map<String, byte[]> DATA = new java.util.HashMap<>();
    static void remember(String id, byte[] payload) { DATA.put(id, payload); }
}
Вопрос 13 из 30
Какой контракт языка или библиотеки точнее всего описывает тему «Утечки ссылок» в разделе «Память JVM и сборка мусора»?
Вопрос 14 из 30
Какая правка точнее всего устраняет причину проблемы по теме «Поколения объектов» в разделе «Память JVM и сборка мусора»?
JavaПоколения объектов · фрагмент для анализа
// Фрагмент на ревью
for (var row : rows) {
    var dto = new ResultDto(row.id(), transform(row.value()));
    sink.accept(dto);
}
Вопрос 15 из 30
Какой диагноз для кода по теме «Тестирование и диагностика» в разделе «Память JVM и сборка мусора» будет точным?
BashТестирование и диагностика · фрагмент для анализа
jcmd <pid> GC.heap_dump /secure/path/heap.hprof
# затем анализ дерева доминаторов и путей к корням сборщика мусора
Вопрос 16 из 30
Как лучше исправить или прояснить поведение темы «Куча и стек» в разделе «Память JVM и сборка мусора»?
JavaКуча и стек · фрагмент для анализа
// Фрагмент на ревью
static long sum(long n) {
    return n == 0 ? 0 : n + sum(n - 1);
}
System.out.println(sum(10_000_000));
Вопрос 17 из 30
Что произойдёт с кодом по теме «Куча и стек» в разделе «Память JVM и сборка мусора»?
JavaКуча и стек · фрагмент для анализа
static long sum(long n) {
    return n == 0 ? 0 : n + sum(n - 1);
}
System.out.println(sum(10_000_000));
Вопрос 18 из 30
Как точнее оценить пользу и цену решения по теме «Утечки ссылок» в разделе «Память JVM и сборка мусора»?
Вопрос 19 из 30
На какое правило следует опираться при разборе темы «Производительность и эксплуатация» в разделе «Память JVM и сборка мусора»?
Вопрос 20 из 30
Какой вывод лучше всего объясняет связь между журналом GC и задержками сервиса?
BashПаузы сборщика мусора · фрагмент для анализа
java -Xms8g -Xmx8g -Xlog:gc*:file=gc.log:time,uptime,level,tags -jar app.jar
# p50 ответа: 25 мс; p99: 1,9 с
# редкие скачки p99 совпадают с Pause Full длительностью 1,7–1,9 с
Вопрос 21 из 30
Какой контракт языка или библиотеки точнее всего описывает тему «Куча и стек» в разделе «Память JVM и сборка мусора»?
Вопрос 22 из 30
Что следует изменить в разделе «Память JVM и сборка мусора», чтобы сохранить замысел и соблюсти контракт «Утечки ссылок»?
JavaУтечки ссылок · фрагмент для анализа
// Фрагмент на ревью
class Registry {
    static final java.util.Map<String, byte[]> DATA = new java.util.HashMap<>();
    static void remember(String id, byte[] payload) { DATA.put(id, payload); }
}
Вопрос 23 из 30
Какое правило Java действует для темы «Тестирование и диагностика» в разделе «Память JVM и сборка мусора»?
Вопрос 24 из 30
Какая правка точнее всего устраняет причину проблемы по теме «Тестирование и диагностика» в разделе «Память JVM и сборка мусора»?
BashТестирование и диагностика · фрагмент для анализа
# Фрагмент на ревью
jcmd <pid> GC.heap_dump /secure/path/heap.hprof
# затем анализ дерева доминаторов и путей к корням сборщика мусора
Вопрос 25 из 30
Что нужно отдельно проверить на границе контракта «Производительность и эксплуатация» в разделе «Память JVM и сборка мусора»?
BashПроизводительность и эксплуатация · фрагмент для анализа
# Минимальный пример
java -XX:MaxRAMPercentage=90 -jar app.jar
# контейнер ограничен 1 GiB, приложение использует direct buffers и много потоков
Вопрос 26 из 30
В каком дополнительном сценарии вывод о теме «Тестирование и диагностика» в разделе «Память JVM и сборка мусора» может оказаться неверным?
BashТестирование и диагностика · фрагмент для анализа
# Минимальный пример
jcmd <pid> GC.heap_dump /secure/path/heap.hprof
# затем анализ дерева доминаторов и путей к корням сборщика мусора
Вопрос 27 из 30
Что следует изменить в разделе «Память JVM и сборка мусора», чтобы сохранить замысел и соблюсти контракт «Паузы сборщика мусора»?
BashПаузы сборщика мусора · фрагмент для анализа
# Фрагмент на ревью
java -Xms8g -Xmx8g -Xlog:gc*:file=gc.log:time,uptime,level,tags -jar app.jar
Вопрос 28 из 30
На какое правило следует опираться при разборе темы «Паузы сборщика мусора» в разделе «Память JVM и сборка мусора»?
Вопрос 29 из 30
Как точнее оценить пользу и цену решения по теме «Паузы сборщика мусора» в разделе «Память JVM и сборка мусора»?
Вопрос 30 из 30
Какой диагноз для кода по теме «Утечки ссылок» в разделе «Память JVM и сборка мусора» будет точным?
JavaУтечки ссылок · фрагмент для анализа
class Registry {
    static final java.util.Map<String, byte[]> DATA = new java.util.HashMap<>();
    static void remember(String id, byte[] payload) { DATA.put(id, payload); }
}

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

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

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

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