WWDC 2016: Викторина перед игрой
Второй ежегодный T.T.I.D.G. викторина здесь 🎊
Небольшое примечание - все мои будущие сообщения будут публиковаться на моем специализированном веб-сайте, и эта публикация больше не обновляется. Спасибо за чтение!
Если вы хотите быстро понять, как все это работает или с чего все началось, не стесняйтесь перейти к первой викторине за прошлый год.
Участники - раскрутите вашу заданную NSOperationQueue ⚡️
Ключевые правила
Есть три раунда, и разбивка по очкам выглядит следующим образом:
- Раунд 1 –1 балл за каждый ответ.
- Раунд 2: по 2 балла за каждый ответ.
- Раунд 3 - по 3 балла за каждый ответ.
Последний вопрос каждого раунда - это необязательный вопрос с подстановочными знаками. Сделайте все правильно, и ваша команда получит 4 балла, но пропустит это, и команда получит вычли 2 балла.
Раунд 1 - Быстрые вопросы по софтболу
Вопрос 1:
Какое ключевое слово используется для определения константы в Swift?
Вопрос 2:
Можно ли создать класс Swift без базового класса, true или false?
Вопрос 3:
Чем называется в Swift процесс запроса и вызова свойств, методов и индексов для необязательного элемента, который в настоящее время может иметь значение nil?
Вопрос 4:
Значения в Swift могут быть неявно преобразованы в другие типы, true или false?
Подстановочный знак:
Какой университет разработал и выпустил менее известный язык параллельных сценариев, также известный как Swift?
Раунд 2 - Принесите свой разумный колпак
Вопрос 1:
Как называется популярный API, поддерживающий асинхронное выполнение операций на уровне Unix системы?
Вопрос 2:
Как и другие литералы, строковые литералы в Objective-C создаются путем изменения фактического кода при компиляции, истинного или ложного?
Вопрос 3:
Следующее свойство foo могло быть изменено вне своего класса, истинно или ложно?
public class dontOverThinkIt { public private(set) var foo: String }
Вопрос 4:
В популярном сеансе WWDC 15 было заявлено, что по своей сути Swift является ______ ______ языком, хотя его можно использовать как объектно-ориентированный. Какой термин использовался для описания Свифта?
Подстановочный знак.
Каким был популярный термин для обозначения кода, написанного в Swift в результате нескольких уровней развертывания опций?
Раунд 3 - Только для опытных разработчиков
Вопрос 1:
Как называется шаблон проектирования, который широко использует платформа Foundation, который состоит из группировки ряда частных конкретных подклассов в рамках общедоступного абстрактного суперкласса?
Вопрос 2:
Как называлась менее известная техника, которая была удалена в Swift 3 и заключалась в передаче кортежа, соответствующего списку формальных параметров функции?
Вопрос 3 (проблема кода):
Учитывая следующую переменную типа UInt8, напишите код, в результате которого ее значение будет установлено на 0 (ноль), без прямого присвоения его как такового:
var box = UInt8.max // Your code print(box) //Results in 0
Вопрос 4:
В Swift 2.2, где было единственное место, где тип Bit используется в стандартной библиотеке Swift?
Подстановочный знак:
Какое было первое (и в конечном итоге принятое) предложение сообщества по языку программирования Swift?
Конец! Вы можете найти ответы прямо ниже 👇
Надеюсь, вам понравилась вторая ежегодная викторина WWDC от The Traveled iOS Developer’s Guide. Я всегда с энтузиазмом писал об этом, потому что это означает одно - множество сочных, потрясающих и новых API-интерфейсов ждут не за горами! Принесите WWDC 16! Если вы заметите неточности, не стесняйтесь кричать мне.
… Думаю, теперь единственный вопрос: статический или динамический 😝?
Ключ ответа
1 тур:
1: let
2: True
3: Необязательная цепочка
4: False
Подстановочный знак: Чикагский университет.
Раунд 2:
1: GCD, или большая централизованная отправка.
2: False, они компилируются как константы в содержащем его исполняемом файле.
3: False
4: протоколно-ориентированный язык программирования.
Подстановочный знак: пирамида гибели!
3 тур:
1: Кластеризация классов
2: Разделение кортежей.
3: Переменная box инициализируется максимальным значением, которое UInt8 может удерживать (11111111 в двоичном формате или 255). Добавление 1 в box с помощью оператора сложения переполнения выталкивает его двоичное представление поверх того, что может содержать UInt8, что означает, что оно выходит за свои границы. Оставшееся значение в пределах UInt8 после добавления переполнения равно 00000000 в двоичном формате или нулю.
Код:
//Box equals 255, which is the maximum value a UInt8 can hold var unsignedOverflow = UInt8.max box = box &+ 1 print(box) //0
4: Это использовалось как индекс для CollectionOfOne. Тип Bit будет удален в Swift 3.
Подстановочный знак: Чтобы разрешить использование большинства ключевых слов Swift в качестве метки аргумента.
Джордан Морган (Jordan Morgan) - инженер-программист iOS, который руководит Dreaming In Binary.
@ jordanmorgan10.