RB Ruby  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Условия, циклы и выражения

Тест «Условия, циклы и выражения» проверяет чтение кода, объяснение причин, поиск скрытых рисков, выбор исправления и работу с граничными сценариями. В нём 20 вопросов, 10 заданий с Ruby-кодом и 4 тематических шкал.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. Время — 55 минут. У каждого задания ровно один правильный вариант. Фрагменты рассчитаны на Ruby 4.0.6; задания Rails — на Rails 8.1.3. После завершения откроются общий процент, 4 тематических результатов и разбор всех ответов.
Вопрос 1 из 20
Какой фактический результат даст этот фрагмент по теме «Условные формы»? Нужен вариант без логического разрыва между первой и второй частью.
RubyRuby — Условные формы
# Проследите выполнение и выберите точный результат.
count = 0
status = if count
  'present'
else
  'missing'
end
p status
Вопрос 2 из 20
Что покажет выполнение этого фрагмента из раздела «Итерации»? Верный вариант не содержит частично правильной подмены причины или следствия.
RubyRuby — Итерации
# Проследите выполнение и выберите точный результат.
n = 0
found = while n < 5
  n += 1
  break n * n if n == 3
end
p found
Вопрос 3 из 20
Что покажет выполнение этого фрагмента из раздела «Возвращаемое значение»? В правильном ответе вторая часть действительно объясняет или проверяет первую.
RubyRuby — Возвращаемое значение
# Проследите выполнение и выберите точный результат.
number = 14
label = if number.odd?
  :odd
else
  :even
end
p label
Вопрос 4 из 20
Не запуская пример, выберите точный итог для блока «Управление потоком». Сопоставьте не только итог, но и правило, риск или проверку, которые с ним связаны.
RubyRuby — Управление потоком
# Проследите выполнение и выберите точный результат.
squares = []
(1..6).each do |n|
  next if n.even?
  squares << n * n
end
p squares
Вопрос 5 из 20
Какой дефект может проявиться на границе показанного сценария «Условные формы»? Не выбирайте ответ по одному точному фрагменту: вся формулировка должна выдерживать проверку.
RubyRuby — Условные формы
# Обычный запуск проходит. Найдите скрытый риск.
count = 0
status = if count
  'present'
else
  'missing'
end
p status
Вопрос 6 из 20
Какой дефект может проявиться на границе показанного сценария «Итерации»? Правильным считается только полностью согласованное утверждение.
RubyRuby — Итерации
# Обычный запуск проходит. Найдите скрытый риск.
n = 0
found = while n < 5
  n += 1
  break n * n if n == 3
end
p found
Вопрос 7 из 20
Какой риск не исчезает после успешного запуска кода «Возвращаемое значение»? Смотрите на всю причинную связку, а не только на знакомую формулировку.
RubyRuby — Возвращаемое значение
# Обычный запуск проходит. Найдите скрытый риск.
number = 14
label = if number.odd?
  :odd
else
  :even
end
p label
Вопрос 8 из 20
Какой дефект может проявиться на границе показанного сценария «Управление потоком»? Одного совпавшего вывода недостаточно — проверьте также вторую часть ответа.
RubyRuby — Управление потоком
# Обычный запуск проходит. Найдите скрытый риск.
squares = []
(1..6).each do |n|
  next if n.even?
  squares << n * n
end
p squares
Вопрос 9 из 20
Какое общее правило связывает результат и риск в разделе «Условные формы»? Проверьте обе половины ответа: частично верный вариант остаётся неверным.
Вопрос 10 из 20
Какое правило остаётся верным, даже если вход и порядок вызовов изменятся, в теме «Итерации»? Выберите связку, в которой верны и основной вывод, и его обоснование.
Вопрос 11 из 20
Как сформулировать правило блока «Возвращаемое значение» без лишних обещаний? Нужен вариант без логического разрыва между первой и второй частью.
Вопрос 12 из 20
Какое правило Ruby или Rails объясняет поведение в теме «Управление потоком»? Правильным считается только полностью согласованное утверждение.
Вопрос 13 из 20
Какой подход сохраняет намерение кода и устраняет дефект в теме «Условные формы»? Смотрите на всю причинную связку, а не только на знакомую формулировку.
RubyRuby — Условные формы
# Выберите изменение, которое исправляет причину.
count = 0
status = if count
  'present'
else
  'missing'
end
p status
Вопрос 14 из 20
Что нужно поменять, чтобы ошибка «Итерации» не возвращалась при следующем изменении? Не выбирайте ответ по одному точному фрагменту: вся формулировка должна выдерживать проверку.
RubyRuby — Итерации
# Выберите изменение, которое исправляет причину.
n = 0
found = while n < 5
  n += 1
  break n * n if n == 3
end
p found
Вопрос 15 из 20
Какое инженерное решение лучше всего соответствует механизму «Возвращаемое значение»? Сопоставьте не только итог, но и правило, риск или проверку, которые с ним связаны.
Вопрос 16 из 20
Какой вариант правки выдержит граничный сценарий темы «Управление потоком»? Сопоставьте не только итог, но и правило, риск или проверку, которые с ним связаны.
Вопрос 17 из 20
Какую проверку стоит добавить, чтобы не ограничиться счастливым путём «Условные формы»? Правильным считается только полностью согласованное утверждение.
Вопрос 18 из 20
Какой тест даст новую информацию о надёжности решения «Итерации»? В правильном ответе вторая часть действительно объясняет или проверяет первую.
Вопрос 19 из 20
Какой случай покажет, что исправление «Возвращаемое значение» не держится на удачном входе? Ищите не знакомые слова, а технически непротиворечивую пару утверждений.
Вопрос 20 из 20
Какой сценарий проверит не только результат, но и побочный эффект решения «Управление потоком»? Нужен вариант без логического разрыва между первой и второй частью.

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

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

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

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