I am curious from the perspective of the interviewee.

For example, in addition to iOS specific subject matters such as manipulating views, delegation/protocols, etc, should one be also expected to answer questions about general CS topics like heaps, hash tables, binary search, merge sort, Big O time/space and etc?


  • Voting to close as company-specific: there is no global "iOS developer interview". Some companies will want deep knowledge of algorithms, some will care a lot less. Jan 24, 2017 at 22:39
  • And for most companies, it depends in part on precisely what they need this development position to work on.
    – keshlam
    Jan 24, 2017 at 23:28
  • Voting to close, regardless of the technology, different companies have different questions they will ask during interviews.
    – cdkMoose
    Jan 24, 2017 at 23:36
  • 4
    Just because they ask, does not mean they expect you to know it. For example, suppose they ask the time complexity of <insert algorithm here> which you don't know. They might be asking to see if you are the type that is going to admit 'I don't know' gracefully or not.
    – Brandin
    Jan 25, 2017 at 0:18
  • Hey all - I appreciate the feedback. I should have restated my question as-such: I curious about the general landscape of what is asked in iOS developer interviews, including whether proficiency questions about general CS is covered. There definitely isn't any sort of global "developer interview" - all companies are different in their own regard.
    – daspianist
    Jan 25, 2017 at 5:00

3 Answers 3


Nobody sane will ask you about hash tables or binary search - if they are technical, they will ask about GCD vs operation queues, about blocks or closures and how to handle async operations, about dictionaries, Swift and optionals, http vs. https, localisation. Less technical, if you can handle in-app purchases and subscriptions, whether you know Git, Jira, Pods, and so on. Computer science? No.

  • Thanks for the insight! This is very helpful in terms of understanding the general landscape of the topics covered in situations such as the interview.
    – daspianist
    Jan 25, 2017 at 4:57
  • 1
    I've interviewed people for iOS roles and one of my questions has sometimes been along the lines of "Broadly speaking, how does a hashtable work?".
    – J Bramble
    Jan 25, 2017 at 9:27

Some companies will put you in front of a whiteboard and ask detailed technical questions like the ones you listed. Sometimes this is to see if you know your stuff, and sometimes it's just to evaluate how you handle yourself in technical discussions under pressure.

Other companies will ask more general technical questions, like "how would you go about storing and displaying a list with over 1000 entries?" They aren't interested so much in implementations of sort algorithms, but rather in hearing how you think and solve problems.

In my experience the latter is much more common than the former. In my opinion, the latter is also much more valuable than the former.

It's not unreasonable to call/email your point of contact with the company and ask what to expect from the interview in terms of technical depth. In general, though, companies do not expect you to prove that you know very detailed information that most employees would not know off-hand.

  • 1
    I was once the interviewer where we had given the candidate a very similar problem to what you described. In his solution he decided to implement his own sorting algorithm, while noting that he wasn't sure how good it was. The only thing I could think was "Then why didn't you just use the 'sort' in the standard library and move on?" I don't need a developer that knows how to write 'sort', I need one that can think through new and interesting problems. I hope most employers work the same way.
    – Seth R
    Jan 26, 2017 at 6:08

There's not a standard set of questions that the community has agreed to ask in a particular field such as iOS, Windows, Linux or Web development. A company will ask you whatever they feel is necessary to determine if your personality and skills are the correct fit for the position and company.

Perhaps they want to see if you have a good foundation in computer science because they value that in their culture or occasionally work on projects where high optimization is important. If everyone on the team has a degree and enjoys wine tasting for example, it might be beneficial to hire someone similar.

Not the answer you're looking for? Browse other questions tagged .