DevPrep

All topics › What does it print? Interview puzzles

What's guaranteed in the output order? (serial vs concurrent)

Middle PRO

Task

What is guaranteed about the output order of each snippet, and what is not?

let serial = DispatchQueue(label: "serial")
serial.async { print("A") }
serial.async { print("B") }

let conc = DispatchQueue(label: "conc", attributes: .concurrent)
conc.async { print("1") }
conc.async { print("2") }

The rest of this answer, with code and interview follow-ups, is in the DevPrep app.

Read the full answer in DevPrep

Practice this before your interview

DevPrep turns these answers into one-minute challenges: what does this code print, find the bug, mock interviews. One challenge a day.

Get DevPrep on the App Store