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

Missing, nothing и обработка пропусков

Проверяет базовое понимание темы «Missing, nothing и обработка пропусков»: чтение фрагментов, выбор корректной конструкции и объяснение результата без опоры на угадывание. Вопросы требуют читать код, находить границу применимости, выбирать проверяемую правку и отличать свойства Julia от поведения конкретного пакета. В тесте 20 вопросов: 12 заданий с кодом и 8 заданий с математической записью. Все формулировки рассчитаны на Julia 1.12.6; для сторонних библиотек используется явно названный API.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На работу отведено 55 минут. После завершения откроются правильные ответы, объяснения и результаты по темам.
Вопрос 1 из 20
Какое объяснение для `xs = Union{Missing,Float64}[1.0, missing, 3.0]` выдержит проверку на другом допустимом входе?
x\in T\cup\{\mathrm{missing}\}
JuliaJulia · Смысл значений
xs = Union{Missing,Float64}[1.0, missing, 3.0]
ys = xs .* 2
@show ys coalesce.(ys, 0.0)
Вопрос 2 из 20
Какой эксперимент отличит настоящий механизм `xs = Union{Missing,Float64}[1.0, missing, 3.0]` от случайного результата одного запуска?
JuliaJulia · Смысл значений
xs = Union{Missing,Float64}[1.0, missing, 3.0]
ys = xs .* 2
@show ys coalesce.(ys, 0.0)
Вопрос 3 из 20
Что должно остаться истинным после рефакторинга участка с `xs = Union{Missing,Float64}[1.0, missing, 3.0]`?
JuliaJulia · Смысл значений
xs = Union{Missing,Float64}[1.0, missing, 3.0]
ys = xs .* 2
@show ys coalesce.(ys, 0.0)
Вопрос 4 из 20
Какой результат приёмочного теста подтвердит корректность участка с `xs = Union{Missing,Float64}[1.0, missing, 3.0]`?
x\in T\cup\{\mathrm{missing}\}
Вопрос 5 из 20
Какое ограничение стоит прямо указать в документации к участку с `xs = Union{Missing,Float64}[1.0, missing, 3.0]`?
Вопрос 6 из 20
Какое объяснение для `false & missing,` выдержит проверку на другом допустимом входе?
\mathrm{false}\land\mathrm{missing}=\mathrm{false}
JuliaJulia · Трёхзначная логика
cases = (
    false & missing,
    true | missing,
    false | missing,
    true & missing,
)
@show cases
Вопрос 7 из 20
Какую проверку стоит добавить для участка с `missing`?
JuliaJulia · Трёхзначная логика
cases = (
    false & missing,
    true | missing,
    false | missing,
    true & missing,
)
@show cases
Вопрос 8 из 20
Какой контракт следует закрепить при переработке строки `false & missing,`?
JuliaJulia · Трёхзначная логика
cases = (
    false & missing,
    true | missing,
    false | missing,
    true & missing,
)
@show cases
Вопрос 9 из 20
При переносе кода с `false & missing,` в библиотеку какой критерий нельзя заменять впечатлением «пример работает»?
\mathrm{false}\land\mathrm{missing}=\mathrm{false}
Вопрос 10 из 20
Что следует сообщить пользователю библиотеки о поведении `false & missing,`?
Вопрос 11 из 20
Что именно следует из фрагмента с `it = skipmissing(xs)`?
\sum_{x\in X\setminus\{\mathrm{missing}\}}x
JuliaJulia · Пропуск неизвестных значений через skipmissing
xs = Union{Missing,Int}[1, missing, 3, missing]
it = skipmissing(xs)
@show collect(it) sum(it) xs
Вопрос 12 из 20
Что нужно подтвердить отдельным примером для `it = skipmissing(xs)`?
JuliaJulia · Пропуск неизвестных значений через skipmissing
xs = Union{Missing,Int}[1, missing, 3, missing]
it = skipmissing(xs)
@show collect(it) sum(it) xs
Вопрос 13 из 20
Какое решение устраняет риск вокруг `missing`, не меняя поведение на допустимых данных?
JuliaJulia · Пропуск неизвестных значений через skipmissing
xs = Union{Missing,Int}[1, missing, 3, missing]
it = skipmissing(xs)
@show collect(it) sum(it) xs
Вопрос 14 из 20
Две реализации участка с `missing` совпадают на обычных данных. Что необходимо проверить перед выпуском?
\sum_{x\in X\setminus\{\mathrm{missing}\}}x
Вопрос 15 из 20
Как сформулировать границу механизма `it = skipmissing(xs)` без чрезмерного обещания?
Вопрос 16 из 20
Какое объяснение для `ismissing(x) && return missing` выдержит проверку на другом допустимом входе?
R=T\cup\{\mathrm{missing},\mathrm{nothing}\}
JuliaJulia · Безопасные API
lookup(d, key) = get(d, key, nothing)
function parse_measurement(x::Union{Missing,String})
    ismissing(x) && return missing
    y = tryparse(Float64, x)
    y === nothing && throw(ArgumentError("bad measurement"))
    return y
end
Вопрос 17 из 20
Какой эксперимент отличит настоящий механизм `ismissing(x) && return missing` от случайного результата одного запуска?
JuliaJulia · Безопасные API
lookup(d, key) = get(d, key, nothing)
function parse_measurement(x::Union{Missing,String})
    ismissing(x) && return missing
    y = tryparse(Float64, x)
    y === nothing && throw(ArgumentError("bad measurement"))
    return y
end
Вопрос 18 из 20
Какой контракт следует закрепить при переработке строки `ismissing(x) && return missing`?
JuliaJulia · Безопасные API
lookup(d, key) = get(d, key, nothing)
function parse_measurement(x::Union{Missing,String})
    ismissing(x) && return missing
    y = tryparse(Float64, x)
    y === nothing && throw(ArgumentError("bad measurement"))
    return y
end
Вопрос 19 из 20
Какой результат приёмочного теста подтвердит корректность участка с `ismissing(x) && return missing`?
R=T\cup\{\mathrm{missing},\mathrm{nothing}\}
Вопрос 20 из 20
Какое утверждение о `ismissing(x) && return missing` является переносимым правилом, а не особенностью одного запуска?

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

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

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

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