DevPrep

Все темы › Задачи с реальных собеседований

Счётчик с 1000 инкрементов из разных потоков: почини тремя способами

Middle PRO

Задача

Почему результат меньше 1000 и как исправить?

var counter = 0
DispatchQueue.concurrentPerform(iterations: 1000) { _ in
    counter += 1
}
print(counter)   // 987? 994? — каждый раз по-разному

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

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

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

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

Скачать DevPrep в App Store