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
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
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