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

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

Просмотрите все вопросы и варианты бесплатно. Правильные ответы скрыты и открываются только после получения доступа.

161 вопрос Вариант 1 Доступ 7 дней
Содержание теста

Вопросы и варианты

Без отметок и подсказок к правильным ответам

Вопрос 1

Как организован исходный код Ruby?

  1. Исходный код Ruby организован в файлы с расширением .rb, включаемые через import.
  2. Исходный код Ruby организован в файлы с расширением .rb, включаемые через require_relative.
  3. Исходный код Ruby организован в файлы с расширением .ruby, включаемые через import.
  4. Исходный код Ruby организован в файлы без расширения, включаемые через use.
Вопрос 2

Когда был создан Ruby?

  1. 10 февраля 1993 года
  2. 8 февраля 2003 года
  3. 24 февраля 1995 года
  4. 15 февраля 2017 года
Вопрос 3

Какие из примеров являются корректной интерполяцией строк в Ruby?

  1. puts "Strings: $s_quote, $d_quote, $escaped"
  2. puts "Strings: {s_quote}, {d_quote}, {escaped}"
  3. puts "Escaped string example: #{escaped}"
  4. puts "Strings: #{s_quote}, #{d_quote}, #{escaped}"
Вопрос 4

Какие имена переменных допустимы в Ruby?

  1. a
  2. a2
  3. _a
  4. 7a
  5. variable_name
Вопрос 5

"Ruby поддерживает ____________ для преобразования данных."

  1. интерполяцию
Вопрос 6

Какая структура используется в Ruby для хранения данных в формате ключ-значение?

  1. хэш
Вопрос 7

Соотнесите типы данных с их примерами в Ruby:

  1. Число
  2. Строка
  3. Логический тип
  4. Дробное число
  5. 1
  6. "1"
  7. true
  8. 1.0
Вопрос 8

Соотнесите программные языки с их конструкциями:

  1. String toWhomValue = "Olga";
  2. $to_whom_value = "Olga";
  3. to_whom_value = "Olga"
  4. const to_whom_value = "Olga";
  5. Java
  6. PHP
  7. Ruby
  8. JavaScript
Вопрос 9

Упорядочьте операторы для вывода:

  1. boolean = true
  2. boolean_2 = boolean || !boolean
  3. boolean_3 = false || boolean_2
  4. puts "Booleans: #{boolean}, #{boolean_2}, #{boolean_3}"
Вопрос 10

Упорядочьте строки для вывода:  

  1. vehicle_type = "car"
  2. vehicle_manufacturer = "Lada"
  3. puts "#{vehicle_type}: #{manufacturer}"
  4. puts "Completed: #{vehicle_type}"
Вопрос 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" 

  1. Olga learns ruby, java, and php programming languages
  2. Olga knows ruby, java, and php programming languages
  3. programming languages
  4. 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" 

  1. Добавить инициализацию переменных до использования
  2. Удалить строки с ошибками
  3. Заменить язык программирования
  4. Пропустить строки без выполнения
Вопрос 13

Как сравниваются числа на равенство в Ruby?

  1. x = y
  2. x == y
  3. x equals y
  4. x == y;
Вопрос 14

Как определяются строки в Ruby?

  1. summer => "Summer"
  2. summer == "Summer"
  3. summer := "Summer"
  4. summer = "Summer"
  5. summer = "Summer";
Вопрос 15

Что делает следующий код? puts "Test".upcase.reverse

  1. Печатает: TEST
  2. Печатает: TSTE
  3. Печатает: TSET
  4. Печатает: STET
Вопрос 16

Какие из утверждений корректны? Выберите все правильные ответы:

  1. sorted_letters = "a,b,d,c".split(",")
  2. items = "a::b::d::c".split("::")
  3. sorted_letters = split("a,b,d,c")
  4. items = "a,b,d,c".split(",")
  5. items = split("a,b,d,c", ",")
Вопрос 17

Установите соответствие между языками программирования и выражениями:

  1. has_employees ? employees["Olga"] : employees["Milos"]
  2. $employees["Olga"] ? $employees["Olga"] : $employees["Milos"]
  3. employees.get("Olga") ? employees.get("Olga") : employees.get("Milos")
  4. employees["Olga"] ? employees["Olga"] : employees["Milos"]
  5. Ruby
  6. PHP
  7. Java
  8. Ruby on Rails
Вопрос 18

Установите соответствие между командами и языками программирования

  1. $date = date_create('2023-07-25 15:15:0');
  2. date = DateTime.new(2023,7,25,12,15,0)
  3. Date date = new GregorianCalendar(2023, Calendar.JULY, 25).getTime();
  4. @date = Time.new(2023,7,25,15,15,0)
  5. PHP
  6. Ruby
  7. Java
  8. Ruby on Rails
Вопрос 19

Упорядочьте команды для корректной работы программы: Принцип упорядочивания: Хронология выполнения операций для получения результата Результат вычисления: 314.0

  1. def calculate(value)   pi = 3.14   value * pi end
  2. value = 100
  3. result = calculate(100)
  4. puts "Результат вычисления: #{result}"
Вопрос 20

Упорядочьте команды для корректной работы программы: Принцип упорядочивания: Инициализация методов и вызов в правильной последовательности для вывода Сервера работают: ["localhost", "0.0.0.0"] на портах [80, 22]

  1. def get_servers   ["localhost", "0.0.0.0"] end
  2. def get_ports   [80, 22] end
  3. servers = get_servers
  4. puts "Сервера работают: #{servers} на портах #{get_ports}"
Вопрос 21

Дополните утверждение: Ключевое слово, используемое в Ruby для обработки ошибок, называется __________.

  1. rescue
Вопрос 22

Дополните утверждение: Метод, используемый для выброса исключений в Ruby, называется __________.

  1. raise
Вопрос 23

Что выведет следующая программа? def get_server_parameters   ["127.0.0.1", 8081] end address, port = get_server_parameters puts "Адрес сервера: #{address}:#{port}"

  1. Адрес сервера: [127.0.0.1:8081]
  2. Адрес сервера: [127.0.0.1,8081]
  3. Адрес сервера: 127.0.0.1:8081
  4. Адрес сервера: ["127.0.0.1",8081]
Вопрос 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"   Выберите корректный способ исправления:

  1. Переместить инициализацию переменных перед их использованием
  2. Удалить все строки с использованием переменных до их объявления
  3. Инициализировать переменные до того, как они будут использованы (объявить переменные перед puts)
  4. Заменить переменные строковыми значениями без использования переменных
Вопрос 25

Как выбрасывать исключения в Ruby?

  1. throw exception new
  2. throw error
  3. raise error
  4. throw new error
Вопрос 26

Как получить доступ к входным аргументам в Ruby?

  1. Через глобальный массив аргументов: ARGV
  2. Через глобальную карту аргументов: ARGVS
  3. Через карту аргументов: argvs
  4. Через массив аргументов: argv
Вопрос 27

Какой из фрагментов кода является Ruby?

  1. var_dump($argv);
  2. for(int i = 0; i < args.length; i++) {     System.out.println("args[" + i + "] : "+args[i]); }
  3. puts "Arguments: #{ARGV}"
  4. dump($argv)
Вопрос 28

Какие утверждения о работе с аргументами командной строки верны? (Выберите все правильные ответы)

  1. parser = CmdParse::CommandParser.new(handle_exceptions: :no_help)
  2. parser = CmdParse::CommandParser.new
  3. parser = new CmdParse::CommandParser(handle_exceptions: :no_help)
  4. parser.add_command(CmdParse::HelpCommand.new)
  5. parser.add_command(new CmdParse::HelpCommand())
Вопрос 29

Завершите утверждение: Ruby использует глобальный массив __________ для обработки аргументов командной строки.

  1. ARGV
Вопрос 30

Завершите утверждение: Метод rescue в Ruby используется для обработки __________.

  1. исключений
Вопрос 31

Установите соответствие между командами и языком программирования:

  1. raise error
  2. throw new MyException(MESSAGES.getMyMessage());
  3. throw new MyException($message);
  4. raise "error"
  5. Ruby
  6. Java
  7. PHP
  8. Ruby on Rails
Вопрос 32

Упорядочите строки программы, чтобы она корректно обрабатывала исключения:  

  1. begin
  2. rescue
  3. ensure
  4. end
Вопрос 33

Упорядочите строки программы для корректного выполнения:

  1. begin
  2. invalid_command = "faulty"
  3. execute_or_fail(invalid_command, true)
  4. rescue
  5. puts "Command failure: #{invalid_command}"
  6. end
Вопрос 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

  1. There was an error
  2. hello
  3. hello Execution finished
  4. ERROR: hello
Вопрос 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   Выберите корректный способ исправления:

  1. def execute_or_fail(command)    puts "Error"    raise command end command = "hello" begin     execute_or_fail(command) rescue     puts "There was an error" ensure     puts "Execution finished" end
  2. def execute_or_fail(command)    raise command end command = "hello" begin     execute_or_fail(command) rescue     puts "There was an error" ensure     puts "Execution finished" end
  3. 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
  4. 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
Вопрос 36

Как создается класс в Ruby?

  1. new MyClass
  2. class MyClass.new end
  3. class MyClass end
  4. define class MyClass end
Вопрос 37

Какой из следующих фрагментов кода является валидным для создания класса?

  1. class #Command   COMMAND_PING = "ping"                         COMMAND_SCAN_PORT = "scan port"   COMMAND_SCAN_NETWORK = "scan network"   @@counter = 0 end
  2. class Command   COMMAND_PING = "ping"                         COMMAND_SCAN_PORT = "scan port"   COMMAND_SCAN_NETWORK = "scan network"   @counter = 0 end
  3. class Commands   COMMAND_PING = ""                         COMMAND_SCAN_PORT = ""   COMMAND_SCAN_NETWORK = ""   @counter = 0 end
  4. class Actions   PING = "ping"                         SCAN_PORT = "scan port"   SCAN_NETWORK = "scan network" end
Вопрос 38

Как выглядит создание объекта класса в Ruby?

  1. Command ping = new Command();
  2. final Command ping = new Command();
  3. ping = Command.new
  4. $ping = new Command();
Вопрос 39

Какие утверждения об использовании классов в Ruby верны? (Выберите все правильные ответы)

  1. class PingCommand : Command end
  2. class PingCommand inherit Command end
  3. class PingCommand < Command end
  4. class Command < BaseCommand end
  5. class Command << BaseCommand end
Вопрос 40

Какой метод вызывается при создании объекта класса?

  1. initialize
Вопрос 41

Завершите утверждение: Ruby использует символ < для указания __________.

  1. наследования
Вопрос 42

Установите соответствие между кодами и языками программирования:

  1. @Override public String feed(String... commands) { super.feed(commands); System.out.println("Commands count: " + commands.length); }
  2. public function feed(...$commands) {     $this->feed($commands);     echo "Commands count: " . count($commands); }
  3. def feed(*commands)   super(*commands)   puts "Commands count: #{commands.size}" end
  4. function feed(...commands) { console.log(`Commands count: ${commands.length}`); }
  5. Java
  6. PHP
  7. Ruby
  8. JavaScript
Вопрос 43

Установите соответствие между кодами классов и их корректностью:

  1. class Parent end
  2. class Child < Parent   def initialize(name)     @name = name   end end
  3. class Invalid-ClassName end
  4. class Vehicle < Parent   def drive     puts "Driving #{@name}"   end end
  5. Valid — базовый класс, без методов.
  6. Valid — класс корректный и функциональный.
  7. Invalid — название класса некорректное.
  8. Invalid — некорректный синтаксис определения методов.
Вопрос 44

Упорядочите строки программы для получения следующего вывода: Hello from Hello::Second Hello from Hello::First Принцип упорядочивания: Определение класса First, затем Second, вызов метода hello для Second, инициализация класса Hello.

  1. class Hello::First   def hello     puts "Hello from #{self.class}"   end end
  2. class Hello::Second   def hello     puts "Hello from #{self.class}"   end end
  3. Hello::Second.new.hello
  4. class Hello   def hello First.new.hello   end end
Вопрос 45

Упорядочите строки программы для получения следующего вывода: Executing the system tools Принцип упорядочивания: Определение модуля SystemTools, инициализация системы, подключение модуля, вызов метода execute.

  1. module SystemTools              def self.execute                puts "Executing the system tools"   end end
  2. puts "System tools are initialized"
  3. require_relative 'module_system_tools'
  4. 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")

  1. LOG :: WordProcessor :: Processing :: Hello  LOG :: WordProcessor :: Processing :: people
  2. LOG :: WordProcessor :: Processing :: Hello  LOG :: WordProcessor :: Processing :: World
  3. LOG :: WordProcessor :: Processing :: 'Hello'  LOG :: WordProcessor :: Processing :: 'people'
Вопрос 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")   Выберите корректный способ изменения кода:  

  1. module SmartLogger   protected   def log_message(message)     puts "LOG :: #{message.class} => #{message}"   end end
  2. module SmartLogger   protected   def log_message(message)     puts "LOG :: #{self.class} :: #{message.class} =>'#{message}'"   end end
  3. module SmartLogger   protected   def log_message(message)     puts "LOG :: #{self.class} :: #{message} :: #{message.class}"   end end
  4. module SmartLogger   protected   def log_message(message)     puts "LOG :: #{self.class} :: #{message.inspect}"   end end
Вопрос 48

Как в Ruby создаются списки (Lists)?

  1. В Ruby списки создаются как массивы (Arrays).
  2. Ruby не поддерживает работу со списками.
  3. В Ruby списки реализованы с помощью класса ArrayList.
  4. В Ruby списки реализованы через хэши.
Вопрос 49

Какой из следующих кодов является некорректным?

  1. addresses_list = %L[127.0.0.1 localhost 192.168.0.1]
  2. addresses_list = %w[127.0.0.1 localhost 192.168.0.1]
  3. addresses_list = %[127.0.0.1 localhost 192.168.0.1]
  4. addresses_list = %w[127.0.0.1, localhost, 192.168.0.1]
Вопрос 50

Какие из следующих кодов не относятся к Ruby? (Выберите все правильные ответы)

  1. $addresses_list = array("127.0.0.1", "localhost", "192.168.0.1");
  2. List ˂MyType˃ addressesList = new ArrayList<>(); addressesList.add("127.0.0.1");
  3. addresses_list = %w[127.0.0.1 localhost 192.168.0.1]
  4. array = ["item1", "item2"]
Вопрос 51

Какие из утверждений о работе с множествами (Set) верны? (Выберите все правильные ответы)

  1. addresses_set = Set.new(list, 1)
  2. addresses_set = new Set(list)
  3. my_set = Set.new items
  4. my_set = Set.new
  5. my_set = Set.new(items)
Вопрос 52

Какую структуру данных в Ruby чаще всего используют для реализации множеств?

  1. Set
Вопрос 53

Какое ключевое слово в Ruby используется для создания неизменяемой строки?

  1. freeze
Вопрос 54

Установите соответствие между типами данных и их применением в Ruby:

  1. Number
  2. String
  3. Symbol
  4. Boolean
  5. number = 42
  6. string = "Hello"
  7. symbol = :key
  8. boolean = true
Вопрос 55

Установите соответствие между функциями и их значением:

  1. Set.new
  2. Array.new
  3. Hash.new
  4. Queue.new
  5. Создает множество
  6. Создает массив
  7. Создает хэш
  8. Создает очередь
Вопрос 56

Упорядочите команды для создания и работы с массивом в Ruby:   Принцип упорядочивания: Инициализация массива перед добавлением, перебором и удалением элементов.  

  1. numbers = [1, 2, 3]
  2. numbers << 5
  3. numbers.each { |n| puts n }
  4. numbers.pop
Вопрос 57

Упорядочите команды для создания и работы с множествами в Ruby:   Принцип упорядочивания: Инициализация множества, добавление и удаление элементов, вывод результата.  

  1. my_set = Set.new([1, 2])
  2. my_set.add(3)
  3. my_set.delete(1)
  4. puts my_set.to_a
Вопрос 58

Что выведет следующий код? my_set = Set.new([1, 2, 3]) my_set.add(4) my_set.delete(2) puts my_set.to_a.inspect

  1. [1, 2, 3]
  2. [1, 3, 4]
  3. [1, 4, 3]
  4. [4, 3, 1]
Вопрос 59

Исправьте код так, чтобы он работал без ошибок: Исходный код: my_set = Set.new(1, 2, 3) my_set.add 4 puts my_set   Выберите корректный способ исправления:

  1. my_set = Set.new([1, 2, 3]) my_set.add(4) puts my_set
  2. my_set = Set.new(1, 2, 3) my_set.add 4 puts my_set.to_a
  3. my_set = Set.new({1, 2, 3}) my_set << 4 puts my_set
  4. my_set = Set.new my_set.merge([1, 2, 3, 4]) puts my_set
Вопрос 60

Что такое Ruby threads?

  1. Реализация сборки мусора в Ruby
  2. Реализация корутин в Ruby
  3. Реализация управления памятью
  4. Реализация модели параллельного программирования
Вопрос 61

Какой из фрагментов кода является корректным?

  1. thread = Thread.new { puts "Hello" } thread.await
  2. thread = Thread.new { puts "Hello" } thread.join
  3. thread = Thread.new { puts "Hello" } thread.waitFor
  4. t = Thread.new { } thread.join
Вопрос 62

Какой из следующих кодов относится к Ruby?

  1. Runnable runnable = () -> { System.out.println("Executing command"); }; Thread thread = new Thread(runnable);
  2. thread = Thread.new { puts "Welcome!" } thread.join
  3. val run = ThreadBuilder().run()
  4. $my = new My();  $my->start();
Вопрос 63

Какие утверждения о потоках в Ruby верны? Выберите все правильные варианты:

  1. Thread.abort_on_exception = false
  2. thread = Thread.new thread.abort_on_exception = true
  3. Thread.abort_on_exception = true
  4. thread = Thread.new thread.abort_on_exception = false
Вопрос 64

Завершите утверждение: Ruby предоставляет реализацию потоков для работы с _________ программированием.

  1. concurrent
Вопрос 65

Завершите утверждение: Команда thread.join сообщает Ruby _______ поток до его завершения.

  1. ожидать
Вопрос 66

Упорядочите команды для вывода: Number: 0  Number: 1  Number: 2  Number: 3 Принцип упорядочивания: Определение потока, выполнение вывода внутри потока, ожидание завершения потока.

  1. thread = Thread.new {
  2. 4.times do |number|
  3. puts "Number: #{number}"
  4. end
  5. }
  6. thread.join
Вопрос 67

Упорядочите команды для вывода: >> 0  >> 1  >> 2 Принцип упорядочивания: Определение потока, выполнение вывода внутри потока, ожидание завершения потока.

  1. thread = Thread.new {
  2. 3.times do |number|
  3. puts "Executing: #{number}"
  4. thread.join
  5. }
  6. end
Вопрос 68

Какой результат выполнения следующей программы? threads = []

  1. Она ничего не выведет
  2. []
  3. threads :: ready :: []
  4. threads count is 0
Вопрос 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)

  1. Scheduling the command no. 0  Scheduling the command no. 1  Scheduling the command no. 2  Executing command no. 0  Scheduling the command no. 3  Scheduling the command no. 4  Scheduling the command no. 5  Scheduling the command no. 6  Executing command no. 3  Scheduling the command no. 7  Scheduling the command no. 8  Scheduling the command no. 9  Executing command no. 7  Executing command no. 1  Executing command no. 2  Executing command no. 4  Executing command no. 6  Executing command no. 5  Executing command no. 9  Executing command no. 8
  2. Executing command no. 7  Executing command no. 1  Executing command no. 2  Executing command no. 4  Executing command no. 6  Executing command no. 5  Executing command no. 9  Executing command no. 3  Executing command no. 8
  3. Scheduling the command no. 1  Scheduling the command no. 2  Scheduling the command no. 3  Scheduling the command no. 4  Scheduling the command no. 5  Scheduling the command no. 6  Scheduling the command no. 7  Scheduling the command no. 8  Scheduling the command no. 9
  4. Scheduling and executing commands in sequential order.
Вопрос 70

Что такое параллельное присваивание (parallel assignment)?

  1. Это тип присваивания, который одновременно присваивает копии значений.
  2. Ruby не поддерживает этот тип присваивания.
  3. Это операция, которая одновременно присваивает копии значений.
  4. Это тип присваивания, который одновременно присваивает разные значения.
Вопрос 71

Какой из следующих фрагментов кода является корректным? Выберите все правильные варианты:

  1. command, address << "port_scan", "192.168.0.1"
  2. command, address <= "port_scan", "192.168.0.1"
  3. command, address = "port_scan", "192.168.0.1"
  4. command, address, empty = "scan_network", "localhost", nil
  5. command, address ||= "port_scan", "192.168.0.1"
Вопрос 72

Какой из следующих фрагментов кода является Ruby?

  1. $my = new My();  $my->start();
  2. thread = Thread.new { puts "Welcome!" } thread.join
  3. val run = ThreadBuilder().run()
  4. Runnable runnable = () -> { System.out.println("Executing command"); }; Thread thread = new Thread(runnable); Thread.start();
  5. puts "This is Ruby!"
Вопрос 73

Какие утверждения о присваивании корректны? Выберите все правильные варианты:

  1. name, address, cmd = "", "192.168.0.1", "p.scan"
  2. command, address = "port_scan", "192.168.0.1"
  3. command, address, empty = "port_scan", "192.168.0.1", ""
  4. list($command, $address, $command) = $myDataArray;
  5. command, address ||= "port_scan", "192.168.0.1"
Вопрос 74

Завершите утверждение: Ruby поддерживает виртуальные ________ для упрощения работы с атрибутами.

  1. атрибуты
Вопрос 75

Завершите утверждение: Методы доступа к атрибутам в Ruby не обязаны быть простыми ________ вокруг переменных экземпляра.

  1. обертками
Вопрос 76

Что выведет следующий код в Ruby? pi = 3.14159 formatted_pi = sprintf("%.2f", pi) puts "Formatted PI is #{formatted_pi}"

  1. Formatted PI is 3.14159
  2. Formatted PI is 3.14
  3. Formatted PI is 3
  4. Formatted PI is 3.1
Вопрос 77

Упорядочите команды для вывода переменных окружения:   Принцип упорядочивания: Инициализация переменных, вывод сообщения об инициализации, вывод значений переменных.  

  1. var_1 = ENV["MY_VAR_1"]
  2. var_2 = ENV["MY_VAR_2"]
  3. puts "Variables initialized"
  4. puts "#{var_1} #{var_2}"
Вопрос 78

Упорядочите команды для выполнения и вывода ссылок:   Принцип упорядочивания: Инициализация списка ссылок, форматирование ссылок, вывод сообщения о форматировании, вывод отформатированных ссылок, вывод исходных ссылок.  

  1. links = %w[https://synergy.ru/ mailto:i@example.com localhost]
  2. formatted_links = links.map(&:upcase)
  3. puts "Formatted links"
  4. links.each { |link| puts link }
  5. puts "Links: #{links}"
Вопрос 79

Какой результат выполнения следующей программы? links = %w[https://synergy.ru/ mailto:i@example.com localhost]  puts "Links: #{links}" 

  1. Links: ["https://synergy.ru/", "mailto:i@example.com", "localhost"]
  2. ["https://synergy.ru/", "mailto:i@example.com", "localhost"]
  3. No output
  4. Link parsing failed
Вопрос 80

Завершите следующий код ruby: counter = ___  $<.each_line do | line |    puts "#{counter}. #{line}"    counter += 1  end 

  1. 1
  2. 0
  3. nil
  4. -1
  5. Start with negative
Вопрос 81

Что такое Ruby on Rails?

  1. Ruby on Rails (сокращённо Rails) — это клиентская веб-фреймворк.
  2. Ruby on Rails (сокращённо Rails) — это безсерверный веб-фреймворк.
  3. Ruby on Rails (сокращённо Rails) — это серверное программное обеспечение IDE для веб-приложений.
  4. Ruby on Rails (сокращённо Rails) — это серверный фреймворк для веб-приложений.
Вопрос 82

Какое утверждение является верным?

  1. Rails — это фреймворк конечного автомата.
  2. Rails — это фреймворк-одиночка (singleton framework).
  3. Rails — это фреймворк "модель–представление–презентер (MVP)".
  4. Rails — это фреймворк "модель–представление–контроллер (MVC)".
Вопрос 83

Какая команда является корректной?

  1. sudo gem install rubyonrails
  2. sudo gem install ruby_rails
  3. sudo gem install rails
  4. sudo gem install rubyrails
Вопрос 84

Какие команды создают новый проект на Rails? Выберите все правильные варианты:

  1. rails create store
  2. rails new store
  3. rails create myfancystore
  4. rails new myproject
Вопрос 85

Завершите утверждение: Rails Router отправляет запросы к _______ и их методам.

  1. контроллерам
Вопрос 86

Завершите утверждение: Rails использует модель MVC, где V обозначает __________.

  1. представление
Вопрос 87

Установите соответствие между маршрутом и его значением:

  1. get "/hardware", to: "hardware#index"
  2. get "/hardware/:id", to: "hardware#item"
  3. root "hardware#index"
  4. post "/hardware", to: "hardware#create"
  5. Направляет запросы GET /hardware на действие index контроллера HardwareController.
  6. Направляет запросы GET /hardware/:id на действие item контроллера HardwareController.
  7. Объявляет действие index контроллера Hardware как точку входа в приложение.
  8. Направляет запросы POST /hardware на действие create контроллера HardwareController.
Вопрос 88

Установите соответствие между командами bash и их назначением:

  1. bin/rails generate scaffold User name:string email:string
  2. bin/rails generate model Product name:string price:decimal
  3. bin/rails generate controller Orders index show
  4. bin/rails db:migrate
  5. Создает модель, миграцию и базовые CRUD-операции для ресурса.
  6. Создает только модель и миграцию для базы данных.
  7. Создает контроллер с указанными действиями.
  8. Применяет миграции к базе данных.
Вопрос 89

Упорядочите команды для создания модели Item в Rails:   Принцип упорядочивания: Генерация модели, выполнение миграции, открытие консоли, создание объекта модели.  

  1. rails generate model Item title:string description:text
  2. rails db:migrate
  3. rails console
  4. item = Item.new(title: "New", description: "Description")
Вопрос 90

Упорядочите шаги для запуска Rails-приложения:   Принцип упорядочивания: Создание проекта, переход в директорию проекта, запуск сервера, открытие приложения в браузере.  

  1. rails new my_app
  2. cd my_app
  3. bin/rails server
  4. open http://localhost:3000
Вопрос 91

Что делает следующая команда bash?   bin/rails server

  1. Обновляет Rails до последней версии.
  2. Выполняет миграции базы данных.
  3. Запускает приложение Rails.
  4. Устанавливает зависимости проекта.
Вопрос 92

Какой результат выполнения команды bash? rails generate scaffold User first_name:string last_name:string

  1. Создаёт модель User с базовыми свойствами.
  2. Создаёт контроллер User с моделью.
  3. Создаёт модель User с полями first_name и last_name, а также контроллер и представления для CRUD операций.
  4. Ничего не делает.
Вопрос 93

Что означает аббревиатура MVC?

  1. Model View Controller.
  2. Modelling Views with Controllers.
  3. Model Versions Controller.
  4. Model View Configuration.
Вопрос 94

Какие утверждения о MVC верны?

  1. MVC делит систему на три компонента.
  2. MVC был разработан для веб-приложений.
  3. MVC применим для n-tier систем.
  4. MVC разделяет систему на два компонента.
Вопрос 95

Какие утверждения о модели (Model) верны? Выберите все правильные ответы:

  1. Модель содержит бизнес-логику.
  2. Модель не хранит состояние приложения.
  3. Модель часто связана с базой данных.
  4. Модель отображает данные в пользовательский интерфейс.
Вопрос 96

Какие утверждения о представлении (View) некорректны? Выберите все правильные ответы:

  1. View отображает данные в пользовательский интерфейс.
  2. View обрабатывает SQL-запросы.
  3. Работа представления завершается до отображения данных пользователю.
  4. Работа представления начинается до отображения данных.
Вопрос 97

Как называется концепция, на основе которой строится разделение на модель, представление и контроллер в Rails?

  1. MVC
Вопрос 98

Какое ключевое слово используется для установки маршрута по умолчанию в Rails?

  1. root
Вопрос 99

 Установите соответствие между командами ruby и их функциями:

  1. gem "logger"
  2. bin/rails g devise:install
  3. bin/rails g devise account
  4. bin/rails db:migrate
  5. Устанавливает Ruby-гем.
  6. Устанавливает Rails-расширение.
  7. Создает сущность.
  8. Применяет миграции базы данных.
Вопрос 100

Упорядочите команды для настройки маршрута в Rails:

  1. root "posts#index"
  2. resources :posts
  3. get "/posts", to: "posts#index"
  4. get "/posts/:id", to: "posts#show"
Вопрос 101

Упорядочите строки кода для создания базового контроллера:

  1. class PostsController < ApplicationController
  2. def index; end
  3. def show; end
  4. end
Вопрос 102

Что делает следующая команда bash? bin/rails generate model Item title:string description:text

  1. Создает контроллер.
  2. Создает представление.
  3. Создает модель Item с полями title и description, а также соответствующую миграцию.
  4. Запускает миграции базы данных.
Вопрос 103

Какой результат выведет следующий код? if @items.empty?   logger.debug "No items found."   redirect_to "/catalog" end

  1. Если объектов нет, произойдет редирект на "/catalog".
  2. Если объекты есть, произойдет редирект на "/catalog".
  3. Код не выполнится, так как отсутствуют данные.
  4. Логирование происходит после редиректа.
Вопрос 104

Что означает аббревиатура REST?

  1. REST — это акроним для REpresentational Solid Transfers и архитектурного стиля распределённых гипермедиа-систем.
  2. REST — это акроним для REpresentational State Transfer и архитектурного стиля распределённых гипермедиа-систем.
  3. REST — это акроним для REpresentational Status Transcoding и архитектурного стиля распределённых гипермедиа-систем.
  4. REST — это акроним для REpresentational State Transfer и стиля баз данных для non-sql систем.
Вопрос 105

Какое утверждение не является верным?

  1. Вся коммуникация через REST API использует только UDP-запросы.
  2. Вся коммуникация через REST API использует только запросы через торренты.
  3. Вся коммуникация через REST API использует только HTTP-запросы.
  4. Вся коммуникация через REST API использует только вебсокеты.
Вопрос 106

Какое утверждение является корректным?

  1. get "/catalog/item/:id", to: "catalog#item"
  2. get "/catalog/item/:id" := "catalog#item"
  3. get "/catalog/item/:id", => "catalog#item"
  4. get "/catalog/item/:id" => to: "catalog#item"
Вопрос 107

Какие из утверждений некорректны? Выберите все правильные ответы:

  1. map "/catalog/category/edit/:id", to: "catalog#category_edit"
  2. put "/catalog/category/edit/:id", to: "catalog#category_edit"
  3. post "/catalog/category/add", map_to: "catalog#category_add"
  4. post "/catalog/category/add", to: "catalog#category_add"
Вопрос 108

Заполните пропуск: Вся коммуникация через REST API использует только ______ запросы.

  1. HTTP
Вопрос 109

Заполните пропуск: Метод devise_for :users в Rails создаёт набор маршрутов по умолчанию для ______.

  1. пользователей
Вопрос 110

Установите соответствие между утверждениями и их назначением:

  1. root "catalog#index"
  2. delete "/cart/remove/:id", to: "cart#remove"
  3. get "/item", to: "item#index"
  4. post "/cart/add", to: "cart#add"
  5. определяет маршрут по умолчанию
  6. определяет маршрут для удаления
  7. определяет маршрут для получения данных
  8. определяет маршрут для добавления
Вопрос 111

Установите соответствие между командами в Ruby on Rails и их назначением:

  1. rails generate scaffold Post title:string body:text
  2. rails db:migrate
  3. rails server
  4. rails routes
  5. Создает модель, контроллер, маршруты и базовые представления для ресурса.
  6. Применяет миграции базы данных.
  7. Запускает сервер Rails.
  8. Отображает список доступных маршрутов приложения.
Вопрос 112

Упорядочите строки кода для определения маршрутов:

  1. root "home#index"
  2. resources :users
  3. get "/about", to: "pages#about"
  4. post "/feedback", to: "pages#feedback"
Вопрос 113

Упорядочите строки для работы с REST API:

  1. get "/posts", to: "posts#index"
  2. post "/posts", to: "posts#create"
  3. put "/posts/:id", to: "posts#update"
  4. delete "/posts/:id", to: "posts#destroy"
Вопрос 114

Какой результат выполнения следующего кода? routes = Rails.application.routes.routes.map(&:path) puts routes.include?("/catalog")

  1. true
  2. false
  3. Возвращает true, если маршрут "/catalog" зарегистрирован
  4. Ошибка выполнения
Вопрос 115

Измените следующий код, чтобы он добавил маршрут по умолчанию: get "/about", to: "pages#about" get "/catalog", to: "catalog#index"

  1. Добавить root "home#index"
  2. Добавить get "/", to: "home#index"
  3. Добавить root "catalog#index"
  4. Добавить root "pages#about"
Вопрос 116

Что такое JWT?

  1. JSON Web Tokens — это открытый, промышленный стандарт RFC 7519 для безопасного представления утверждений между двумя сторонами.
  2. JWT — это сокращение от Java Wide-State Transfer, архитектурный стиль для распределённых гипермедиа систем.
  3. JWT — это сокращение от REpresentational Status Transcoding, архитектурный стиль для распределённых гипермедиа систем.
  4. JSON Web Tokens — это закрытый, промышленный стандарт RFC 7539 для безопасного представления утверждений между сторонами.
Вопрос 117

Какое утверждение является полным?

  1. JWT.IO позволяет декодировать и генерировать JWT.
  2. JWT.IO позволяет генерировать и проверять JWT.
  3. JWT.IO позволяет декодировать, проверять и генерировать JWT.
  4. JWT.IO позволяет проверять и генерировать JWT.
Вопрос 118

Когда не следует использовать JSON Web Tokens?

  1. Привязка данных.
  2. Авторизация.
  3. Аутентификация.
  4. Обмен информацией.
Вопрос 119

Когда следует использовать JSON Web Tokens? Выберите все правильные ответы:

  1. Привязка данных.
  2. Авторизация.
  3. Аутентификация.
  4. Обмен информацией.
Вопрос 120

Завершите предложение: JWT используется для передачи данных между клиентом и сервером в формате ____________.

  1. JSON
Вопрос 121

Завершите предложение: Для безопасного обмена информацией с использованием JWT могут быть подписаны публичными или ____________ ключами.

  1. приватными
Вопрос 122

Установите соответствие между этапами работы с JWT и их описанием:

  1. Создание токена.
  2. Проверка токена.
  3. Передача токена между клиентом и сервером.
  4. Использование токена для доступа к защищённым ресурсам.
  5. Сервер подписывает данные с использованием секретного ключа.
  6. Сервер проверяет подлинность токена.
  7. Клиент отправляет токен в заголовках HTTP-запросов.
  8. Токен используется для получения данных, доступных только авторизованным пользователям.
Вопрос 123

Упорядочите этапы процесса валидации JWT:

  1. Декодирование токена.
  2. Подтверждение подписи токена.
  3. Проверка срока действия токена.
  4. Использование данных токена для аутентификации.
Вопрос 124

Упорядочите шаги настройки Devise JWT в Rails:

  1. Добавить гем devise-jwt в Gemfile.
  2. Выполнить bundle install для установки гема.
  3. Настроить config/initializers/devise.rb для включения JWT.
  4. Настроить ApplicationController для обработки токенов.
Вопрос 125

Что делает следующая команда? def authenticate_user!(options = {})   head :unauthorized unless signed_in? end

  1. Если пользователь авторизован, возвращает ответ unauthorized.
  2. Если пользователь не авторизован, возвращает ответ unauthorized.
  3. Возвращает ошибку 404, если пользователь не найден.
  4. Если пользователь не авторизован, возвращает ответ authorized.
Вопрос 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

  1. Проверяет, есть ли текущий пользователь, и перенаправляет его на страницу входа, если он не администратор.
  2. Удаляет текущего пользователя, если его роль не является "admin".
  3. Создаёт нового пользователя с ролью "admin".
  4. Проверяет роль текущего пользователя и перенаправляет на главную страницу, если пользователь не авторизован.
Вопрос 127

 Что такое модульное тестирование (Unit Testing)?

  1. Любой компонент, взаимодействующий с внешней базой данных, файлами или сетью, не может быть протестирован как часть модульного тестирования.
  2. Модульные тесты в первую очередь проверяют изолированные компоненты на ранних стадиях разработки продукта.
  3. Любой компонент, взаимодействующий с внешней базой данных, файлами или сетью, может быть протестирован как часть модульного тестирования.
  4. Модульное тестирование — это метод тестирования небольших частей программного приложения без использования сторонней системы.
Вопрос 128

Какое утверждение неверно?

  1. CRUD относится исключительно к веб-технологиям.
  2. CRUD является неотъемлемой частью Ruby Database Framework.
  3. CRUD — это аббревиатура, которая относится к четырем основным операциям в любом программном приложении, независимо от его типа.
  4. CRUD нельзя использовать в RESTful приложениях.
Вопрос 129

Что делает следующий фрагмент кода? @category.save

  1. Создает сущность категории.
  2. Сохраняет сущность категории в Rails.
  3. Создает Ruby-класс Category.
  4. Создает интерфейс Ruby-категории.
Вопрос 130

Что делает следующий фрагмент кода? @item = Item.create(   category_id: params[:category_id],   title: params[:title],   description: params[:description],   specs: params[:specs],   price: params[:price],   image: params[:image] )

  1. Создает сущность Item.
  2. Создает Ruby-класс Item.
  3. Создает интерфейс Ruby-класса Item.
  4. Создает запись Item в базе данных Rails с указанными параметрами.
Вопрос 131

Как называется процесс сохранения изменений в сущности в базе данных Rails?

  1. save
Вопрос 132

Как называется операция удаления сущности из базы данных в Rails?

  1. destroy
Вопрос 133

Соотнесите действия и команды в Rails:

  1. Создает новую сущность
  2. Удаляет существующую сущность
  3. Сохраняет изменения сущности
  4. Находит сущность в базе данных
  5. create
  6. destroy
  7. save
  8. find
Вопрос 134

Соотнесите действия и их описание:

  1. CRUD операции
  2. RESTful маршруты
  3. Сохранение изменений
  4. Удаление сущности
  5. Представляют основные операции в Rails
  6. Используют HTTP методы для взаимодействия
  7. Сохраняют состояние объектов
  8. Удаляют объект из базы данных
Вопрос 135

Упорядочите шаги для создания новой сущности в Rails:

  1. Определение модели
  2. Генерация миграции
  3. Выполнение миграции
  4. Создание маршрута
Вопрос 136

Упорядочите шаги для удаления сущности из базы данных в Rails:

  1. Нахождение сущности
  2. Выполнение метода destroy
  3. Проверка результата операции
  4. Обновление представления
Вопрос 137

Что выведет следующий код? @category = Category.find(params[:id])  @category.destroy  puts "Category deleted!" 

  1. Ошибка: Категория не найдена
  2. Category deleted!
  3. Никакого вывода не будет
  4. Ошибка: Метод destroy не определен
Вопрос 138

Исправьте следующий код для сохранения изменений: @item = Item.find(params[:id])  @item.title = nil  @item.save! 

  1. Добавить проверку на наличие title
  2. Установить значение title перед сохранением
  3. Удалить метод save!
  4. Изменить модель Item
Вопрос 139

Что делает следующий фрагмент кода? assert_equal(5, calculator.plus(calculator.plus(a, b), b))

  1. Проверяет разницу между значениями.
  2. Проверяет, что калькулятор работает правильно.
  3. Создает пять объектов калькулятора.
  4. Проверяет равенство значений.
Вопрос 140

Как называется метод проверки неравенства в модульном тестировании Ruby?

  1. assert_not_equal
Вопрос 141

Какой метод используется для проверки отсутствия значения (nil) в модульном тестировании Ruby?

  1. assert_nil
Вопрос 142

Что означает аббревиатура CRUD?

  1. CRUD означает «create, read, upgrade, and delete» (создание, чтение, обновление и удаление).
  2. CRUD означает «create, remove, update, and delete» (создание, удаление, обновление и удаление).
  3. CRUD означает «create, read, update, and delete» (создание, чтение, обновление и удаление).
  4. CRUD означает «construct, read, update, and delete» (конструирование, чтение, обновление и удаление).
Вопрос 143

Что делает следующий фрагмент кода?   require 'test/unit'

  1. Требует новый модуль тестирования.
  2. Требует новый тест.
  3. Это некорректное утверждение.
  4. Подключает Ruby-фреймворк для тестирования.
Вопрос 144

Соотнесите утверждения и их функции в модульном тестировании:

  1. Проверяет равенство значений.
  2. Проверяет неравенство значений.
  3. Проверяет, что метод не возвращает true.
  4. Проверяет отсутствие исключений.
  5. assert_equal
  6. assert_not_equal
  7. assert_not_send
  8. assert_nothing_thrown
Вопрос 145

Соотнесите методы и их результаты:

  1. assert_nil
  2. assert_not_nil
  3. assert_equal
  4. assert_not_equal
  5. Проверяет, что значение равно nil.
  6. Проверяет, что значение не равно nil.
  7. Проверяет равенство значений.
  8. Проверяет неравенство значений.
Вопрос 146

Упорядочите шаги для написания модульного теста:

  1. Подключение тестового фреймворка.
  2. Определение тестового класса.
  3. Написание метода тестирования.
  4. Запуск теста.
Вопрос 147

Упорядочите шаги для проверки равенства значений:

  1. Создать объект тестирования.
  2. Определить ожидаемое значение.
  3. Определить фактическое значение.
  4. Использовать метод assert_equal.
Вопрос 148

Что выведет следующий код? assert_equal(4, calculator.plus(2, 2))

  1. Ошибка: значения не равны.
  2. Тест успешно пройден.
  3. Ошибка: метод assert_equal не определен.
  4. Никакого вывода не будет.
Вопрос 149

Что нужно сделать, чтобы исправить код для проверки равенства: assert_equal(a, b)

  1. Указать сообщение об ошибке.
  2. Убедиться, что переменные a и b имеют одинаковые значения.
  3. Удалить метод assert_equal.
  4. Изменить значение переменной a.
Вопрос 150

Кто предоставляет зависимости для тестирования в приложениях Rails?

  1. Все зависимости для тестирования должны быть предоставлены пользователем.
  2. Rails не поддерживает тестирование.
  3. Мы используем только обычные Ruby unit тесты для проверки кода.
  4. Все зависимости для тестирования поставляются с фреймворком.
Вопрос 151

Какие утверждения о проверках верны?

  1. assert( test, [msg] ) проверяет, что test равен false.
  2. assert( test, [msg] ) проверяет, что test равен true.
  3. assert_same( expected, actual, [msg] ) проверяет, что expected.equal?(actual) равен false.
  4. assert_same( expected, actual, [msg] ) проверяет, что expected.equal?(actual) равен true.
Вопрос 152

Какие утверждения о проверках верны?

  1. assert_empty( obj, [msg] ) проверяет, что obj является пустым.
  2. assert_not_same( expected, actual, [msg] ) проверяет, что expected.equal?(actual) равен true.
  3. assert_not_same( expected, actual, [msg] ) проверяет, что expected.equal?(actual) равен equal.
  4. assert_not_same( expected, actual, [msg] ) проверяет, что expected.equal?(actual) равен false.
Вопрос 153

Что делает следующее утверждение? assert_no_match( regexp, string, [msg] )

  1. Проверяет разницу между значениями.
  2. Проверяет, что строка не соответствует регулярному выражению.
  3. Проверяет, что строка соответствует регулярному выражению.
  4. Проверяет, что строка соответствует значению.
Вопрос 154

Завершите предложение Каждое приложение Rails имеет три окружения: _________, test и production.

  1. development
Вопрос 155

Завершите предложение Проверка assert_empty используется для проверки, что объект ________.

  1. пустой
Вопрос 156

Соотнесите проверки с их назначением:

  1. assert_not(category.valid?)
  2. assert_response :success
  3. assert_difference 'Post.count', +1
  4. assert_no_difference 'Comment.count'
  5. Проверяет, что объект не является валидным.
  6. Проверяет успешный HTTP-ответ.
  7. Проверяет увеличение счетчика записей на 1.
  8. Проверяет отсутствие изменений в количестве записей.
Вопрос 157

Соотнесите проверки с их валидностью:

  1. assert_select "h1", "Welcome!"
  2. assert_nil(category.name)
  3. assert_redirected_to category_path(category)
  4. assert_match /Welcome/, response.body
  5. Проверяет, что элемент с тегом h1 содержит текст "Welcome!".
  6. Проверяет, что значение переменной равно nil.
  7. Проверяет, что запрос перенаправляет на указанный маршрут.
  8. Проверяет, что тело ответа содержит текст, соответствующий регулярному выражению.
Вопрос 158

Упорядочите строки для корректного теста:

  1. test "получение каталога" do
  2.  get '/catalog'
  3. assert_response :success
  4. end
Вопрос 159

Упорядочите строки для проверки представления:

  1. test "проверка заголовка страницы" do
  2. visit "/items"
  3. assert_selector "h1", text: "Товары"
  4. end
Вопрос 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

  1. Создает запись и проверяет, что количество записей увеличилось на 1.
  2. Проверяет, что запись не создана.
  3. Проверяет, что запрос возвращает успешный ответ.
  4. Проверяет, что запись удалена.
Вопрос 161

Что делает следующий код? class CategoriesControllerTest < ActionDispatch::IntegrationTest   test "should redirect when not logged in" do     get categories_url     assert_redirected_to login_url   end end

  1. Проверяет, что запрос перенаправляется на страницу входа, если пользователь не авторизован.
  2. Проверяет, что запрос возвращает успешный HTTP-ответ.
  3. Проверяет, что создается новая категория.
  4. Проверяет, что количество категорий увеличилось.