PL Perl  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

JSON, XML и структурированные данные

Практические задания по теме «JSON, XML и структурированные данные» требуют сопоставить несколько решений, найти источник ошибки и оценить последствия выбранного подхода. В тесте 25 вопросов: код нужно не только читать, но и трассировать, проверять на отказ, сопоставлять несколько правдоподобных решений. Ровно 15 заданий содержат фрагменты Perl; остальные проверяют выбор подхода в реальной ситуации. Если в условии не сказано иначе, предполагаются современный Perl 5.40+, strict и warnings; внешние модули рассматриваются в указанном контексте.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. В каждом вопросе верен только один вариант. После завершения откроются общий результат, оценки по 5 тематическим шкалам и подробный разбор.
Вопрос 1 из 25
Как завершится этот код по правилам Perl 5.40?
PerlКодирование
my $json = JSON::MaybeXS->new(utf8=>1,canonical=>1);
my $bytes=$json->encode($data);
Вопрос 2 из 25
Что в этом примере с `$data`, `$json` и `$input` происходит на самом деле?
PerlВалидация
my $data=$json->decode($input);
die 'shape' unless ref($data) eq 'HASH' && ref($data->{items}) eq 'ARRAY';
Вопрос 3 из 25
Как ведёт себя показанный фрагмент по теме «Потоковый разбор»?
PerlПотоковый разбор
my $reader = XML::LibXML::Reader->new(string => $xml);
while ($reader->read) {
    process_node($reader);
}
Вопрос 4 из 25
Какой вывод следует непосредственно из операций примера «Совместимость схем»?
PerlСовместимость схем
my $version=$data->{schema_version}//1;
$data=migrate($data,$version);
Вопрос 5 из 25
Что произойдёт после выполнения фрагмента «Выбор компромисса»?
PerlВыбор компромисса
my $data=$json->decode($payload);
Вопрос 6 из 25
Какой отказ объясняется показанным кодом, а не внешней системой?
PerlКодирование
my $bytes=encode('UTF-8',$json->encode($data));
Вопрос 7 из 25
Где находится первопричина возможного сбоя в коде с `$data`, `$json` и `$input`?
PerlВалидация
my $data=$json->decode($input);
process($data->{user}{id});
Вопрос 8 из 25
Что в этом коде нарушает ожидаемое поведение?
PerlПотоковый разбор
my $doc=XML::LibXML->load_xml(string=>$huge_xml);
Вопрос 9 из 25
Какой дефект проявится в варианте «Совместимость схем» с `$data` и `rename_field`?
PerlСовместимость схем
rename_field($data,'name','title');
Вопрос 10 из 25
Почему участок с `$json`, `$unbounded_body` и `decode` ненадёжен на пограничном входе?
PerlВыбор компромисса
eval { $json->decode($unbounded_body) };
Вопрос 11 из 25
Какое свойство новой версии с `$text`, `$data` и `new` важно закрепить тестом?
PerlКодирование
my $text=JSON::MaybeXS->new(utf8=>0)->encode($data);
Вопрос 12 из 25
Почему новая версия с `$data` и `validate_schema` устраняет исходный дефект?
PerlВалидация
validate_schema($data) or die 'invalid payload';
Вопрос 13 из 25
Какое свойство новой версии с `$reader`, `$fh` и `new` важно закрепить тестом?
PerlПотоковый разбор
my $reader=XML::LibXML::Reader->new(IO=>$fh,no_network=>1);
Вопрос 14 из 25
Что именно стало надёжнее после изменения в блоке «Совместимость схем»?
PerlСовместимость схем
die 'future schema' if $version>$SUPPORTED;
Вопрос 15 из 25
Что изменилось в работе фрагмента «Выбор компромисса»?
PerlВыбор компромисса
die 'too large' if length($payload)>$MAX;
my $data=$json->decode($payload);
Вопрос 16 из 25
Что является главным ориентиром при работе с «Кодирование»?
Вопрос 17 из 25
Какой вывод стоит перенести из учебного примера «Валидация» в рабочий код?
Вопрос 18 из 25
Какой вывод стоит перенести из учебного примера «Потоковый разбор» в рабочий код?
Вопрос 19 из 25
Какой общий принцип темы «Совместимость схем» переносится на другие программы?
Вопрос 20 из 25
Какой принцип объясняет три кодовых примера блока «Выбор компромисса»?
Вопрос 21 из 25
Какое утверждение о теме «Кодирование» не приписывает механизму лишних гарантий?
Вопрос 22 из 25
Какой вывод о механизме «Валидация» выдерживает проверку на пограничном входе?
Вопрос 23 из 25
Что важно отдельно проверить при переносе приёма «Потоковый разбор» в рабочий код?
Вопрос 24 из 25
Какой предел гарантий блока «Совместимость схем» остаётся в силе после успешного запуска?
Вопрос 25 из 25
Какой вывод о механизме «Выбор компромисса» выдерживает проверку на пограничном входе?

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

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

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

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