What companies have done wrong on technical interview for hiring an iOS developer?
▶︎ Many companies bet their new hire on a single question when it comes to technical interview. some questions I heard might look like. ✔️ "how to find a user location"? ✔️ "how do you use NSUserDefault"? ✔️ "How do you parse JSON data"? ✔️ "Why do you want to use GCD vs NSOperation"? ✔️ "Explain how Post Notification work"?
▶︎ If you get the question right, You are lucky to get a ticket to visiting their compus. I don't know how happy they are for those companies who use this type of hiring. Many of them are internet giants. I asked feedbacks from people I knew from those companies. Most of them told me that they were not quite satisfied the new hires they just recruited.
▶︎ Now, let's take a look what wrong with this type of hiring? If a developer happen to the question but nothing else. yeah, in most cases, this might be the case. what about for the developers who do have lots of experiences on iOS except the question you were asking. You wipe them out, right?
▶︎ No experiences on a MapKit, does not mean they couldn't do the job after few days of studying, right? If you ask a question on iOS 9 while apple just released it few days ago, probably no one can get the question, Am I right?
▶︎ So, what is so important to judge the skillset of iOS developers? Is it knowledge of specific API of iOS library or the knowledge on the fundamental of programming language itself?
▶︎ Base on my experiences, if you can answer following questions. You deserve to have at least a Senior Title.
1. What is design patten for iOS? 2. What is category and When do you use it? 3. What is a instance method and a class method, How do you call each method and when do you use which? 4. How do you pass data across multiple classes? 5. What is a lazy instantiation and when do you use it? 6. What is getter and setter, when do you want to use custom getter and setter? 7. How to define a custom delegate and when to use it? 8. How do you make an app work across all iOS devices? (except Apple Watch and AppleTV). 9. How does memory management work in iOS, when to use it and how to use it? 10. How do you debugging your code? 11. What techniques do you use to handle expensive network call and how?
âś… Update
▶︎ Again, those questions aren't really difficult. it's more like reflection of being a developer have to dealing with something everyday. if he/she knew all of these and use them in a right way and in a right place. you never have to worry about his/her capabilities of doing some specific job.
â–¶ in contract, if a developer knew all the concepts but never use them or use them in a wrong way or in a wrong place. What would happen to your app? buggy, sluggish, messy, hard to read and maintained.
â–¶ if he/she has a great foundation in general programming. Any specific API can be learned pretty quickly.
â–¶ I have joined some groups on Linkedin and Facebook. I see most of answers were linked out to third party stuffs. This made me thinking. do they really have ability to write some code on their own? "Do not inventing a wheel" and "saving time" as their greater excuse of their incapabilities and the bad habits.
â–¶ copy & paste type of developers are all over the facebook and Linkedin. So, you really want to hire someone that can actually code.
â–¶ Debugging
There are so many type of bugs while come to iOS Developing. just to name few. UI bugs, Memory leaks, random crashes, Performance issues, battery, Logic, type, Syntax, compile and dynamic runtime errors. most tough bugs are dynamic.
if the bugs can be seen by eyes. This developer probably have no idea what he is doing in this particular area. in my opinion, finding bugs on whiteboard is not important. it doesn't prove anything since it is too obvious. the most important things for developers to know is the way to finding each type of bugs.
Most posting I see from developers. they have little or no knowledge in debugging area. that's why they are always seeking helps from others.















