Multi-reader single-writer queue
You want a property that several threads can read at the same time while writes happen one at a time. Back in the Objective-C days there was a pattern of dispatch_sync in the getter and dispatch_barrier_async in the setter, and the interviewer asks: "If the getter is sync, that's synchronous, so how can several reads happen at once?" How would you explain that?