Swift - LinkedIn Skill Assessments Quizzes with Answers
Swift
Q1. What is this code an example of?
let val = (Double)6
- a syntax issue
- typecasting
- assignment
- initialization
Q2. What is the error in this code?
let x = 5
guard x == 5 { return }
- The guard is missing the else.
- Nothing is wrong.
- The guard is missing a then.
- The comparison is wrong.
Q3. What is the raw/underlying type of this enum?
enum Direction {
case north, south, east, west
}
- There is none.
- String
- Any
- Int
Q4. Why is dispatchGroup used in certain situations?
- It allows multiple synchronous or asynchronous operations to run on different queues.
- It allows track and control execution of multiple operations together.
- It allows operations to wait for each other as desired.
- all of these answers.
Q5. What is this code an example of?
let val = 5
print("value is: \(val)")
- string interpolation
- string compilation
- method chaining
- string concatenation
Q6. What are the contents of vals
after this code is executed?
var vals = [10, 2]
vals.sort { (s1, s2) -> Bool in
s1 > s2
}
- [10, 2]
- [2, 10]
- nil
- This code contains an error
Q7. What does this code print?
typealias Thing = [String:Any]
var stuff: Thing
print(type(of: stuff))
- Dictionary<String, Any>
- Dictionary
- ERROR
- Thing
Q8. What is the value of y?
let x = ["1", "2"].dropFirst()
let y = x[0]
- This code contains an error
- 1
- 2
- nil
Q9. What is the value of test in this code?
var test = 1 == 1
- TRUE
- YES
- 1
- This code contains an error
Q10. What is the value of y?
var x: Int?
let y = x ?? 5
- 5
- 0
- nil
- This code contains an error
Q11. What is the type of this function?
func add(a: Int, b: Int) -> Int { return a+b }
- Int
- (Int, Int) -> Int
- Int
- Functions don’t have types.
Q12. What is the correct way to call this function?
func myFunc(_ a: Int, b: Int) -> Int {
return a + b
}
- myFunc(5, b: 6)
- myFunc(5, 6)
- myFunc(a: 5, b: 6)
- myFunc(a, b)
Q13. The Codable protocol is _?
- a combination of Encodable and Decodable
- not a true protocol ««—Possibly correct as it’s a typealias of Encodable and Decodable
- required of all classes
- automatically included in all classes
Q14. What is the type of value1 in this code?
let value1 = "\("test".count)"
- String
- Int
- null
- test.count
Q15. When a function takes a closure as a parameter, when do you want to mark is as escaping?
- when it’s executed after the function returns
- when it’s scope is undefined
- when is’s lazy loaded
- all of these answers
Q16. What’s wrong with this code?
class Person {
var name: String
var address: String
}
- Person has no initializers.
- Person has no base class.
- var name is not formatted corrrectly.
- address is a keyword.
Q17. What is the value of names after this code is executed?
let names = ["Bear", "Joe", "Clark"]
names.map { (s) -> String in
return s.uppercased()
}
- [“BEAR”, “JOE”, “CLARK”]
- [“B”, “J”, “C”]
- [“Bear”, “Joe”, “Clark”]
- This code contains an error.
Q18. What describes this line of code?
let val = 5
- a constant named val of type Int
- a variable named val of type item
- a constant named val of type Number
- a variable named val of type Int
Q19. What is the error in this code?
extension String {
var firstLetter: Character = "c" {
didSet {
print("new value")
}
}
}
- Extensions can’t add properties. // although extensions technically can’t contain stored properties
- Nothing is wrong with it.
- didSet takes a parameter.
- c is not a character.
Q20. didSet and willSet are examples of _?
- property observers
- key properties
- all of these answers
- newOld value calls
Q21. What is wrong with this code?
self.callback = {
self.attempts += 1
self.downloadFailed()
}
- Use of self inside the closure causes retain cycle.
- You cannot assign a value to closure in this manner.
- You need to define the type of closure explicitly.
- There is nothing wrong with this code.
Q22. How many values does vals have after this code is executed?
var vals = Set<String> = ["4", "5", "6"]
vals.insert("5")
- three
- four
- eight
- This code contains an error.
Q23. How can you avoid a strong reference cycle in a closure?
- Use a capture list to set class instances of weak or unowned.
- You can’t, there will always be a danger of strong reference cycles inside a closure.
- Initialize the closure as read-only.
- Declare the closure variable as lazy.
Q24. What is wrong with this code?
if let s = String.init("some string") {
print(s)
}
- This String initializer does not return an optional.
- String does not have an initializer that can take a String.
- = is not a comparison.
- Nothing is wrong with this code.
Q25. Which code snippet correctly creates a typealias closure?
- typealias CustomClosure: () -> ()
- typealias CustomClosure { () -> () }
- typealias CustomClosure -> () -> ()
- typealias CustomClosure -> () {}
Q26. How do you reference class members from within a class?
- self
- instance
- class
- this
Q27. All value types in Swift are _ under the hood?
- structs
- classes
- optionals
- generics
Q28. What is the correct way to add a value to this array?
var strings = [1, 2, 3]
- all of these answers
- strings.append(4)
- strings.insert(5, at: 1)
- strings += [5]
Q29. How many times will this loop be executed?
for i in 0...100 {
print(i)
}
- 0
- 101
- 99
- 100
Q30. What can AnyObject represent?
- an instance of any class
- an instance of function type
- all of these answers
- an instance of an optional type
Q31. What does this code print?
typealias Thing = [String:Any]
var stuff : Thing
print(type(of:stuff))
- Dictionary
- ERROR
- Thing
- Dictionary<String, Any>
Q32. What is the value of t after this code is executed?
let names = ["Larry", "Sven", "Bear"]
let t = names.enumerated().first().offset
- This code is invalid.
- This code does not compile.
- 0
- 1
- Larry
Q32. What is the value of test after this code executes?
let vt = (name: "ABC", val: 5)
let test = vt.0
- ABC
- 0
- 5
- name
Q33. What is the base class in this code?
class LSN : MMM {
}
- MMM
- LSN
- There is no base class.
- This code is invalid.
Q34. What does this code print to the console?
var userLocation: String = "Home" {
willSet(newValue) {
print("About to set userLocation to \(newValue)...")
}
didSet {
if userLocation != oldValue {
print("userLocation updated with new value!")
} else {
print("userLocation already set to that value...")
}
}
}
userLocation = "Work"
- About to set userLocation to Work… userLocation updated with new value!
- About to set userLocation to Work… userLocation already set to that value…
- About to set userLocation to Home… userLocation updated to new value!
- ERROR
Q35. What must a convenience initializer call?
- a base class convenience initializer
- either a designated or another convenience initializer
- a designated initializer
- none of these answers
Q36. Which object allows you access to specify that a block of code runs in a background thread?
- DispatchQueue.visible
- DispatchQueue.global
- errorExample need to be labeled as
throws
. - DispatchQueue.background
Q37. What is the inferred type of x?
let x = ["a", "b", "c"]
-
String[]
-
Array<String>
-
Set<String>
-
Array<Character>
Q38. What is the value of oThings
after this code is executed?
let nThings: [Any] = [1, "2", "three"]
let oThings = nThings.reduce("") { "\($0)\($1)" }
- 11212three
- 115
- 12three
- Nothing, this code is invalid.
Q39. How would you call a function that throws errors and also returns a value?
-
!try
-
try?
-
try!
-
?try
Q40. What is wrong with this code?
protocol TUI {
func add(x1 : Int, x2 : Int) -> Int {
return x1 + x2
}
}
- Protocol functions cannot have return types.
- Protocol functions cannot have implementations.
- Nothing is wrong with it.
-
add
is a reserved keyword.
Q41. In this code, what are wheels
and doors
examples of?
class Car {
var wheels: Int = 4
let doors = 4
}
- class members
- This code is invalid.
- class fields
- class properties
Q42. How do you designated a failable initializer?
- You cannot
- deinit
-
init?
- init
Q43. What is printed when this code is executed?
let dbl = Double.init("5a")
print(dbl ?? ".asString()")
- five
- 5a
-
.asString()
- 5
Q44. In the function below, what are this
and toThat
examples of?
func add(this x: Int, toThat y: Int)->{}
- none of these answers
- local terms
- argument labels
- parameters names
Q45. What is wrong with this code?
for (key, value) in [1: "one", 2: "two"]{
print(key, value)
}
- The interaction source is invalid
- The interaction variable is invalid
- There is nothing wrong with this code
- The comma in the print is misplaced
Q46. Which of these choices is associated with unit testing?
- XCTest
- all of these answers
- @testable
- XCAssert
Q47. In the code below, what is width an example of?
class Square{
var height: Int = 0
var width : Int {
return height
}
}
- This code contains error
- a closure
- a computed property
- lazy loading
Q48. What data type is this an example of?
let vals = ("val", 1)
- a dictionary
- a tuple
- an optional
- This code contains error
Q49. What is wrong with this code?
var x = 5
x = 10.0
- You cannot assign a Double to a variable of type Int
- x is undefined
- x is a constant
- x has no type
Q50. What will this code print to the console?
var items = ["a":1, "b":2, "c":"test"] as [String: Any]
items["c"] = nil
print(items["c"] as Any)
- Any
- test
- 1,2,3
- nil
Q51. What is wrong with this code?
let val = 5.0 + 10
- There is nothing wrong with this code
- val is a constant and cannot be changed
- 5.0 and 10 are different types
- There is no semicolon
Q52. How many parameters does the initializer for Test have?
struct Test{
var score: Int
var date: Date
}
- zero
- This code contains an error
- two
- Structs do not have initializers
Q53. What prints to the console when executing this code?
let x = try? String.init("test")
print(x)
- nil
- Nothing - this code contains an error
- Optional(“test”)
- test
Q54. How can you sort this array?
var vals = [1,2,3]
-
vals.sort { $0 < $1 }
-
vals.sort { (s1, s2) in s1 < s2 }
-
vals.sort(by: <)
- all of these answers
Q55. DispatchQueue.main.async takes a block that will be
- not executed
- executed in the main queue
- none of these answers
- executed on the background thread
Q56. When is deinit called?
- When a class instance needs memory
- All of these answers
- When the executable code is finished
- When a class instance is being removed from memory
Q57. How do you declare an optional String?
- String?
- Optional[String]
- [String]?
- ?String
Q58. How many times this code will be executed? —OR— How many times will this loop be performed?
for i in ["0", "1"]{
print(i)
}
- one
- two
- three
- This code does not compile
Q59. What does this code print?
let names = ["Bear", "Tony", "Svante"]
print(names[1]+"Bear")
- 1Bear
- BearBear
- TonyBear
- Nothing, this code is invalid
Q60. What is true of this code?
let name: String?
- name can hold only a string value.
- name can hold either a string or nil value.
- Optional values cannot be
let
constants. - Only non-empty string variables can be stored in name.
Q61. What is the value of val
after this code is executed?
let i = 5
let val = i * 6.0
- This code is invalid.
- 6
- 30
- 0
Q62. What does this code print?
enum Positions : Int {
case first, second, third, other
}
print (Positions.other.rawValue)
- 3
- 0
- other
- nil
Q63. What is printed to the console when this code is executed?
"t".forEach { (char) in
print(char)
}
- nil
- Nothing, since the code contains an error
- t
- zero
Q64. What prints when this code is executed?
let s1 = ["1", "2", "3"]
.filter { $0 > "0" }
.sorted { $0 > $1 }
print(s1)
- []
- [“3”, “2”, “1”]
- [321]
- [“1”, “2”, “3”]
Q65. What enumeration feature allows them to store case-specific data?
(Question does not make that much sense though. )
- associated values
- integral values
- raw values
- custom values
Q66. In the code below, AOM must be a(n)?
class AmP : MMM, AOM {
}
- class
- protocol
- enumeration
- struct
Q67. What is the value of numbers in the code below?
let numbers = [1,2,3,4,5,6].filter{ $0 % 2 == 0}
- [1,3,5]
- []
- [2,4,6]
- nil
Q68. What is the type of vals
in this code?
let vals = ["a", 1, "Hi"]
- Array(char)
- [Any]
- Array
- [Generic]
Reference: The Swift Programming Language: Language Guide: Type Casting
Q69. How can you extract val to x
in tuple vt
let vt = (name: "ABC", val: 5)
- let x = vt.1
- All of these answers
- let x = vt.val
- let (
_
, x) = vt
Reference: The Swift Programming Language: Language Guide: The Basics: Tuples
Q70. What is the type of x?
let x = try? String.init(from: decoder)
- String
- String?
- String!
- try?
Reference: The Swift Programming Language: Language Guide: Error Handling: Handling Errors
Q71. How many times is this loop executed?
let loopx = 5
repeat {
print (loopx)
} while loopx < 6
- Six
- Zero
- Five
- Infinite
Reference: The Swift Programming Language: Language Guide: Control Flow: While Loops
Q72. How many values does vals have after this code is executed?
var vals: Set<String> = ["4", "5", "6"]
vals.insert("5")
- This code contains an error.
- Eight
- Three
- Four
Reference: The Swift Programming Language: Language Guide: Collection Types: Sets
Q73. What is the base class in this code ?
class LSN: MMM{ }
- MMM
- LSN
- There is no base class.
- This code is invalid.
Hope you like this!
Keep helping and happy 😄 coding