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

trap и гарантированная очистка

Средний тест по теме «trap и гарантированная очистка». Вопросы требуют читать Bash-код, отслеживать расширения, потоки и коды завершения, находить дефекты и выбирать правку с учётом эксплуатации. В серии 25 вопросов, из них 15 содержат полноценные фрагменты кода. Базовая среда — GNU Bash 5.2; внешние GNU-утилиты оговариваются в тексте задания.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. В каждом вопросе верен только один вариант. После завершения вы увидите общий результат, оценки по 5 тематическим шкалам и подробные объяснения.
Вопрос 1 из 25
Перед запуском фрагмента из раздела «Обработчик завершения EXIT» нужен точный прогноз. Какой разбор соответствует именно показанной последовательности команд?
BashОбработчик завершения EXIT · вариант A
tmp=$(mktemp)
trap 'rm -f "$tmp"; echo cleaned' EXIT
printf 'work\n' > "$tmp"
Вопрос 2 из 25
Перед запуском фрагмента из раздела «Сигналы» нужен точный прогноз. Какое описание не приписывает фрагменту лишних гарантий?
BashСигналы · вариант A
trap 'echo term; exit 143' TERM
while :; do sleep 10; done
Вопрос 3 из 25
Перед запуском фрагмента из раздела «Временные файлы» нужен точный прогноз. Не предполагая намерение автора, что можно утверждать об этой конструкции?
BashВременные файлы · вариант A
tmp=$(mktemp "${TMPDIR:-/tmp}/app.XXXXXX") || exit 1
printf '%s\n' "$tmp"
rm -f -- "$tmp"
Вопрос 4 из 25
Перед запуском фрагмента из раздела «Идемпотентная очистка» нужен точный прогноз. Какое утверждение точно относится к показанному фрагменту?
BashИдемпотентная очистка · вариант A
cleanup() {
  [[ -n ${tmpdir-} && -d $tmpdir ]] && rm -rf -- "$tmpdir"
}
trap cleanup EXIT INT TERM
Вопрос 5 из 25
Перед запуском фрагмента из раздела «Проверка и диагностика» нужен точный прогноз. Какой вывод об этом варианте можно сделать без догадок о внешнем контексте?
BashПроверка и диагностика · вариант A
trap 'echo parent-exit' EXIT
( trap 'echo sub-exit' EXIT; echo work )
echo done
Вопрос 6 из 25
Этот участок из темы «Обработчик завершения EXIT» относится к практической части теста «trap и гарантированная очистка». Какое утверждение о поведении кода остаётся точным на граничном входе?
BashОбработчик завершения EXIT · вариант B
tmp=$(mktemp)
trap "rm -f '$tmp'" EXIT
tmp=/other
Вопрос 7 из 25
Этот участок из темы «Сигналы» относится к практической части теста «trap и гарантированная очистка». Что важно заметить в этом фрагменте до его включения в автоматизацию?
BashСигналы · вариант B
trap 'cleanup' INT TERM
long_child
Вопрос 8 из 25
Этот участок из темы «Временные файлы» относится к практической части теста «trap и гарантированная очистка». Что действительно гарантирует или, наоборот, не гарантирует эта конструкция?
BashВременные файлы · вариант B
tmp=/tmp/app.$$
printf data > "$tmp"
Вопрос 9 из 25
Этот участок из темы «Идемпотентная очистка» относится к практической части теста «trap и гарантированная очистка». Фрагмент запускают как часть служебного сценария. Как его следует оценить?
BashИдемпотентная очистка · вариант B
cleanup() { rm -rf "$work"; stop_service; }
Вопрос 10 из 25
Этот участок из темы «Проверка и диагностика» относится к практической части теста «trap и гарантированная очистка». Какой вывод наиболее точно привязан к показанной реализации?
BashПроверка и диагностика · вариант B
trap 'echo ERR at $LINENO' ERR
f() { false; }
f
Вопрос 11 из 25
Разберите код без пробного запуска; его тема — «Обработчик завершения EXIT». Какой ответ учитывает и полезный эффект, и остающееся ограничение кода?
BashОбработчик завершения EXIT · вариант C
cleanup() { rm -f -- "$tmp"; }
trap cleanup EXIT
Вопрос 12 из 25
Разберите код без пробного запуска; его тема — «Сигналы». Код предлагают как альтернативу. Какова его точная техническая оценка?
BashСигналы · вариант C
trap 'stop_children; cleanup; exit 143' TERM INT
Вопрос 13 из 25
Разберите код без пробного запуска; его тема — «Временные файлы». Что является главным свойством этого варианта?
BashВременные файлы · вариант C
tmpdir=$(mktemp -d) || exit 1
trap 'rm -rf -- "$tmpdir"' EXIT
Вопрос 14 из 25
Разберите код без пробного запуска; его тема — «Идемпотентная очистка». Как следует оценить конструкцию, не считая её автоматически исправлением?
BashИдемпотентная очистка · вариант C
cleanup() {
  [[ -n ${work-} && $work == /var/tmp/app.* ]] && rm -rf -- "$work"
  if [[ ${service_started-0} == 1 ]]; then stop_service || true; fi
}
Вопрос 15 из 25
Разберите код без пробного запуска; его тема — «Проверка и диагностика». Какое суждение правильно описывает показанную реализацию?
BashПроверка и диагностика · вариант C
set -E
trap 'rc=$?; echo "ERR rc=$rc line=$LINENO" >&2' ERR
Вопрос 16 из 25
При переносе решения в автоматизацию проверяют аспект «Обработчик завершения EXIT». Где заканчивается защита, которую даёт рассматриваемая конструкция?
Вопрос 17 из 25
При переносе решения в автоматизацию проверяют аспект «Сигналы». Что способно нарушить ожидаемый результат, хотя основной фрагмент написан корректно?
Вопрос 18 из 25
При переносе решения в автоматизацию проверяют аспект «Временные файлы». Какой эксплуатационный компромисс здесь нельзя скрывать за успешным кодом возврата?
Вопрос 19 из 25
При переносе решения в автоматизацию проверяют аспект «Идемпотентная очистка». Что обязательно нужно проверить в соседнем сценарии, чтобы не получить ложную надёжность?
Вопрос 20 из 25
При переносе решения в автоматизацию проверяют аспект «Проверка и диагностика». На какой границе эта техника перестаёт быть достаточной сама по себе?
Вопрос 21 из 25
Разработчики спорят о границах механизма «Обработчик завершения EXIT». Какое правило позволяет правильно разобрать эту тему до запуска кода?
Вопрос 22 из 25
Разработчики спорят о границах механизма «Сигналы». Какое свойство механизма нельзя подменять удачным примером запуска?
Вопрос 23 из 25
Разработчики спорят о границах механизма «Временные файлы». Какая формулировка связывает частные примеры одним проверяемым правилом?
Вопрос 24 из 25
Разработчики спорят о границах механизма «Идемпотентная очистка». Что в этой теме является свойством языка, а не случайностью конкретного запуска?
Вопрос 25 из 25
Разработчики спорят о границах механизма «Проверка и диагностика». Какое утверждение точнее всего описывает контракт рассматриваемого механизма?

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

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

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

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