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

IPC и обмен данными

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

Отвечено: 0 из 30
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 30 вопросов отведено 85 минут. В каждом вопросе верен только один вариант. После завершения откроются общий результат, оценки по 6 тематическим шкалам и подробный разбор.
Вопрос 1 из 30
Что произойдёт после выполнения фрагмента «Каналы»?
PerlКаналы
pipe my $r,my $w or die $!;
my $pid=fork();
if(!$pid){ close $r; print {$w} $msg; close $w; exit }
close $w; my $data=do{local $/;<$r>};
Вопрос 2 из 30
Что в этом примере с `$sock`, `$host` и `$port` происходит на самом деле?
PerlСокеты
my $sock=IO::Socket::INET->new(PeerAddr=>$host,PeerPort=>$port,Proto=>'tcp',Timeout=>5) or die $!;
Вопрос 3 из 30
Как ведёт себя участок «Очереди» при выполнении?
PerlОчереди
$queue->enqueue({job=>$id,payload=>$data});
Вопрос 4 из 30
Что непосредственно следует из показанного кода с `$fh` и `read_modify_write`?
PerlСинхронизация
flock $fh, LOCK_EX or die $!;
read_modify_write($fh);
flock $fh, LOCK_UN;
Вопрос 5 из 30
Какое утверждение точно описывает поведение фрагмента «Профилирование решения» с `$t`, `$bytes` и `$dt`?
PerlПрофилирование решения
my $t=time; my $bytes=transfer(); my $dt=time-$t;
Вопрос 6 из 30
Что в этом примере с ключевыми операциями происходит на самом деле?
PerlАрхитектурные компромиссы
# producer -> broker -> workers -> database
Вопрос 7 из 30
Какой дефект проявится в варианте «Каналы» с `$r` и `$w`?
PerlКаналы
pipe my $r,my $w;
# оба процесса оставляют $w открытым
Вопрос 8 из 30
Почему вариант с `$sock`, `$payload` и `$reply` нельзя считать безопасным для рабочих данных?
PerlСокеты
print {$sock} $payload;
my $reply=<$sock>;
Вопрос 9 из 30
Обычный случай проходит. Что в блоке «Очереди» всё же сделано неверно?
PerlОчереди
$queue->dequeue(); process(); ack();
Вопрос 10 из 30
Почему участок с `$lock` и `$l` ненадёжен на пограничном входе?
PerlСинхронизация
if(!-e $lock){ open my $l,'>',$lock }
Вопрос 11 из 30
Какой риск связан именно с операциями `send_one_byte`?
PerlПрофилирование решения
for(1..1000){ send_one_byte() }
Вопрос 12 из 30
Что нужно заметить при ревью фрагмента «Архитектурные компромиссы»?
PerlАрхитектурные компромиссы
# shared file polled every second
Вопрос 13 из 30
Что именно стало надёжнее после изменения в блоке «Каналы»?
PerlКаналы
if ($pid) { close $w or die $! }
else { close $r or die $! }
Вопрос 14 из 30
Как показанная редакция «Сокеты» делает контракт проверяемым?
PerlСокеты
print {$sock} pack('N',length $payload),$payload;
read_exact($sock,4);
Вопрос 15 из 30
Почему этот вариант пригоднее для рабочего кода?
PerlОчереди
process_once($message_id,$payload); ack_after_commit();
Вопрос 16 из 30
Как правка с `$l`, `$path` и `handle_existing` меняет поведение на неудобном входе?
PerlСинхронизация
sysopen my $l,$path,O_CREAT|O_EXCL|O_WRONLY,0600 or handle_existing();
Вопрос 17 из 30
Как показанная редакция «Профилирование решения» делает контракт проверяемым?
PerlПрофилирование решения
measure(messages=>10000,size=>4096,concurrency=>8,warmup=>1);
Вопрос 18 из 30
Что меняется по существу после правки в блоке «Архитектурные компромиссы»?
PerlАрхитектурные компромиссы
# Unix socket for local RPC; queue for durable jobs
Вопрос 19 из 30
Что точнее всего описывает контракт механизма «Каналы»?
Вопрос 20 из 30
Какую закономерность проверяют задания темы «Сокеты»?
Вопрос 21 из 30
Какой принцип объясняет три кодовых примера блока «Очереди»?
Вопрос 22 из 30
Какое правило связывает пять заданий блока «Синхронизация»?
Вопрос 23 из 30
Что точнее всего описывает контракт механизма «Профилирование решения»?
Вопрос 24 из 30
Какое положение темы «Архитектурные компромиссы» помогает выбрать надёжную реализацию?
Вопрос 25 из 30
Какое различие в механизме «Каналы» чаще всего теряют при обобщении?
Вопрос 26 из 30
Какое ограничение механизма «Сокеты» нужно учитывать даже при корректной работе обычного примера?
Вопрос 27 из 30
Как точнее всего обозначить границу безопасного использования приёма «Очереди»?
Вопрос 28 из 30
Какое различие в механизме «Синхронизация» чаще всего теряют при обобщении?
Вопрос 29 из 30
Что остаётся верным о теме «Профилирование решения», если учитывать контекст, отказ и побочный эффект?
Вопрос 30 из 30
Какой вывод о механизме «Архитектурные компромиссы» выдерживает проверку на пограничном входе?

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

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

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

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