NEW! Master Swift design patterns with my latest book! >>

Question: How would you explain delegates to a new Swift developer?

Suggested approach: Delegation allows you to have one object act in place of another, for example your view controller might act as the data source for a table. The delegate pattern is huge in iOS, so try to pick a small, specific example such as UITableViewDelegate – something you can dissect from memory.

Important notes:

  • There are over 100 interview questions in the system. Once you've read the question and come up with a suitable answer, try reading my suggested approach below.
  • To see another question just refresh the page; a new question is chosen every second.
  • 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. The handful that are harder are specifically marked – the majority are suitable for junior to intermediate developers.
  • 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 test instead – it has three difficulty levels.
  • For a whole series of coding challenges, I wrote the perfect book for you: Swift Coding Challenges.
Click here to visit the Hacking with Swift store >>