C:“I’ve read on StackOverflow that is a well-known and adopted best practice.”

I:“Can you write an init method for this class?”

C:“Argh, I don’t remember the syntax, I usually drag & drop it from the code snippets sidebar in Xcode”

I:“Tell me about an architecture you implemented and that you are proud of.”

C:“[…] I’ve used a Singleton for fetching the data from the JSON API, parsing it, storing the objects in CoreData but also in a SQLite store with FMDB and in the User Defaults. It was good because the logic was centralized in one place.

I:“Tell me about the MVC pattern.”

C:“Ah yes, the Modal View Controller…”

I:“Tell me about MVVM.”

C:“Mmm, never heard of it. What is it? Model View Virtual Machine?”

I:“What are the property qualifiers that define the memory management behaviour?”

C:“[…] unsafe_retained”

I:“What’s the main problem with ARC?”

C:“Apple will reject your app if you use it.”

I:“Have you ever used dependency injection?”

C:“I tend not to use too many third-party components.”

I:“What’s your approach to unit testing?”

C:“In my current company, we do them constantly: we have dedicated people for this manual testing.”

I:“Please name and describe the design patterns you use in your projects.”

C:“[…] I use the categories and the extensions.”

I:“Can you give an overview of the terminology used in Core Data?”

C:“[…] , and then we have the concurrent NSManagedContext […]”

I:“Please describe ARC.”

C:“ARC is the garbage collector we have on iOS.”

I:“What’s the swift language feature you most appreciated so far?”

C:“I loved the 3D Touch!”

I:“Is a block an object?”

C:“What do you mean by object?”

I:“How would you abstract this part of code so that it can be reused in future?”

C:“We should use branches in git”

I:“Could you describe the behavior of objc_msgSend?”

C:“I’m not very fluent with Java.”

I:“What’s the complexity of this algorithm?”

C:“It’s pretty complex for sure!”

I:“Delegation is a common pattern on iOS and historically well-known, can you give me an example?”

C:“It is known that delegation is bad because it creates too much boilerplate and it should be avoided.”

I:“When are the objects deallocated?”

C:“When I call the dealloc method.”

I:“Why do we use the * for the objects in Objective-C?”

C:“:no_mouth: …objects?”

I:“You mistyped, you wrote "NSInteger *” and now there’s an error. Can you explain why?”

C:“Oh, it happens sometimes, I think the compiler broke again.”

I:“Have you ever contributed to open source projects?”

C:“[…] I often create Push Requests on projects on Github […]”

I:“Describe yourself using JSON”

C:“JSON is a format for blah blah […]”

I:“Do you know how autolayout works under the hood?”

C:“I think it draws the views applying animations when rotating the device.”