💡 Инструкция: В каждом вопросе выберите один ответ из пяти. На работу отведено 85 минут. После завершения можно посмотреть правильные ответы, объяснения и результат по каждой теме.
Вопрос 1 из 30
Какое правило останется верным на другом входе этого же фрагмента? Нужна именно центральная гарантия раздела «Валидация входа».
Lua Lua · Валидация входа · разбор 1 Копировать
local cmd=decode(payload)
assert(type(cmd)=="table")
assert(cmd.kind=="move" or cmd.kind=="cast")
assert_integer(cmd.seq,0,2^31-1)
assert(#payload<=4096)
apply_command(player,cmd)
Результат кода в разделе «Валидация входа» объясняет утверждение: Масштабирование требует минимизировать глобальное состояние и сделать операции идемпотентными; локальная таблица одного процесса не обеспечивает согласованность кластера.
Результат кода в разделе «Валидация входа» объясняет утверждение: Клиентские координаты, стоимость и результат боя нельзя принимать как истину; сервер повторно вычисляет критичные правила и использует клиент лишь как источник намерения.
Результат кода в разделе «Валидация входа» объясняет утверждение: Контроль ресурсов включает память, инструкции, сетевые обращения и размер очереди; при превышении задача завершается изолированно, а не замедляет весь worker.
Результат кода в разделе «Валидация входа» объясняет утверждение: Вход скрипта проверяют по схеме и диапазонам до изменения состояния; tostring или tonumber без проверки результата не превращают произвольные данные в безопасные.
Результат кода в разделе «Валидация входа» объясняет утверждение: Лимиты задают на частоту, размер, сложность команды и время выполнения; один общий лимит запросов не останавливает редкую, но очень дорогую операцию.
Вопрос 2 из 30
Какой риск останется незамеченным, если выполнить код только один раз? Ищется граничное следствие правила из раздела «Валидация входа».
Lua Lua · Валидация входа · разбор 2 Копировать
local function reproduce_case()
local cmd=decode(payload)
assert(type(cmd)=="table")
assert(cmd.kind=="move" or cmd.kind=="cast")
assert_integer(cmd.seq,0,2^31-1)
assert(#payload<=4096)
apply_command(player,cmd)
end
reproduce_case()
Для раздела «Валидация входа» отдельным тестом подтверждают: Контроль ресурсов включает память, инструкции, сетевые обращения и размер очереди; при превышении задача завершается изолированно, а не замедляет весь worker.
Для раздела «Валидация входа» отдельным тестом подтверждают: Вход скрипта проверяют по схеме и диапазонам до изменения состояния; tostring или tonumber без проверки результата не превращают произвольные данные в безопасные.
Для раздела «Валидация входа» отдельным тестом подтверждают: Клиентские координаты, стоимость и результат боя нельзя принимать как истину; сервер повторно вычисляет критичные правила и использует клиент лишь как источник намерения.
Для раздела «Валидация входа» отдельным тестом подтверждают: Лимиты задают на частоту, размер, сложность команды и время выполнения; один общий лимит запросов не останавливает редкую, но очень дорогую операцию.
Для раздела «Валидация входа» отдельным тестом подтверждают: Масштабирование требует минимизировать глобальное состояние и сделать операции идемпотентными; локальная таблица одного процесса не обеспечивает согласованность кластера.
Вопрос 3 из 30
Какой инвариант нельзя потерять при упрощении этого фрагмента? Нужен основной контракт раздела «Валидация входа».
Lua Lua · Валидация входа · разбор 3 Копировать
do
local cmd=decode(payload)
assert(type(cmd)=="table")
assert(cmd.kind=="move" or cmd.kind=="cast")
assert_integer(cmd.seq,0,2^31-1)
assert(#payload<=4096)
apply_command(player,cmd)
end
Тесты после замены реализации раздела «Валидация входа» подтверждают: Лимиты задают на частоту, размер, сложность команды и время выполнения; один общий лимит запросов не останавливает редкую, но очень дорогую операцию.
Тесты после замены реализации раздела «Валидация входа» подтверждают: Масштабирование требует минимизировать глобальное состояние и сделать операции идемпотентными; локальная таблица одного процесса не обеспечивает согласованность кластера.
Тесты после замены реализации раздела «Валидация входа» подтверждают: Вход скрипта проверяют по схеме и диапазонам до изменения состояния; tostring или tonumber без проверки результата не превращают произвольные данные в безопасные.
Тесты после замены реализации раздела «Валидация входа» подтверждают: Контроль ресурсов включает память, инструкции, сетевые обращения и размер очереди; при превышении задача завершается изолированно, а не замедляет весь worker.
Тесты после замены реализации раздела «Валидация входа» подтверждают: Клиентские координаты, стоимость и результат боя нельзя принимать как истину; сервер повторно вычисляет критичные правила и использует клиент лишь как источник намерения.
Вопрос 7 из 30
Какой крайний случай важнее всего добавить к проверке? Нужен отрицательный сценарий для раздела «Доверие клиенту».
Lua Lua · Доверие клиенту · разбор 2 Копировать
local function reproduce_case()
function handle_hit(player,cmd)
local target=world:get(cmd.target_id)
assert(can_reach(player,target))
local damage=rules:damage(player,target,cmd.skill_id)
target:apply_damage(damage)
end
end
reproduce_case()
Второй запуск раздела «Доверие клиенту» нужен, чтобы увидеть: Масштабирование требует минимизировать глобальное состояние и сделать операции идемпотентными.
Второй запуск раздела «Доверие клиенту» нужен, чтобы увидеть: Свободный текстовый print плохо подходит для расследования и корреляции событий.
Второй запуск раздела «Доверие клиенту» нужен, чтобы увидеть: Контроль ресурсов включает память, инструкции, сетевые обращения и размер очереди.
Второй запуск раздела «Доверие клиенту» нужен, чтобы увидеть: Сервер повторно вычисляет критичные правила и использует клиент лишь как источник намерения.
Второй запуск раздела «Доверие клиенту» нужен, чтобы увидеть: Tostring или tonumber без проверки результата не превращают произвольные данные в безопасные.
Вопрос 16 из 30
В чём ключ к разбору строки «audit:write({actor=player.id,action=cmd.kind,seq=cmd.seq,»? Выберите основное правило раздела «Аудит действий».
Lua Lua · Аудит действий · разбор 1 Копировать
audit:write({actor=player.id,action=cmd.kind,seq=cmd.seq,
script=release.id,result=result.code,request=request_id})
Поведение строки из раздела «Аудит действий» определяется правилом: При превышении задача завершается изолированно, а не замедляет весь worker.
Поведение строки из раздела «Аудит действий» определяется правилом: Лимиты задают на частоту, размер, сложность команды и время выполнения.
Поведение строки из раздела «Аудит действий» определяется правилом: Аудит хранит субъект, действие, версию скрипта и итог без секретов.
Поведение строки из раздела «Аудит действий» определяется правилом: Локальная таблица одного процесса не обеспечивает согласованность кластера.
Поведение строки из раздела «Аудит действий» определяется правилом: Вход скрипта проверяют по схеме и диапазонам до изменения состояния.
Вопрос 17 из 30
Что следует изменить во входе, чтобы проверить скрытое ограничение? Ищется граничное следствие правила из раздела «Аудит действий».
Lua Lua · Аудит действий · разбор 2 Копировать
local function reproduce_case()
audit:write({actor=player.id,action=cmd.kind,seq=cmd.seq,
script=release.id,result=result.code,request=request_id})
end
reproduce_case()
Регрессионная проверка раздела «Аудит действий» наблюдает следующее: Свободный текстовый print плохо подходит для расследования и корреляции событий.
Регрессионная проверка раздела «Аудит действий» наблюдает следующее: Контроль ресурсов включает память, инструкции, сетевые обращения и размер очереди.
Регрессионная проверка раздела «Аудит действий» наблюдает следующее: Один общий лимит запросов не останавливает редкую, но очень дорогую операцию.
Регрессионная проверка раздела «Аудит действий» наблюдает следующее: Локальная таблица одного процесса не обеспечивает согласованность кластера.
Регрессионная проверка раздела «Аудит действий» наблюдает следующее: Клиентские координаты, стоимость и результат боя нельзя принимать как истину.
Вопрос 18 из 30
Какая гарантия важнее сохранения точной формы кода? Нужен основной контракт раздела «Аудит действий».
Lua Lua · Аудит действий · разбор 3 Копировать
do
audit:write({actor=player.id,action=cmd.kind,seq=cmd.seq,
script=release.id,result=result.code,request=request_id})
end
Регрессионный контракт раздела «Аудит действий» требует: Лимиты задают на частоту, размер, сложность команды и время выполнения.
Регрессионный контракт раздела «Аудит действий» требует: Вход скрипта проверяют по схеме и диапазонам до изменения состояния.
Регрессионный контракт раздела «Аудит действий» требует: Локальная таблица одного процесса не обеспечивает согласованность кластера.
Регрессионный контракт раздела «Аудит действий» требует: Аудит хранит субъект, действие, версию скрипта и итог без секретов.
Регрессионный контракт раздела «Аудит действий» требует: При превышении задача завершается изолированно, а не замедляет весь worker.
Вопрос 21 из 30
Какая семантическая деталь определяет поведение фрагмента? Нужна именно центральная гарантия раздела «Контроль ресурсов».
Lua Lua · Контроль ресурсов · разбор 1 Копировать
local ok,result=run_with_budget(script,input,{instructions=200000,
memory_bytes=8*1024*1024,network_calls=4,wall_ms=25})
if not ok then isolate_failure(player.id,result) end
При разборе раздела «Контроль ресурсов» здесь действует условие: Аудит хранит субъект, действие, версию скрипта и итог без секретов; свободный текстовый print плохо подходит для расследования и корреляции событий.
При разборе раздела «Контроль ресурсов» здесь действует условие: Лимиты задают на частоту, размер, сложность команды и время выполнения; один общий лимит запросов не останавливает редкую, но очень дорогую операцию.
При разборе раздела «Контроль ресурсов» здесь действует условие: Масштабирование требует минимизировать глобальное состояние и сделать операции идемпотентными; локальная таблица одного процесса не обеспечивает согласованность кластера.
При разборе раздела «Контроль ресурсов» здесь действует условие: Вход скрипта проверяют по схеме и диапазонам до изменения состояния; tostring или tonumber без проверки результата не превращают произвольные данные в безопасные.
При разборе раздела «Контроль ресурсов» здесь действует условие: Контроль ресурсов включает память, инструкции, сетевые обращения и размер очереди; при превышении задача завершается изолированно, а не замедляет весь worker.
Вопрос 22 из 30
Что следует изменить во входе, чтобы проверить скрытое ограничение? Ищется граничное следствие правила из раздела «Контроль ресурсов».
Lua Lua · Контроль ресурсов · разбор 2 Копировать
local function reproduce_case()
local ok,result=run_with_budget(script,input,{instructions=200000,
memory_bytes=8*1024*1024,network_calls=4,wall_ms=25})
if not ok then isolate_failure(player.id,result) end
end
reproduce_case()
Регрессионная проверка раздела «Контроль ресурсов» наблюдает следующее: Один общий лимит запросов не останавливает редкую, но очень дорогую операцию.
Регрессионная проверка раздела «Контроль ресурсов» наблюдает следующее: При превышении задача завершается изолированно, а не замедляет весь worker.
Регрессионная проверка раздела «Контроль ресурсов» наблюдает следующее: Локальная таблица одного процесса не обеспечивает согласованность кластера.
Регрессионная проверка раздела «Контроль ресурсов» наблюдает следующее: Лимиты задают на частоту, размер, сложность команды и время выполнения.
Регрессионная проверка раздела «Контроль ресурсов» наблюдает следующее: Клиентские координаты, стоимость и результат боя нельзя принимать как истину.
Вопрос 23 из 30
После рефакторинга тесты должны защищать одно правило. Какое? Речь идёт о центральном правиле раздела «Контроль ресурсов».
Lua Lua · Контроль ресурсов · разбор 3 Копировать
do
local ok,result=run_with_budget(script,input,{instructions=200000,
memory_bytes=8*1024*1024,network_calls=4,wall_ms=25})
if not ok then isolate_failure(player.id,result) end
end
После упрощения кода раздела «Контроль ресурсов» по-прежнему верно: Аудит хранит субъект, действие, версию скрипта и итог без секретов; свободный текстовый print плохо подходит для расследования и корреляции событий.
После упрощения кода раздела «Контроль ресурсов» по-прежнему верно: Вход скрипта проверяют по схеме и диапазонам до изменения состояния; tostring или tonumber без проверки результата не превращают произвольные данные в безопасные.
После упрощения кода раздела «Контроль ресурсов» по-прежнему верно: Контроль ресурсов включает память, инструкции, сетевые обращения и размер очереди; при превышении задача завершается изолированно, а не замедляет весь worker.
После упрощения кода раздела «Контроль ресурсов» по-прежнему верно: Лимиты задают на частоту, размер, сложность команды и время выполнения; один общий лимит запросов не останавливает редкую, но очень дорогую операцию.
После упрощения кода раздела «Контроль ресурсов» по-прежнему верно: Клиентские координаты, стоимость и результат боя нельзя принимать как истину; сервер повторно вычисляет критичные правила и использует клиент лишь как источник намерения.
Вопрос 25 из 30
Какое утверждение о разделе «Контроль ресурсов» наиболее полное и точное? Выберите описание, объединяющее механизм и границу раздела «Контроль ресурсов».
Весь контракт раздела «Контроль ресурсов» сводится к следующему: Лимиты задают на частоту, размер, сложность команды и время выполнения; один общий лимит запросов не останавливает редкую, но очень дорогую операцию.
Весь контракт раздела «Контроль ресурсов» сводится к следующему: Контроль ресурсов включает память, инструкции, сетевые обращения и размер очереди; при превышении задача завершается изолированно, а не замедляет весь worker.
Весь контракт раздела «Контроль ресурсов» сводится к следующему: Аудит хранит субъект, действие, версию скрипта и итог без секретов; свободный текстовый print плохо подходит для расследования и корреляции событий.
Весь контракт раздела «Контроль ресурсов» сводится к следующему: Клиентские координаты, стоимость и результат боя нельзя принимать как истину; сервер повторно вычисляет критичные правила и использует клиент лишь как источник намерения.
Весь контракт раздела «Контроль ресурсов» сводится к следующему: Вход скрипта проверяют по схеме и диапазонам до изменения состояния; tostring или tonumber без проверки результата не превращают произвольные данные в безопасные.