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

Массивы Bash

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

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. В каждом вопросе верен только один вариант. После завершения вы увидите общий результат, оценки по 4 тематическим шкалам и подробные объяснения.
Вопрос 1 из 20
На ревью сценария по теме «Индексные массивы» встретился этот код. Что точнее всего характеризует работу показанного кода?
BashИндексные массивы · вариант A
a=([2]=x [5]=y)
printf '%s:%s:%s\n' "${#a[@]}" "${!a[@]}" "${a[5]}"
Вопрос 2 из 20
На ревью сценария по теме «Ассоциативные массивы» встретился этот код. Какое наблюдение выдерживает проверку по аргументам, потокам и коду завершения?
BashАссоциативные массивы · вариант A
declare -A m=([red]=1 [blue]=2)
printf '%s:%s\n' "${m[blue]}" "${#m[@]}"
Вопрос 3 из 20
На ревью сценария по теме «Безопасный обход» встретился этот код. Что в этом коде произойдёт или останется верным при указанных условиях?
BashБезопасный обход · вариант A
a=('one two' '' '*.log')
printf '<%s>\n' "${a[@]}"
Вопрос 4 из 20
На ревью сценария по теме «Расширение элементов» встретился этот код. Как следует оценить этот вариант с учётом синтаксиса Bash и вызванных программ?
BashРасширение элементов · вариант A
a=(src/main.c src/test.c README)
printf '%s\n' "${a[@]#src/}"
Вопрос 5 из 20
Перед запуском фрагмента из раздела «Индексные массивы» нужен точный прогноз. Какое утверждение верно именно для этого варианта?
BashИндексные массивы · вариант B
a=(zero one two)
unset 'a[1]'
printf '%s\n' "${a[@]}"
Вопрос 6 из 20
Перед запуском фрагмента из раздела «Ассоциативные массивы» нужен точный прогноз. Что следует записать в заключении ревью этого фрагмента?
BashАссоциативные массивы · вариант B
m[01]=a
m[1]=b
printf '%s\n' "${m[01]}"
Вопрос 7 из 20
Перед запуском фрагмента из раздела «Безопасный обход» нужен точный прогноз. Какой разбор не смешивает этот вариант с другими способами решения задачи?
BashБезопасный обход · вариант B
for x in ${a[@]}; do printf '<%s>\n' "$x"; done
Вопрос 8 из 20
Перед запуском фрагмента из раздела «Расширение элементов» нужен точный прогноз. Какое описание согласуется с фактическими аргументами и состоянием процессов?
BashРасширение элементов · вариант B
a=(one two)
a+=(three four)
Вопрос 9 из 20
Этот участок из темы «Индексные массивы» относится к практической части теста «Массивы Bash». Что этот вариант меняет в поведении сценария на самом деле?
BashИндексные массивы · вариант C
for i in "${!a[@]}"; do printf '%s=%s\n' "$i" "${a[$i]}"; done
Вопрос 10 из 20
Этот участок из темы «Ассоциативные массивы» относится к практической части теста «Массивы Bash». Какой вывод соответствует именно этой записи, а не общему совету по теме?
BashАссоциативные массивы · вариант C
declare -A m
[[ -n ${key-} ]] || exit 64
m["$key"]=${value-}
[[ -v 'm[$key]' ]]
Вопрос 11 из 20
Этот участок из темы «Безопасный обход» относится к практической части теста «Массивы Bash». Что можно уверенно сказать об этом решении после пошагового разбора?
BashБезопасный обход · вариант C
for x in "${a[@]}"; do process "$x"; done
Вопрос 12 из 20
Этот участок из темы «Расширение элементов» относится к практической части теста «Массивы Bash». Какое утверждение относится к приведённому фрагменту без лишних допущений?
BashРасширение элементов · вариант C
a+=("$new_item")
Вопрос 13 из 20
В документации к сценарию уточняют контракт темы «Индексные массивы». Какой риск останется даже после корректной реализации основной конструкции?
Вопрос 14 из 20
В документации к сценарию уточняют контракт темы «Ассоциативные массивы». Какое ограничение особенно важно учесть перед переносом решения в эксплуатацию?
Вопрос 15 из 20
В документации к сценарию уточняют контракт темы «Безопасный обход». Какую оговорку стоит вынести в описание эксплуатационного контракта?
Вопрос 16 из 20
В документации к сценарию уточняют контракт темы «Расширение элементов». Какое условие остаётся за пределами гарантии выбранного механизма?
Вопрос 17 из 20
При переносе решения в автоматизацию проверяют аспект «Индексные массивы». Какой принцип остаётся верным и на обычном, и на граничном входе?
Вопрос 18 из 20
При переносе решения в автоматизацию проверяют аспект «Ассоциативные массивы». На какую гарантию Bash следует опираться при техническом ревью этого участка?
Вопрос 19 из 20
При переносе решения в автоматизацию проверяют аспект «Безопасный обход». На каком правиле должен строиться разбор подобных фрагментов?
Вопрос 20 из 20
При переносе решения в автоматизацию проверяют аспект «Расширение элементов». Какой общий контракт помогает предсказать результат до выполнения?

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

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

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

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