Тест с ответами: “Swift”

1. Какие числа выведет этот код:
for i in 1…7 {
if i % 3 == 0 {
continue
}
print (“\(i)”)
}
а) 1, 2, 4, 5, 7 +
б) 1, 2, 3, 4, 5, 7
в) 1, 2, 4, 5, 6, 7

2. Где правильно создан массив со строками:
а) var words = [](String)
б) var words = [String]() +
в) var words : String = ()

3. Где правильно создана переменная:
а) x = 2.56
б) var x = 2.56 : Float
в) var x : Float = 2.56 +

4. Какой результат будет помещен в переменную result:
var a = 56, b = 34
var someVal : Bool = false
var result : String = (a < 4) && (b == 34) || (!someVal) && a == 56
? “Сработало” : “Не сработало”
а) Сработало +
б) Не сработало
в) Здесь ошибка в коде

5. Чем отличаются операторы break и continue:
а) Break – пропускает итерацию, continue – выходит из цикла
б) У них нет никакой разницы
в) Continue – пропускает итерацию, break – выходит из цикла +

6. Какой результат будет выведен:
var floor : Int = 3
switch floor {
case 1:
print (“Первый этаж”)
case 2:
print (“Спорт зал”)
case 3:
print (“Жилищный этаж”)
fallthrough
case 4:
print (“Буфет”)
default:
print (“Крыша”)
}
а) Спорт зал
б) “Жилищный этаж” и “Буфет” +
в) Крыша

7. Какой результат покажет эта проверка:
Код:
var a = 56, b = 34
var someVal : Bool = false
if ((a > 5) || (b <= 18)) || someVal {
print(“Сработало”)
} else {
print(“Не сработало”)
}
а) Сработало
б) Не сработало
в) Выдаст ошибку +

8. Что покажет этот код:
var bool_var : Bool = false
repeat {
print (“Переменная равна – \(bool_var)”)
} while (bool_var == true)
а) Будет выведено – “Переменная равна – false” +
б) Ничего не покажет
в) В коде есть ошибка и ничего не сработает

9. Где правильно выведен текст:
Переменная text:
var text = “Hello, playground”
а) print(text)
б) print(“(text)”)
в) print(“\(text)”) +

10. Сколько циклов существует в Swift:
а) 4
б) 3 +
в) 2

11. Где неправильно добавляются элементы в массив:
var digits = [Float]():
а) digits.append(24.5)
б) digits += [8.23, 5, 2.96]
в) Все варианты верные +

12. Где неправильно добавляются элементы в массив:
var digits = [Float]()
а) digits.insert (9.4, at: 1)
б) Все варианты верные +
в) digits[0] = 0.5

13. Что можно создавать на Swift:
а) Игры на телефоны (iPhone)
б) Приложения на телефоны (iPhone)
в) Все варианты верные +

14. Что можно создавать на Swift:
а) Игры для компьютеров (Mac)
б) ПО для компьютеров (Mac)
в) Все варианты верные +

15. Какая библиотека используется для создания игр:
а) GameplayKit +
б) Не надо дополнительной библиотеки
в) UIKit

16. Какая библиотека используется для создания игр:
а) Не надо дополнительной библиотеки
б) SpriteKit +
в) UIKit

17. Какая программа используется для Swift:
а) Любая IDE подойдет
б) Visual Studio
в) Xcode +

18. Какая библиотека нужна для создания пользовательского интерфейса:
а) SpriteKit
б) UIKit +
в) GameplayKit

19. Что позволяет optional:
а) optional позволяет трем переменным любого типа представить ситуацию “отсутствие значения”
б) optional позволяет переменной только одного типа представить ситуацию “отсутствие значения”
в) optional позволяет переменной любого типа представить ситуацию “отсутствие значения” +

20. Коротко перечислите основные отличия между structure и class:
а) Структуры поддерживают наследование, а классы – нет
б) Классы поддерживают наследование, а структуры – нет +
в) Нет верного ответа

21. Коротко перечислите основные отличия между structure и class:
а) Классы – ссылочный тип, структуры – тип-значение +
б) Структуры – ссылочный тип, классы – тип-значение
в) Нет верного ответа

22. Что устраняют generics:
а) проблему вывода данных
б) проблему дублирования кода +
в) проблему ввода

23. Какими способами можно развернуть optional:
var x : String? = “Test”
а) Принудительное развёртывание (forced unwrapping)
б) Неявное развертывание при объявлении переменной
в) Оба варианта верны
г) Нет верного ответа

24. Какими способами можно развернуть optional:
var x : String? = “Test”
а) Optional binding
б) Optional chaining
в) Оба варианта верны
г) Нет верного ответа

25. Можно ли добавить stored property к типу, используя extension:
а) Да
б) Да, в некоторых случаях
в) Нет, это невозможно +

26. Тип, который определяет набросок методов, свойств и т.д.:
а) Перемнная в Swift
б) Протокол в Swift +
в) Константа в Swift

27. Замыкания – это такой тип:
а) Ссылочный +
б) Повторный
в) Обычный

28. Циклические ссылки происходят, когда столько экземпляров содержат сильную ссылку друг на друга, что приводит к утечке памяти из-за того, что ни один из этих экземпляров не может быть освобождён:
а) четыре
б) три
в) два +

29. Открытый мультипарадигмальный компилируемый язык программирования общего назначения:
а) Swift +
б) Perl
в) Scala

30. Разработка текущего варианта языка Swift началась в:
а) 2000 году
б) 2010 году +
в) 2050 году