FREE TRIAL: Accelerate your app development career with Hacking with Swift+! >>

iOS Developer Interview Questions

What is the difference between an escaping closure and a non-escaping closure?

Suggested approach: This is an advanced language question and comes down to one thing: if you pass a closure as a function parameter and that closure might be called after the function has returned (e.g. after a delay), it must be marked as escaping.

For bonus points, talk about why Swift uses non-escaping closures by default – they remove a small performance hit caused by Swift needing to keep escaping closures alive in memory after the function finishes.

  Estimated difficulty: Intermediate

Important notes

  • There are over 150 interview questions in the system. Once you've read the question and come up with a suitable answer, try reading my suggested approach and see if it helps you add more detail.
  • These questions are not designed to be hard; a good interviewer is more interested in generating discussion that lets your ability and interests shine through.
  • If you answer a question with "yes" or "no" you've missed the point – interviewers prefer you to provide reasoning, explanation, or detail, so try to elaborate with examples!
  • If you're looking for detailed technical questions about the language, you should try my Swift tests instead – there are multiple challenges that will work your brain hard.
  • For a whole series of coding challenges, I wrote the perfect book for you: Swift Coding Challenges.

Related questions

See the full list of iOS interview questions

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.