Making News Feed nearly 50% faster on iOS
code.facebook.com
code.facebook.com
In my own anecdote, we had to show a list of autocompletion items - simple enough. Read XML, write a few hundred entries to a Core Data storage - and this list was relatively static, updated only once a week.
A week after release, we got crash reports - the XML read and store in CoreData was still running while people were already accessing the autocomplete list. It took (IIRC) 10 - 15 seconds to run (on an old iPhone 3GS), which was far too long from any standpoint.
So we just tossed CoreData, stored the list as a simple in-memory list, and made the autocomplete match search a very naive iteration-based search. Ten times faster, if not more.
TL;DR I would avoid CoreData, unless it's relatively static and non-time-critical data. And even then I'd look for alternatives first.
This pretty much seems to be the aim of the (non-Apple) http://realm.io/
Facebook's implementation probably ended up looking somewhat similar.
KISS - Keep it simple, stupid
PONSO - Plain ol NSObject
A more likely case to the one you're describing would be someone suggesting implementing a search box with an O(N) search through an array (and offering no alternatives), and then being shown out the door.
Technical interviews are all about understanding how you approach problems, what kinds of solutions you're comfortable with, and how flexible you can be in the face of the types of constraints we encounter in our day to day jobs. So yes, someone who only knows one solution, and a non-standrd one at that, isn't likely to do well. But someone who knows the "rules" (aka the standard patterns) and can make a well-reasoned argument for breaking them in a specific situation is exactly the kind of engineer I'm looking for.
The existence and popularity of libs like Realm is proof that not only is the community not married to the notion of Core Data, but there is a lot of noise being made in alternative data model layers.
If you are shown the door for suggesting a KISS solution and avoiding a buttload of dependencies and performance hits, consider it a bullet dodged, since odds are those people are terrible.
No wonder I'm terrible at interviews.