iOS Developer Interview
We all know interviews can be stressful. You want to recruit someone for your company who will fit well into your team, and you don't have much time to get to know that person. You must know what to ask and how to behave. Do not let the other person feel uncomfortable, as this can lead to judging someone wrong and miss out on the opportunity to find a good developer.
The iOS interview is conceptually similar to other interviews for software engineering roles, but differs when it comes to specifics around implementation and frameworks. The interview can be divided into several sections. Each section is very important and has a specific purpose.
- acquaintance
- programming language and SDK
- take a closer look
Acquaintance
The main goal of this section is to break the ice and check how well the candidate matches the submitted resume.
At this section, you can ask the following questions:
- tell me about yourself
Goal: to understand what the candidate was doing, what he is doing now and what would be interesting to do in the future
- last job
Goal: to understand what position the candidate occupied, what tasks he was solving
- technology stack
Goal: to understand how deeply the candidate understands the technologies that he uses in his daily work.
- testing
Goal: to understand what testing tools the candidate is familiar with and what they will apply in practice
Programming language and SDK
The main goal of this section is to test the candidate's knowledge of the programming language and SDK. And also to understand how deeply the candidate is familiar with the SDK and his interest in it.
At this section, you can ask the following questions:
- value vs reference type
- strong vs weak
- convenience vs required int
- concurrency (GCD, Operation, OperationQueue)
- protocol oriented programming (POP)
- responder chain (practical use of hitTest)
- UIViewController Lifecycle (practical use)
- UIApplication Lifecycle (practical use)
- Core Data
- remote notifications
- location manager
- deep link vs universal link
- localization
- file system
- CI/CD
- git
Take a closer look
The main goal of this section is to understand if the person is right for your team. Understand what is good and what is bad for a candidate. Are you on the same page?. Be careful this section is highly subjective.
At this section, you can ask the following questions:
- SOLID principles
- Design patterns
- Describe the principles of good architecture