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

Переменные, типы и операторы

Переменные, типы и операторы: практический тест по PowerShell с чтением кода, поиском причины ошибки и выбором надёжного решения. Темы: Переменные, Приведение типов, Операторы сравнения, Область действия. Базовая линия — PowerShell 7.6.3; Windows-зависимые команды и отличия Windows PowerShell 5.1 отмечены в условиях.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. В каждом вопросе верен только один вариант; близкие ответы различаются механизмом, порядком выполнения, областью действия или эксплуатационной границей. После завершения вы увидите общий результат, результаты по 4 тематическим шкалам и подробные объяснения.
Вопрос 1 из 20
После присваивания одного массива другой переменной изменение элемента видно через обе переменные. Как изменится состояние после выполнения?
PowerShellПосле присваивания одного массива другой переменной изменение элемента видно через обе…
$a = [System.Collections.ArrayList]@(1,2)
$b = $a
$b[0] = 9
"$($a[0]):$($b[0])"
Вопрос 2 из 20
Переменной сначала присвоено число, затем строка, и сценарий продолжает работать. Какое ограничение здесь нельзя упустить?
PowerShellПеременной сначала присвоено число, затем строка, и сценарий продолжает работать
$value = 10
$value = "ten"
$value.GetType().Name
Вопрос 3 из 20
Как хранить значение, которое нельзя случайно переназначить позднее в сценарии?
PowerShellНужно хранить значение, которое нельзя случайно переназначить позднее в сценарии
Set-Variable -Name ApiVersion -Value 2 -Option ReadOnly
Get-Variable ApiVersion | Select-Object Name, Options
Вопрос 4 из 20
Имя переменной собрано динамически и требуется получить её значение. На каком правиле основан результат?
Вопрос 5 из 20
Сценарий использует $null слева и справа в сравнении с коллекцией. Какое утверждение верно для этого случая?
Вопрос 6 из 20
Строка "08" явно преобразуется в int и затем участвует в арифметике. Какой результат нужно ожидать?
PowerShellСтрока "08" явно преобразуется в int и затем участвует в арифметике
[int]$n = "08"
$n + 2
Вопрос 7 из 20
Массив из одного элемента приводится к скалярному типу. Какое различие нужно зафиксировать в коде?
PowerShellМассив из одного элемента приводится к скалярному типу
$result = [int]@(7)
$items = @($result)
[pscustomobject]@{ Count=$items.Count; First=$items | Select-Object -First 1; IsNull=($null -eq $result) }
Вопрос 8 из 20
Дата приходит строкой из внешней системы и зависит от культуры процесса. Какое условие нужно проверить отдельно?
PowerShellДата приходит строкой из внешней системы и зависит от культуры процесса
$result = [datetime]"01/02/2026" | Select-Object Day, Month, Year
$resultType = if($null -eq $result){'<null>'}else{$result.GetType().FullName}
[pscustomobject]@{ Result=$result; Type=$resultType; Count=@($result).Count }
Вопрос 9 из 20
Неизвестное значение нужно проверить на совместимость с типом без исключения. Какой результат увидит вызывающий код?
Вопрос 10 из 20
Булево значение получено из непустой строки "false". Как следует читать этот фрагмент?
Вопрос 11 из 20
Строка «1.0» и число 1 сравниваются в обоих порядках. Какое утверждение верно для этого случая?
PowerShellСтрока «1.0» и число 1 сравниваются в обоих порядках
"1.0" -eq 1
1 -eq "1.0"
Вопрос 12 из 20
Скаляр сравнивается с массивом оператором -eq. Что окажется в выходном потоке?
PowerShellСкаляр сравнивается с массивом оператором -eq
$result = 1,2,2,3 -eq 2
$shape = if($null -eq $result){'<null>'}elseif($result -is [array]){'array'}else{$result.GetType().Name}
[pscustomobject]@{ Shape=$shape; Values=@($result) }
Вопрос 13 из 20
Как сравнить строки с учётом регистра?
Вопрос 14 из 20
Проверяется вхождение одного значения в коллекцию. Какой вывод можно подтвердить?
Вопрос 15 из 20
Шаблон содержит символы регулярного выражения, но используется -like. На каком правиле основан результат?
Вопрос 16 из 20
Функция присваивает $x без префикса, а после вызова внешнее значение не меняется. Где заканчивается гарантия этого механизма?
PowerShellФункция присваивает $x без префикса, а после вызова внешнее значение не меняется
$x = 1
function Set-X { $x = 2 }
Set-X
$x
Вопрос 17 из 20
Вложенный сценарный блок должен изменить переменную родительской функции. Какой вывод можно подтвердить?
PowerShellВложенный сценарный блок должен изменить переменную родительской функции
$script:count = 0
& { $script:count++ }
$script:count
Вопрос 18 из 20
Переменная создаётся через Set-Variable -Scope 1. Какое объяснение не зависит от случайностей окружения?
Вопрос 19 из 20
Переменная окружения меняется через $env:NAME. Какой принцип PowerShell здесь работает?
Вопрос 20 из 20
Сценарий dot-source подключается через точку и пробел. Как следует читать этот фрагмент?

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

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

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

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