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

Модули и пространства имён

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

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На работу отведено 55 минут. После завершения откроются правильные ответы, объяснения и результаты по темам.
Вопрос 1 из 20
Как нужно интерпретировать `module Metrics`, не добавляя к коду лишних гарантий?
\mathcal{N}(M_1)\cap\mathcal{N}(M_2)
JuliaJulia · Модули и границы module
module Metrics
export mean_score
mean_score(xs) = sum(xs) / length(xs)
_internal_scale(x) = 100x
end
@show Metrics.mean_score([1, 2, 3]) Metrics._internal_scale(2)
Вопрос 2 из 20
Какой тест точнее всего зафиксирует границу поведения `module Metrics`?
JuliaJulia · Модули и границы module
module Metrics
export mean_score
mean_score(xs) = sum(xs) / length(xs)
_internal_scale(x) = 100x
end
@show Metrics.mean_score([1, 2, 3]) Metrics._internal_scale(2)
Вопрос 3 из 20
Что должно остаться истинным после рефакторинга участка с `module Metrics`?
JuliaJulia · Модули и границы module
module Metrics
export mean_score
mean_score(xs) = sum(xs) / length(xs)
_internal_scale(x) = 100x
end
@show Metrics.mean_score([1, 2, 3]) Metrics._internal_scale(2)
Вопрос 4 из 20
Как проверить, что новая реализация `module Metrics` не изменила обещанное пользователю поведение?
\mathcal{N}(M_1)\cap\mathcal{N}(M_2)
Вопрос 5 из 20
Какой тезис о `module Metrics` можно честно закрепить в справке?
Вопрос 6 из 20
Какой механизм Julia определяет поведение строки `f(x) = x + 1`?
\mathrm{using}\neq\mathrm{import}
JuliaJulia · using и import
module A
export f
f(x) = x + 1
g(x) = x - 1
end
using .A
@show f(3) A.g(3)
Вопрос 7 из 20
Что нужно подтвердить отдельным примером для `f(x) = x + 1`?
JuliaJulia · using и import
module A
export f
f(x) = x + 1
g(x) = x - 1
end
using .A
@show f(3) A.g(3)
Вопрос 8 из 20
Какое требование к `f(x) = x + 1` важнее удобной детали текущей реализации?
JuliaJulia · using и import
module A
export f
f(x) = x + 1
g(x) = x - 1
end
using .A
@show f(3) A.g(3)
Вопрос 9 из 20
Какой результат приёмочного теста подтвердит корректность участка с `f(x) = x + 1`?
\mathrm{using}\neq\mathrm{import}
Вопрос 10 из 20
Как сформулировать границу механизма `f(x) = x + 1` без чрезмерного обещания?
Вопрос 11 из 20
Какое утверждение точнее всего объясняет участок с `predict(m::Model, x) = m.w * x`?
E\subseteq\mathcal{N}(M)
JuliaJulia · Экспорт
module PublicAPI
export Model, predict
struct Model; w::Float64; end
predict(m::Model, x) = m.w * x
_debug(m) = m.w
end
@show names(PublicAPI)
Вопрос 12 из 20
Какую проверку стоит добавить для участка с `predict(m::Model, x) = m.w * x`?
JuliaJulia · Экспорт
module PublicAPI
export Model, predict
struct Model; w::Float64; end
predict(m::Model, x) = m.w * x
_debug(m) = m.w
end
@show names(PublicAPI)
Вопрос 13 из 20
Что должно остаться истинным после рефакторинга участка с `predict(m::Model, x) = m.w * x`?
JuliaJulia · Экспорт
module PublicAPI
export Model, predict
struct Model; w::Float64; end
predict(m::Model, x) = m.w * x
_debug(m) = m.w
end
@show names(PublicAPI)
Вопрос 14 из 20
При переносе кода с `predict(m::Model, x) = m.w * x` в библиотеку какой критерий нельзя заменять впечатлением «пример работает»?
E\subseteq\mathcal{N}(M)
Вопрос 15 из 20
Что следует сообщить пользователю библиотеки о поведении `predict(m::Model, x) = m.w * x`?
Вопрос 16 из 20
Какое утверждение точнее всего объясняет участок с `render(x::AbstractVector) = join(x, ",")`?
M.f(x::T)
JuliaJulia · Расширение методов
module CoreFns
export render
render(x::Number) = string(x)
end
import .CoreFns: render
render(x::AbstractVector) = join(x, ",")
@show render([1, 2, 3])
Вопрос 17 из 20
Какой контрольный тест лучше всего проверит правило, связанное с `render(x::AbstractVector) = join(x, ",")`?
JuliaJulia · Расширение методов
module CoreFns
export render
render(x::Number) = string(x)
end
import .CoreFns: render
render(x::AbstractVector) = join(x, ",")
@show render([1, 2, 3])
Вопрос 18 из 20
Какое решение устраняет риск вокруг `render(x::AbstractVector) = join(x, ",")`, не меняя поведение на допустимых данных?
JuliaJulia · Расширение методов
module CoreFns
export render
render(x::Number) = string(x)
end
import .CoreFns: render
render(x::AbstractVector) = join(x, ",")
@show render([1, 2, 3])
Вопрос 19 из 20
Две реализации участка с `render(x::AbstractVector) = join(x, ",")` совпадают на обычных данных. Что необходимо проверить перед выпуском?
M.f(x::T)
Вопрос 20 из 20
Какое ограничение стоит прямо указать в документации к участку с `render(x::AbstractVector) = join(x, ",")`?

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

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

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

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