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

Функции и параметры

Функции и параметры: практический тест по PowerShell с чтением кода, поиском причины ошибки и выбором надёжного решения. Темы: Блок параметров param, Типы параметров, Значения по умолчанию, Возвращаемые объекты. Базовая линия — PowerShell 7.6.3; Windows-зависимые команды и отличия Windows PowerShell 5.1 отмечены в условиях.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. В каждом вопросе верен только один вариант; близкие ответы различаются механизмом, порядком выполнения, областью действия или эксплуатационной границей. После завершения вы увидите общий результат, результаты по 4 тематическим шкалам и подробные объяснения.
Вопрос 1 из 20
param расположен после исполняемой команды в сценарии. Что точнее всего описывает поведение?
PowerShellparam расположен после исполняемой команды в сценарии
param([string]$Name)
"Hello $Name"
Вопрос 2 из 20
Параметр Mandatory запрашивается интерактивно при отсутствии значения. Что остаётся непроверенным после успешного запуска?
PowerShellПараметр Mandatory запрашивается интерактивно при отсутствии значения
function Get-Greeting { param([Parameter(Mandatory)][string]$Name) "Hi $Name" }
Get-Command Get-Greeting | Select-Object Name,CommandType,Parameters
Вопрос 3 из 20
В сценарии определены два набора параметров и DefaultParameterSetName. Какой принцип PowerShell здесь работает?
PowerShellВ сценарии определены два набора параметров и DefaultParameterSetName
function Find-Thing { [CmdletBinding(DefaultParameterSetName="ByName")] param([Parameter(ParameterSetName="ByName")][string]$Name,[Parameter(ParameterSetName="ById")][int]$Id) }
Вопрос 4 из 20
Параметр принимает оставшиеся позиционные аргументы. Где заканчивается гарантия этого механизма?
Вопрос 5 из 20
Функция принимает неизвестные именованные параметры. Что остаётся непроверенным после успешного запуска?
Вопрос 6 из 20
Параметр [int] получает строку "12". Что здесь произойдёт до следующей команды?
PowerShellПараметр [int] получает строку "12"
function Add-One { param([int]$Value) $Value + 1 }
Add-One "12"
Вопрос 7 из 20
Параметр [switch] вызван с -Force:$false. Почему похожие команды дают разный контракт?
PowerShellПараметр [switch] вызван с -Force:$false
function Test-Switch { param([switch]$Force) $Force.IsPresent }
Test-Switch -Force:$false
Вопрос 8 из 20
Параметр [string[]] получает один скаляр. Какое ограничение здесь нельзя упустить?
PowerShellПараметр [string[]] получает один скаляр
function Show-Names { param([string[]]$Name) $Name.Count }
Show-Names alpha
Вопрос 9 из 20
Параметр объявлен как [object], хотя функция требует путь. Какой принцип PowerShell здесь работает?
Вопрос 10 из 20
Как принимать $null как осмысленное значение строки?
Вопрос 11 из 20
Значение по умолчанию вызывает Get-Date при каждом вызове функции. Как развести два похожих механизма?
PowerShellЗначение по умолчанию вызывает Get-Date при каждом вызове функции
function New-Stamp { param($At = (Get-Date)) $At.Ticks }
New-Stamp; Start-Sleep -Milliseconds 10; New-Stamp
Вопрос 12 из 20
Значение по умолчанию зависит от ранее объявленного параметра. Что остаётся непроверенным после успешного запуска?
PowerShellЗначение по умолчанию зависит от ранее объявленного параметра
function Join-Root { param([string]$Root="C:\Data",[string]$Log=(Join-Path $Root "app.log")) $Log }
Join-Root -Root D:\Work
Вопрос 13 из 20
Параметр получает явный $null. Что следует сделать до запуска в автоматизации?
Вопрос 14 из 20
По умолчанию создаётся изменяемый объект, который затем модифицируется. Какое ограничение здесь нельзя упустить?
Вопрос 15 из 20
Значение по умолчанию читает секрет из окружения. Какая граница важна для автоматизации?
Вопрос 16 из 20
Функция записывает строку через Write-Output и затем возвращает объект. Как поведёт себя фрагмент в указанном условии?
PowerShellФункция записывает строку через Write-Output и затем возвращает объект
function Get-Report { Write-Output "starting"; [pscustomobject]@{Ok=$true} }
(Get-Report).Count
Вопрос 17 из 20
Внутри функции вызывается метод List.Add, его числовой результат не подавлен. Какой результат нужно ожидать?
PowerShellВнутри функции вызывается метод List.Add, его числовой результат не подавлен
function Get-Numbers { $l=[Collections.Generic.List[int]]::new(); $l.Add(1); $l }
Get-Numbers | ForEach-Object { $_.GetType().Name }
Вопрос 18 из 20
return используется с выражением. Как изменится состояние после выполнения?
Вопрос 19 из 20
Функция смешивает форматированные таблицы и исходные объекты. Какой принцип PowerShell здесь работает?
Вопрос 20 из 20
Функция иногда ничего не выводит. Какой принцип PowerShell здесь работает?

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

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

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

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