How are weak references implemented in Swift?
Essence
weak does not bump the strong count, so it never extends the object's life and must be Optional. The key question is how the runtime knows the object died and how it reports that.
The rest of this answer, with code and interview follow-ups, is in the DevPrep app.
Read the full answer in DevPrep