LinkedIn Swift Assessment Answers 2022


Q1. What is this code an example of?

let val = (Double)6

  •  an error
  •  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> (To print this than code in question has to be typealias Thing = [String: Any])
  •  Dictionary
  •  ERROR (If code in question is really like that.)
  •  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 was 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 was to ass 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 an optional type
  •  an instance of a function type
  •  all of these answers

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 test in this code?

var test = 1 == 1

  •  TRUE
  •  1
  •  This code contains an error.
  •  YES

Q33. What is the value of y?

var x : Int?
let y = x ?? 5

  •  0
  •  nil
  •  This code contains an error.
  •  5

Q34. What is the value of y?

let x = ["1","2"].dropFirst()
let y = x[0]

  •  1
  •  nil
  •  This code contains an error.
  •  2

Q35. 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

Q36. What is the value of test after this code executes?

let vt = (name: "ABC", val: 5)
let test = vt.0

  •  ABC
  •  0
  •  5
  •  name

Q37. What is the base class in this code?

class LSN : MMM {
}

  •  MMM
  •  LSN
  •  There is no base class.
  •  This code is invalid.

Q38. 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

Q39. 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

Q40. 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

Q41. What is the inferred type of x?

let x = ["a", "b", "c"]

  •  String[]
  •  Array<String>
  •  Set<String>
  •  Array<Character>

Q42. 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.

Q43. How would you call a function that throws errors and also returns a value?

  •  !try
  •  try?
  •  try!
  •  ?try

Q44. 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.

Q45. 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

Q46. How do you designate a failable initializer?

  •  init?
  •  deinit
  •  init
  •  You can't.

Q46. How do you designated a failable initializer?

  •  You cannot
  •  deinit
  •  init?
  •  init

Q47. What is printed when this code is executed?

let dbl = Double.init("5a")
print(dbl ?? ".asString()")

  •  five
  •  5a
  •  .asString()
  •  5

Q48. 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

Q49. What is wrong with this code?

if let s = String.init("some string"){
  print (s)
}

  •  Nothing is wrong with this code
  •  = is not a comparison
  •  String does not have an initializer that can take a String
  •  This String initializer does not return an optional

Q50. 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

Q51. Which of these choices is associated with unit testing?

  •  XCTest
  •  all of these answers
  •  @testable
  •  XCAssert

Q52. 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

Q53. What data type is this an example of?

let vals = ("val", 1)

  •  a dictionary
  •  a tuple
  •  an optional
  •  This code contains error

Q54. 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

Q55. What is the type of x: let x = try?

String.init(from: decoder)

  •  String
  •  String?
  •  String!
  •  try?

Q56. 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

Q57. 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

Q58. 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

Q59. 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

Q60. 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

Q61. What is printed when this code is executed?

let dbl = Double.init("5a")
print(dbl ?? ".asString()")

  •  5a
  •  5
  •  five
  •  asString()

Q62. 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

Q63. What is the value of test after this code executes?

let vt = (name: "ABC", val: 5)
let test = vt.0
  •  ABC
  •  name
  •  5
  •  0

Q64. 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

Q65. How do you declare an optional String?

  •  String?
  •  Optional[String]
  •  [String]?
  •  ?String

Q66. Why is dispatchGroup used in certain situation?

  •  All of these answers
  •  It allows multiple synchronous or asynchronous operations to run on different values
  •  It allows operations to wait for each other as defined
  •  It allows track and control execution of multiple operations together

Q67. 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

Q68. What does this code print?

let names = ["Bear", "Tony", "Svante"]
print(names[1]+"Bear")

  •  1Bear
  •  BearBear
  •  TonyBear
  •  Nothing, this code is invalid

Q69. 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.

Q70. 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

    Post a Comment

    Previous Post Next Post