DevPrep

Все темы › Что выведет? Головоломки с собеседований

weak var person = Person(): что напечатает?

Middle PRO

Задача

class Person {
    var name = "Bill"

    func sayHello() {
        doAction { [weak self] in
            print("Hello my name is \(self?.name)")
        }
    }

    private func doAction(_ closure: @escaping () -> Void) {
        DispatchQueue.main.asyncAfter(deadline: .now() + 1) { closure() }
    }

    deinit { print("Person deiniting") }
}

weak var person: Person? = Person()
person?.sayHello()
person = nil

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store