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

Производительность и профилирование

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

Отвечено: 0 из 30
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 30 вопросов отведено 85 минут. В каждом вопросе верен только один вариант. После завершения откроются общий результат, оценки по 6 тематическим шкалам и подробный разбор.
Вопрос 1 из 30
Что в этом примере с `@x`, `$_` и `@a` происходит на самом деле?
PerlИзмерения с модулем Benchmark
use Benchmark 'cmpthese';
cmpthese(-3,{map=>sub{my @x=map $_*2,@a},loop=>sub{my @x;push @x,$_*2 for @a}});
Вопрос 2 из 30
Как ведёт себя участок «Профилирование с Devel::NYTProf» при выполнении?
BashПрофилирование с Devel::NYTProf
perl -d:NYTProf app.pl
nytprofhtml
Вопрос 3 из 30
Какой вывод следует непосредственно из операций примера «Регулярные выражения»?
PerlРегулярные выражения
my $re=qr/\A(?:[^,"]+|"[^"]*")*\z/;
Вопрос 4 из 30
Какой вывод следует непосредственно из операций примера «Память»?
PerlПамять
my @rows=map decode($_),<$fh>;
Вопрос 5 из 30
Как ведёт себя участок «Границы применимости» при выполнении?
PerlГраницы применимости
my @sorted=sort {$a<=>$b} @items;
Вопрос 6 из 30
Какое описание не теряет важный побочный эффект участка с `$line`, `@_` и `@parts`?
PerlСопровождение проекта
sub parse_line {
    my ($line) = @_;
    $line =~ s/^\s+|\s+$//g;
    my @parts = split /\s*;\s*/, $line;
    return { id => $parts[0], value => $parts[1] };
}
Вопрос 7 из 30
Обычный случай проходит. Что в блоке «Измерения с модулем Benchmark» всё же сделано неверно?
PerlИзмерения с модулем Benchmark
my $t=time; fast(); say time-$t;
Вопрос 8 из 30
Обычный случай проходит. Что в блоке «Профилирование с Devel::NYTProf» всё же сделано неверно?
PerlПрофилирование с Devel::NYTProf
# profile one request with empty cache
Вопрос 9 из 30
Какую границу автор фрагмента «Регулярные выражения» не учёл?
PerlРегулярные выражения
$input =~ /(a+)+$/;
Вопрос 10 из 30
Какой дефект проявится в варианте «Память» с `%cache`, `$cache` и `$_`?
PerlПамять
my %cache; $cache{$_}=heavy($_) for @all_keys;
Вопрос 11 из 30
Какой риск связан именно с операциями `optimize_regex_everywhere`?
PerlГраницы применимости
optimize_regex_everywhere();
Вопрос 12 из 30
Какой отказ объясняется показанным кодом, а не внешней системой?
PerlСопровождение проекта
no warnings; no strict;
Вопрос 13 из 30
Как правка с `cmpthese`, `setup` и `target_a` меняет поведение на неудобном входе?
PerlИзмерения с модулем Benchmark
cmpthese(20,{a=>sub{setup();target_a()},b=>sub{setup();target_b()}});
Вопрос 14 из 30
Почему новая версия с ключевыми операциями устраняет исходный дефект?
PerlПрофилирование с Devel::NYTProf
# profile representative batch; compare before/after
Вопрос 15 из 30
Какое свойство новой версии с `$input` важно закрепить тестом?
PerlРегулярные выражения
$input =~ /\Aa+\z/;
Вопрос 16 из 30
Что отличает это исправление от маскировки симптома?
PerlПамять
while(defined(my $line=<$fh>)){ my $row=decode($line); process($row) }
Вопрос 17 из 30
Как исправленный код с `profile`, `choose_algorithm` и `benchmark` сохраняет исходное назначение?
PerlГраницы применимости
profile(); choose_algorithm(); benchmark();
Вопрос 18 из 30
Как показанная редакция «Сопровождение проекта» делает контракт проверяемым?
PerlСопровождение проекта
add_characterization_tests(); profile(); refactor_hot_path();
Вопрос 19 из 30
Какое правило отделяет семантику Perl от случайно удачного запуска?
Вопрос 20 из 30
Какую закономерность проверяют задания темы «Профилирование с Devel::NYTProf»?
Вопрос 21 из 30
Какое положение темы «Регулярные выражения» помогает выбрать надёжную реализацию?
Вопрос 22 из 30
Что точнее всего описывает контракт механизма «Память»?
Вопрос 23 из 30
На что следует опираться при ревью кода по теме «Границы применимости»?
Вопрос 24 из 30
На что следует опираться при ревью кода по теме «Сопровождение проекта»?
Вопрос 25 из 30
Какую оговорку нужно добавить к основному правилу темы «Измерения с модулем Benchmark»?
Вопрос 26 из 30
Какое ограничение блока «Профилирование с Devel::NYTProf» следует проверять отдельным примером?
Вопрос 27 из 30
Что остаётся верным о теме «Регулярные выражения», если учитывать контекст, отказ и побочный эффект?
Вопрос 28 из 30
Какую оговорку нужно добавить к основному правилу темы «Память»?
Вопрос 29 из 30
Какое ограничение механизма «Границы применимости» нужно учитывать даже при корректной работе обычного примера?
Вопрос 30 из 30
Что остаётся верным о теме «Сопровождение проекта», если учитывать контекст, отказ и побочный эффект?

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

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

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

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