ML MATLAB  ·  30 вопросов  ·  ~85 мин  ·  ⏱ Таймер 25:00  ·  Сложный  · 

Память и большие массивы

Тест проверяет тему «Память и большие массивы» через чтение MATLAB-кода, математические модели и рабочие ситуации. Здесь важно не узнать знакомую команду, а предсказать результат, заметить скрытое допущение и выбрать проверку, которая различит близкие реализации.

Отвечено: 0 из 30
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. Время — 85 минут. Верный вариант в каждом вопросе один; после завершения доступны общий результат, профиль по 6 темам и объяснения.
Вопрос 1 из 30
В проекте появился шаг: преобразовать большой массив double в single только после оценки допустимой точности. Какой фрагмент можно принять после проверки размерностей?
Вопрос 2 из 30
Ниже приведена неудачная реализация из темы «Типы чисел». Какая редакция возвращает требуемый результат и оставляет независимый контроль?
MATLABФрагмент для рецензии
Xsingle = cast(X,"single"); assert(isequal(Xsingle,X));
Вопрос 3 из 30
Перед рецензентом рабочий фрагмент по теме «Типы чисел». Как проверить его так, чтобы близкая подмена не прошла вместе с ним?
\varepsilon_{single}\approx1.2\cdot10^{-7}
MATLABКод и модель
Xsingle = single(X);
relerr = norm(double(Xsingle)-X,"fro")/norm(X,"fro");
Вопрос 4 из 30
Нужно сопоставить MATLAB-код с постановкой «преобразовать большой массив double в single только после оценки допустимой точности». Какая формула задаёт именно этот результат?
Вопрос 5 из 30
Массив не помещается в память, и команда предлагает `uint8`, не учитывая отрицательные и дробные значения. Как поступить без подгонки результата под ожидание?
Вопрос 6 из 30
Нужно выбрать код для действия: изменить небольшой фрагмент массива, понимая возможное копирование при записи после присваивания B=A. Какой фрагмент можно принять после проверки размерностей?
Вопрос 7 из 30
В тесте «Память и большие массивы» показанный фрагмент нарушает правило из темы «Копирование при записи». Какая редакция исправляет причину, а не только её проявление?
MATLABФрагмент для рецензии
B = &A;
B(1,1) = 0;
Вопрос 8 из 30
Фрагмент по теме «Копирование при записи» выглядит правдоподобно. Какая проверка действительно подтвердит заявленное свойство, а не только отсутствие сбоя?
M_{peak}\approx M_A+M_B
MATLABКод и модель
B = A;
B(1,1) = 0;
Вопрос 9 из 30
В рецензии формализуют требование «изменить небольшой фрагмент массива, понимая возможное копирование при записи после присваивания B=A». Какая формула задаёт именно этот результат?
Вопрос 10 из 30
Код успешно создаёт псевдокопию, но падает именно на первой записи в B из-за внезапного выделения полного массива. Какой шаг сохранит воспроизводимость проверки?
Вопрос 11 из 30
Проверяется реализация операции: вычислить среднее по столбцам данных, которые представлены tall-массивом. Какой фрагмент можно принять после проверки размерностей?
Вопрос 12 из 30
Для темы «Высокие массивы для больших данных» в тесте «Память и большие массивы» приведён дефектный блок. Какое замечание рецензента можно принять?
MATLABФрагмент для рецензии
mu = double(XTall);
Вопрос 13 из 30
Ниже показано решение из темы «Высокие массивы для больших данных». Какой контроль отличит его от ближайшей ошибочной реализации?
\mu_j=\frac1N\sum_{i=1}^{N}X_{ij}
MATLABКод и модель
muTall = mean(XTall,1);
mu = gather(muTall);
Вопрос 14 из 30
Контрольный расчёт для действия «вычислить среднее по столбцам данных, которые представлены tall-массивом» начинается с формулы. Какая формула задаёт именно этот результат?
Вопрос 15 из 30
Разработчик первым действием вызывает `gather` и снова упирается в нехватку памяти, ради которой tall и вводился. Какое решение можно обосновать на рецензии?
Вопрос 16 из 30
Исходное требование формулируется так: обработать большой MAT-файл блоками, не загружая переменную X целиком. Какой фрагмент можно принять после проверки размерностей?
Вопрос 17 из 30
Показанный код из темы «Потоковая обработка» не соответствует постановке. Какая редакция восстанавливает вычислительный договор?
MATLABФрагмент для рецензии
S = load("big.mat","X"); process(S.X);
Вопрос 18 из 30
Результат фрагмента по теме «Потоковая обработка» нужно принять перед включением в расчёт. Какая проверка даст независимое основание?
M_{work}\approx blockSize\cdot p\cdot bytes
MATLABКод и модель
m = matfile("big.mat");
for first=1:blockSize:size(m,"X",1)
    idx = first:min(first+blockSize-1,size(m,"X",1));
    chunk = m.X(idx,:);
    process(chunk);
end
Вопрос 19 из 30
Требование «обработать большой MAT-файл блоками, не загружая переменную X целиком» переводят на язык математики. Какая формула задаёт именно этот результат?
Вопрос 20 из 30
Построчная обработка устраняет переполнение памяти, но становится чрезвычайно медленной из-за миллионов мелких обращений к диску. Что связывает исправление с измеримым признаком качества?
Вопрос 21 из 30
Нужно реализовать действие: сравнить время и пиковую память двух реализаций на одинаковом входе с помощью измерительной обёртки проекта, а не судить по `whos` после завершения. Какой код сохраняет математический смысл постановки?
Вопрос 22 из 30
Рецензент разбирает фрагмент по теме «Профилирование решения» в тесте «Память и большие массивы». Какой вариант исправляет саму операцию?
MATLABФрагмент для рецензии
tic; implA(input); toc; clear all
Вопрос 23 из 30
Для решения по теме «Профилирование решения» выбирают контрольный опыт. Какой вариант проверяет смысл операции, а не внешние признаки результата?
M_{peak}\ge M_{input}+M_{output}
MATLABКод и модель
input = makeInput(N);
statsA = benchmarkWithPeakMemory(@() implA(input)); % обёртка использует счётчик памяти процесса ОС
statsB = benchmarkWithPeakMemory(@() implB(input));
Вопрос 24 из 30
Для действия «сравнить время и пиковую память двух реализаций на одинаковом входе с помощью измерительной обёртки проекта, а не судить по `whos` после завершения» нужен независимый математический эталон. Какое соотношение можно использовать для проверки?
Вопрос 25 из 30
После функции рабочая область мала, но процесс был завершён системой в середине вычисления из-за временной матрицы. Какое действие даст проверяемый результат?
Вопрос 26 из 30
В расчёте требуется выбрать архитектуру расчёта, которая не требует хранить все промежуточные результаты, если нужен только итоговый агрегат. Какой код сохраняет математический смысл постановки?
Вопрос 27 из 30
В расчёте по теме «Архитектурные компромиссы» обнаружено содержательное расхождение. Какую замену следует принять после проверки?
MATLABФрагмент для рецензии
X = cat(1,readAllBlocks());
result=aggregate(process(X));
Вопрос 28 из 30
Код по теме «Архитектурные компромиссы» проходит обычный пример. Какая проверка покажет, что вычислительный договор сохраняется и на неудобном входе?
S_k=U(S_{k-1},B_k)
MATLABКод и модель
state = initState();
for k=1:numBlocks
    state = updateState(state, readBlock(k));
end
result = finalize(state);
Вопрос 29 из 30
Нужно формализовать операцию «выбрать архитектуру расчёта, которая не требует хранить все промежуточные результаты, если нужен только итоговый агрегат». Какое соотношение можно использовать для проверки?
Вопрос 30 из 30
Система сохраняет массив результатов каждого эксперимента, хотя отчёту нужны только сумма, счётчик и максимум. Какой порядок работы не скроет причину ошибки?

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

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

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

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