Home » Ответы Синергия МТИ » Язык программирования Ruby.фип_БАК_МОиАИС Синергия Ответы МТИ Тесты

Язык программирования Ruby.фип_БАК_МОиАИС Синергия Ответы МТИ Тесты

Скачать тест: Язык программирования Ruby.фип_БАК_МОиАИС Синергия Ответы МТИ Тесты.pdf

1. Как организован исходный код Ruby?
2. Когда был создан Ruby?
3. Какие из примеров являются корректной интерполяцией строк в Ruby?
4. Какие имена переменных допустимы в Ruby?
5. «Ruby поддерживает ____________ для преобразования данных.»
6. Какая структура используется в Ruby для хранения данных в формате ключ-значение?
7. Соотнесите типы данных с их примерами в Ruby:
8. Соотнесите программные языки с их конструкциями:
9. Упорядочьте операторы для вывода:
10. Упорядочьте строки для вывода:
11. Какой результат выполнения следующего кода?
name, does, langs = «», «», «»
puts «#{name} #{does} #{langs} programming languages»
name = «Olga»
does = «learns»
langs = «ruby, java, and php»
puts «#{name} #{does} #{langs} programming languages»
12. Измените код так, чтобы программа не завершалась с ошибкой:
puts «Programming languages: #{langs}»
puts «#{name} #{knows} #{lang_ruby}»
puts «#{name} #{does_not_know} #{lang_php}»
puts «#{name} #{does_not_know} #{lang_java}»
langs = «#{lang_ruby}, #{lang_java}, and #{lang_php}»
name = «Olga»
does = «learns»
lang_php = «php»
lang_ruby = «ruby»
lang_java = «java»
knows = «knows»
does_not_know = «does not know»
13. Как сравниваются числа на равенство в Ruby?
14. Как определяются строки в Ruby?
15. Что делает следующий код?
puts «Test».upcase.reverse
16. Какие из утверждений корректны? Выберите все правильные ответы:
17. Установите соответствие между языками программирования и выражениями:
18. Установите соответствие между командами и языками программирования
19. Упорядочьте команды для корректной работы программы:
Принцип упорядочивания: Хронология выполнения операций для получения результата Результат вычисления: 314.0
20. Упорядочьте команды для корректной работы программы:
Принцип упорядочивания: Инициализация методов и вызов в правильной последовательности для вывода Сервера работают: [«localhost», «0.0.0.0»] на портах [80, 22]
21. Дополните утверждение:
Ключевое слово, используемое в Ruby для обработки ошибок, называется __________.
22. Дополните утверждение:
Метод, используемый для выброса исключений в Ruby, называется __________.
23. Что выведет следующая программа?
def get_server_parameters
[«127.0.0.1», 8081] end
address, port = get_server_parameters
puts «Адрес сервера: #{address}:#{port}»
24. Измените код так, чтобы программа не завершалась с ошибкой. Исходный код:
puts «Programming languages: #{langs}»
puts «#{name} #{knows} #{lang_ruby}»
puts «#{name} #{does_not_know} #{lang_php}»
puts «#{name} #{does_not_know} #{lang_java}»
langs = «#{lang_ruby}, #{lang_java}, and #{lang_php}»
name = «Olga»
does = «learns»
lang_php = «php»
lang_ruby = «ruby»
lang_java = «java»
knows = «knows»
does_not_know = «does not know»
Выберите корректный способ исправления:
25. Как выбрасывать исключения в Ruby?
26. Как получить доступ к входным аргументам в Ruby?
27. Какой из фрагментов кода является Ruby?
28. Какие утверждения о работе с аргументами командной строки верны? (Выберите все правильные ответы)
29. Завершите утверждение:
Ruby использует глобальный массив __________ для обработки аргументов командной строки.
30. Завершите утверждение:
Метод rescue в Ruby используется для обработки __________.
31. Установите соответствие между командами и языком программирования:
32. Упорядочите строки программы, чтобы она корректно обрабатывала исключения:
33. Упорядочите строки программы для корректного выполнения:
34. Какой результат выполнения следующей программы?
def execute_or_fail(command)
puts command
end
command = «hello»
begin
execute_or_fail(command)
rescue
puts «There was an error»
ensure
puts «Execution finished»
end
35. Измените программу так, чтобы она выводила следующий результат:
hello
Execution finished
Исходная программа:
def execute_or_fail(command)
raise «ERROR: #{command}»
end
command = «hello»
begin
execute_or_fail(command)
rescue
puts «There was an error»
ensure
puts «Execution finished»
end
Выберите корректный способ исправления:
36. Как создается класс в Ruby?
37. Какой из следующих фрагментов кода является валидным для создания класса?
38. Как выглядит создание объекта класса в Ruby?
39. Какие утверждения об использовании классов в Ruby верны? (Выберите все правильные ответы)
40. Какой метод вызывается при создании объекта класса?
41. Завершите утверждение:
Ruby использует символ < для указания __________.
42. Установите соответствие между кодами и языками программирования:
43. Установите соответствие между кодами классов и их корректностью:
44. Упорядочите строки программы для получения следующего вывода:
Hello from Hello::Second
Hello from Hello::First
Принцип упорядочивания: Определение класса First, затем Second, вызов метода hello для Second, инициализация класса Hello.
45. Упорядочите строки программы для получения следующего вывода:
Executing the system tools
Принцип упорядочивания: Определение модуля SystemTools, инициализация системы, подключение модуля, вызов метода execute.
46. Что выводит следующая программа?
module SmartLogger
protected
def log_message(message)
puts «LOG :: #{self.class} :: #{message}»
end
end
class WordProcessor
include SmartLogger
def process(*words)
words.each do | word |
log_message(«Processing :: #{word}»)
end
end
end
processor = WordProcessor.new
processor.process(«Hello», «World»)
47. Измените программу так, чтобы вывод содержал тип данных:
LOG :: Processing :: String =>’Hello’
Исходный код:
module SmartLogger
protected
def log_message(message)
puts «LOG :: #{self.class} :: #{message}»
end
end
class WordProcessor
include SmartLogger
def process(*words)
words.each do | word |
log_message(«Processing ‘#{word}'»)
end
end
end
processor = WordProcessor.new
processor.process(«Hello», «people»)
Выберите корректный способ изменения кода:
48. Как в Ruby создаются списки (Lists)?
49. Какой из следующих кодов является некорректным?
50. Какие из следующих кодов не относятся к Ruby? (Выберите все правильные ответы)
51. Какие из утверждений о работе с множествами (Set) верны? (Выберите все правильные ответы)
52. Какую структуру данных в Ruby чаще всего используют для реализации множеств?
53. Какое ключевое слово в Ruby используется для создания неизменяемой строки?
54. Установите соответствие между типами данных и их применением в Ruby:
55. Установите соответствие между функциями и их значением:
56. Упорядочите команды для создания и работы с массивом в Ruby:
Принцип упорядочивания: Инициализация массива перед добавлением, перебором и удалением элементов.
57. Упорядочите команды для создания и работы с множествами в Ruby:
Принцип упорядочивания: Инициализация множества, добавление и удаление элементов, вывод результата.
58. Что выведет следующий код?
my_set = Set.new([1, 2, 3])
my_set.add(4)
my_set.delete(2)
puts my_set.to_a.inspect
59. Исправьте код так, чтобы он работал без ошибок:
Исходный код:
my_set = Set.new(1, 2, 3)
my_set.add 4
puts my_set
Выберите корректный способ исправления:
60. Что такое Ruby threads?
61. Какой из фрагментов кода является корректным?
62. Какой из следующих кодов относится к Ruby?
63. Какие утверждения о потоках в Ruby верны?
Выберите все правильные варианты:
64. Завершите утверждение:
Ruby предоставляет реализацию потоков для работы с _________ программированием.
65. Завершите утверждение:
Команда thread.join сообщает Ruby _______ поток до его завершения.
66. Упорядочите команды для вывода:
Number: 0
Number: 1
Number: 2
Number: 3
Принцип упорядочивания: Определение потока, выполнение вывода внутри потока, ожидание завершения потока.
67. Упорядочите команды для вывода:
>> 0
>> 1
>> 2
Принцип упорядочивания: Определение потока, выполнение вывода внутри потока, ожидание завершения потока.
68. Какой результат выполнения следующей программы?
threads = []
69. Что программа выведет в качестве результата выполнения?
Выберите все правильные варианты.
threads = [] 10.times do | number |
puts «Scheduling the command no. #{number}»
threads << Thread.new do
puts «Executing command no. #{number}»
end
end
threads.each(&:join)
70. Что такое параллельное присваивание (parallel assignment)?
71. Какой из следующих фрагментов кода является корректным?
Выберите все правильные варианты:
72. Какой из следующих фрагментов кода является Ruby?
73. Какие утверждения о присваивании корректны?
Выберите все правильные варианты:
74. Завершите утверждение:
Ruby поддерживает виртуальные ________ для упрощения работы с атрибутами.
75. Завершите утверждение:
Методы доступа к атрибутам в Ruby не обязаны быть простыми ________ вокруг переменных экземпляра.
76. Что выведет следующий код в Ruby?
pi = 3.14159
formatted_pi = sprintf(«%.2f», pi)
puts «Formatted PI is #{formatted_pi}»
77. Упорядочите команды для вывода переменных окружения:
Принцип упорядочивания: Инициализация переменных, вывод сообщения об инициализации, вывод значений переменных.
78. Упорядочите команды для выполнения и вывода ссылок:
Принцип упорядочивания: Инициализация списка ссылок, форматирование ссылок, вывод сообщения о форматировании, вывод отформатированных ссылок, вывод исходных ссылок.
79. Какой результат выполнения следующей программы?
links = %w[https://synergy.ru/ mailto:i@example.com localhost] puts «Links: #{links}»
80. Завершите следующий код ruby:
counter = ___
$<.each_line do | line |
puts «#{counter}. #{line}»
counter += 1
end
81. Что такое Ruby on Rails?
82. Какое утверждение является верным?
83. Какая команда является корректной?
84. Какие команды создают новый проект на Rails?
Выберите все правильные варианты:
85. Завершите утверждение:
Rails Router отправляет запросы к _______ и их методам.
86. Завершите утверждение:
Rails использует модель MVC, где V обозначает __________.
87. Установите соответствие между маршрутом и его значением:
88. Установите соответствие между командами bash и их назначением:
89. Упорядочите команды для создания модели Item в Rails:
Принцип упорядочивания: Генерация модели, выполнение миграции, открытие консоли, создание объекта модели.
90. Упорядочите шаги для запуска Rails-приложения:
Принцип упорядочивания: Создание проекта, переход в директорию проекта, запуск сервера, открытие приложения в браузере.
91. Что делает следующая команда bash?
bin/rails server
92. Какой результат выполнения команды bash?
rails generate scaffold User first_name:string last_name:string
93. Что означает аббревиатура MVC?
94. Какие утверждения о MVC верны?
95. Какие утверждения о модели (Model) верны?
Выберите все правильные ответы:
96. Какие утверждения о представлении (View) некорректны?
Выберите все правильные ответы:
97. Как называется концепция, на основе которой строится разделение на модель, представление и контроллер в Rails?
98. Какое ключевое слово используется для установки маршрута по умолчанию в Rails?
99. Установите соответствие между командами ruby и их функциями:
100. Упорядочите команды для настройки маршрута в Rails:
101. Упорядочите строки кода для создания базового контроллера:
102. Что делает следующая команда bash?
bin/rails generate model Item title:string description:text
103. Какой результат выведет следующий код?
if @items.empty?
logger.debug «No items found.»
redirect_to «/catalog»
end
104. Что означает аббревиатура REST?
105. Какое утверждение не является верным?
106. Какое утверждение является корректным?
107. Какие из утверждений некорректны?
Выберите все правильные ответы:
108. Заполните пропуск:
Вся коммуникация через REST API использует только ______ запросы.
109. Заполните пропуск:
Метод devise_for :users в Rails создаёт набор маршрутов по умолчанию для ______.
110. Установите соответствие между утверждениями и их назначением:
111. Установите соответствие между командами в Ruby on Rails и их назначением:
112. Упорядочите строки кода для определения маршрутов:
113. Упорядочите строки для работы с REST API:
114. Какой результат выполнения следующего кода?
routes = Rails.application.routes.routes.map(&:path)
puts routes.include?(«/catalog»)
115. Измените следующий код, чтобы он добавил маршрут по умолчанию:
get «/about», to: «pages#about»
get «/catalog», to: «catalog#index»
116. Что такое JWT?
117. Какое утверждение является полным?
118. Когда не следует использовать JSON Web Tokens?
119. Когда следует использовать JSON Web Tokens?
Выберите все правильные ответы:
120. Завершите предложение:
JWT используется для передачи данных между клиентом и сервером в формате ____________.
121. Завершите предложение:
Для безопасного обмена информацией с использованием JWT могут быть подписаны публичными или ____________ ключами.
122. Установите соответствие между этапами работы с JWT и их описанием:
123. Упорядочите этапы процесса валидации JWT:
124. Упорядочите шаги настройки Devise JWT в Rails:
125. Что делает следующая команда?
def authenticate_user!(options = {})
head :unauthorized unless signed_in?
end
126. Что делает следующий метод?
def require_admin_user
if current_user
if current_user.role != ‘admin’
redirect_to «/users/sign_in»
return false
end
else
redirect_to «/users/sign_in»
return false
end
true
end
127. Что такое модульное тестирование (Unit Testing)?
128. Какое утверждение неверно?
129. Что делает следующий фрагмент кода?
@category.save
130. Что делает следующий фрагмент кода?
@item = Item.create(
category_id: params[:category_id],
title: params[:title],
description: params[:description],
specs: params[:specs],
price: params[:price],
image: params[:image] )
131. Как называется процесс сохранения изменений в сущности в базе данных Rails?
132. Как называется операция удаления сущности из базы данных в Rails?
133. Соотнесите действия и команды в Rails:
134. Соотнесите действия и их описание:
135. Упорядочите шаги для создания новой сущности в Rails:
136. Упорядочите шаги для удаления сущности из базы данных в Rails:
137. Что выведет следующий код?
@category = Category.find(params[:id])
@category.destroy
puts «Category deleted!»
138. Исправьте следующий код для сохранения изменений:
@item = Item.find(params[:id])
@item.title = nil
@item.save!
139. Что делает следующий фрагмент кода?
assert_equal(5, calculator.plus(calculator.plus(a, b), b))
140. Как называется метод проверки неравенства в модульном тестировании Ruby?
141. Какой метод используется для проверки отсутствия значения (nil) в модульном тестировании Ruby?
142. Что означает аббревиатура CRUD?
143. Что делает следующий фрагмент кода?
require ‘test/unit’
144. Соотнесите утверждения и их функции в модульном тестировании:
145. Соотнесите методы и их результаты:
146. Упорядочите шаги для написания модульного теста:
147. Упорядочите шаги для проверки равенства значений:
148. Что выведет следующий код?
assert_equal(4, calculator.plus(2, 2))
149. Что нужно сделать, чтобы исправить код для проверки равенства:
assert_equal(a, b)
150. Кто предоставляет зависимости для тестирования в приложениях Rails?
151. Какие утверждения о проверках верны?
152. Какие утверждения о проверках верны?
153. Что делает следующее утверждение?
assert_no_match( regexp, string, [msg] )
154. Завершите предложение
Каждое приложение Rails имеет три окружения: _________, test и production.
155. Завершите предложение
Проверка assert_empty используется для проверки, что объект ________.
156. Соотнесите проверки с их назначением:
157. Соотнесите проверки с их валидностью:
158. Упорядочите строки для корректного теста:
159. Упорядочите строки для проверки представления:
160. Что делает следующий код?
class PostsControllerTest < ActionDispatch::IntegrationTest
test «should create post» do
assert_difference(‘Post.count’, 1) do
post posts_url, params: { post: { title: «Test», content: «Content» } }
end
end
end
161. Что делает следующий код?
class CategoriesControllerTest < ActionDispatch::IntegrationTest
test «should redirect when not logged in» do
get categories_url
assert_redirected_to login_url
end
end