💡 Инструкция: Выберите один ответ из пяти. Время — 85 минут. Верный вариант в каждом вопросе один; после завершения доступны общий результат, профиль по 6 темам и объяснения.
Вопрос 7 из 30
В расчёте по теме «Параметры эксперимента» обнаружено содержательное расхождение. Какую замену следует принять после проверки?
MATLAB Фрагмент для рецензии Копировать
cfg = eval(fileread("config/run_042.json")); result=runExperiment(cfg);
Заменить исходный блок этой реализацией. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Контрольный пример должен воспроизводиться на чистом запуске проекта. Для темы «Параметры эксперимента» также сверить класс данных и сохранение ожидаемой структуры выхода. cfg = eval(fileread("config/run_042.json")); result=runExperiment(cfg);
Принять эту редакцию как полную замену текущего блока. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. Допуск и критерий принятия зафиксировать до просмотра результата. Для темы «Параметры эксперимента» также сверить класс данных и сохранение ожидаемой структуры выхода. cfg=struct; result=runExperiment(cfg);
Использовать показанный вариант вместо дефектного фрагмента. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. result=runExperiment(); save("results/run_042.mat","result");
Внести показанную замену без изменения входного контракта. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. cfg = jsondecode(fileread("config/run_042.json"));
result = runExperiment(cfg);
save("results/run_042.mat","result","cfg");
Переписать вычислительный шаг следующим образом. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. Для темы «Параметры эксперимента» также сверить класс данных и сохранение ожидаемой структуры выхода. load("config/run_042.json"); result=runExperiment(cfg);
Вопрос 12 из 30
Ниже приведена неудачная реализация из темы «Версии данных». Какая редакция возвращает требуемый результат и оставляет независимый контроль?
MATLAB Фрагмент для рецензии Копировать
copyfile("data/raw/sample.h5","sample_final_latest.h5");
Использовать показанный вариант вместо дефектного фрагмента. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Допуск и критерий принятия зафиксировать до просмотра результата. Для темы «Версии данных» также сверить класс данных и сохранение ожидаемой структуры выхода. copyfile("data/raw/sample.h5","sample_final_latest.h5");
Заменить исходный блок этой реализацией. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. Для темы «Версии данных» также сверить класс данных и сохранение ожидаемой структуры выхода. meta.path="data/raw/sample.h5";
Внести показанную замену без изменения входного контракта. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. meta.path="data/raw/sample_v4.h5";
meta.sha256=computeSHA256(meta.path); % проектная функция, покрытая тестами
meta.schemaVersion=4;
save("data/manifest_v4.mat","meta");
Переписать вычислительный шаг следующим образом. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. Для темы «Версии данных» также сверить класс данных и сохранение ожидаемой структуры выхода. git add data/raw/sample.h5
Принять эту редакцию как полную замену текущего блока. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Контрольный пример должен воспроизводиться на чистом запуске проекта. Для темы «Версии данных» также сверить класс данных и сохранение ожидаемой структуры выхода. meta.modified=datetime("now");
Вопрос 17 из 30
В тесте «Организация научного проекта» показанный фрагмент нарушает правило из темы «Автоматизация запуска». Какая редакция исправляет причину, а не только её проявление?
MATLAB Фрагмент для рецензии Копировать
arrayfun(@executeRun,configFiles);
Заменить исходный блок этой реализацией. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. Для темы «Автоматизация запуска» также сверить класс данных и сохранение ожидаемой структуры выхода. arrayfun(@executeRun,configFiles);
Внести показанную замену без изменения входного контракта. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Допуск и критерий принятия зафиксировать до просмотра результата. Для темы «Автоматизация запуска» также сверить класс данных и сохранение ожидаемой структуры выхода. for k=1:numel(configFiles), cfg=loadConfig(configFiles(k)); result=executeRun(cfg); end
Использовать показанный вариант вместо дефектного фрагмента. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Контрольный пример должен воспроизводиться на чистом запуске проекта. Для темы «Автоматизация запуска» также сверить класс данных и сохранение ожидаемой структуры выхода. run("all_experiments.m"); save("workspace.mat")
Переписать вычислительный шаг следующим образом. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. for k=1:numel(configFiles)
cfg=loadConfig(configFiles(k));
runDir=fullfile("results",cfg.runId);
try, executeRun(cfg,runDir); writeStatus(runDir,"ok");
catch ME, writeFailure(runDir,ME); end
end
Принять эту редакцию как полную замену текущего блока. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. Для темы «Автоматизация запуска» также сверить класс данных и сохранение ожидаемой структуры выхода. for k=1:numel(configFiles), run("experiment.m"); end
Вопрос 18 из 30
Фрагмент по теме «Автоматизация запуска» выглядит правдоподобно. Какая проверка действительно подтвердит заявленное свойство, а не только отсутствие сбоя?
N_{ok}+N_{failed}+N_{pending}=N
MATLAB Код и модель Копировать
for k=1:numel(configFiles)
cfg=loadConfig(configFiles(k));
runDir=fullfile("results",cfg.runId);
try, executeRun(cfg,runDir); writeStatus(runDir,"ok");
catch ME, writeFailure(runDir,ME); end
end
На одном типичном наборе сверить размер, класс и отсутствие `NaN` или `Inf` в результате по теме «Автоматизация запуска».
Смоделируйте падение на третьем из пяти запусков и проверьте, что первые два не повторяются без необходимости.
Запустить несколько случайных наборов одинакового масштаба и сопоставить время выполнения и форму результата для темы «Автоматизация запуска».
Повторить вычисление в отдельной функции, сохранив ту же формулу, и сравнить два полученных ответа по теме «Автоматизация запуска».
Выполнить расчёт с повышенной численной точностью и использовать совпадение округлённых значений как контроль темы «Автоматизация запуска».
Вопрос 22 из 30
Для темы «Качество данных» в тесте «Организация научного проекта» приведён дефектный блок. Какое замечание рецензента можно принять?
MATLAB Фрагмент для рецензии Копировать
T=rmmissing(T);
Внести показанную замену без изменения входного контракта. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Контрольный пример должен воспроизводиться на чистом запуске проекта. Для темы «Качество данных» также сверить класс данных и сохранение ожидаемой структуры выхода. fillmissing(T,"constant",0);
Использовать показанный вариант вместо дефектного фрагмента. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. required=["Time" "Value"];
assert(all(ismember(required,T.Properties.VariableNames)));
miss=mean(ismissing(T.Value));
assert(miss<=0.05,"Too many missing values");
Заменить исходный блок этой реализацией. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. Для темы «Качество данных» также сверить класс данных и сохранение ожидаемой структуры выхода. assert(width(T)>=2);
Переписать вычислительный шаг следующим образом. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Допуск и критерий принятия зафиксировать до просмотра результата. Для темы «Качество данных» также сверить класс данных и сохранение ожидаемой структуры выхода. T=rmmissing(T);
Принять эту редакцию как полную замену текущего блока. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. Для темы «Качество данных» также сверить класс данных и сохранение ожидаемой структуры выхода. assert(~isempty(T));
Вопрос 29 из 30
В рецензии формализуют требование «сделать результат воспроизводимым на чистой машине без зависимости от ручного `addpath`». Какое выражение сохраняет смысл постановки?
output=F(code,data,config,environment)
input=F(code,data,config,environment)
output=F(data,config,environment,code)
output\approxF(code,data,config,environment)
output=F(environment,data,config,code)