WWDC 2016: The Pregame Quiz
source link: https://www.swiftjectivec.com/wwdc-2016-the-pregame-quiz/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
WWDC 2016: The Pregame Quiz
Written by Jordan Morgan • Jun 7th, 2016The Second Annual T.T.I.D.G. quiz is here 🎊
If you’d like a quick primer on how this all works or how it got started, feel free to pop over to the first quiz from last year.
Participants — spin up your given NSOperationQueue ⚡️
Ground Rules
There are three rounds, and the point break down is as follows:
- Round 1 –1 point each answer
- Round 2 - 2 points each answer
- Round 3 - 3 points each answer
The last question of each round is an optional wildcard question. Get it right, and your team gets 4 points, _but_miss it and the team will be deducted 2 points.
Round 1 — Swift Softball Questions
Question 1:
Which keyword is used to define a constant in Swift?
Question 2:
A Swift class can be created without a base class, true or false?
Question 3:
The process for querying and calling properties, methods, and subscripts on an optional that might currently be nil is called what in Swift?
Question 4:
Values in Swift can be implicitly converted to other types, true or false?
Wildcard:
Which University developed and released the lesser know parallel scripting language also known as Swift?
Round 2 — Bring Your Thinking Cap
Question 1:
What’s the name of the popular API that supports the asynchronous execution of operations at the Unix level of the system?
Question 2:
Like other literals, String literals in Objective-C are created by changing the actual code upon compilation, true or false?
Question 3:
The following property foo could be mutated outside of its class, true or false?
public class dontOverThinkIt
{
public private(set) var foo: String
}
Question 4:
In a popular WWDC 15 session, it was declared that at its heart, Swift is a __ __ language even though it can be used as an object oriented one. What was the term used to describe Swift?
Wildcard:
What was the popular term for code written as a result of several layers of unwrapping optionals in Swift?
Round 3 — Senior Developers Only
Question 1:
What’s the name of the design pattern that the Foundation framework uses extensively which consists of grouping a number of private concrete subclasses under a public abstract superclass?
Question 2:
What was the name of the lesser known technique that’s being removed in Swift 3 which consisted of passing in a tuple matching a function’s formal parameter list?
Question 3 (code challenge):
Given the following variable of type UInt8, write code that would result in its value being set to 0 (zero) without directly assigning it as such:
var box = UInt8.max
// Your code
print(box) //Results in 0
Question 4:
As of Swift 2.2, where was the one, and only, place where the Bit type is used in the Swift standard library?
Wildcard: What was the first (and eventually accepted) proposal for the Swift programming language submitted from the community?
Answer Key
Round 1:
- Optional Chaining
- False
- Wildcard: The University of Chicago.
Round 2:
- G.C.D., or grand central dispatch.
- False, they are compiled as constants in its containing executable.
- False
- A protocol oriented programming language.
- Wildcard: The pyramid of doom!
Round 3:
- Class Clustering
- Tuple splatting.
- The variable box is initialized with the max value a UInt8 can hold (11111111 in binary, or 255). Adding 1 to box using the overflow addition operator pushes its binary representation over what a UInt8 can hold, which means that it overflows beyond its bounds. The remaining value within the bounds of UInt8 after the overflow addition is 00000000 in binary, or zero:
//Box equals 255, which is the maximum value a UInt8 can hold var unsignedOverflow = UInt8.max box = box &+ 1 print(box) //0
- It was used as the index for
CollectionOfOne
. The Bit type will be removed in Swift 3. - Wildcard: To allow most Swift keywords to be used as an argument label.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK