iOS Technical Interview Preparation

UPDATE #2: If you want some extra help preparing and learning more about Swift, let me teach you: http://strawberryswift.com/

UPDATE: I’ve been hired at Intrepid as an iOS dev! The following info certainly helped.

It’s time to start the job search. It‘s fueling a variety of emotions, ranging from anxiety and dread to excitement and confidence. But I believe diligent preparation will calm my nerves and provide a sense of stability.

Last night I had a wonderful mock tech interview and learned a lot of valuable information. So allow me to share:

Build Your Story

You’ll be asked to talk about yourself and how you got in to programming. Do your best to weave a narrative that reinforces, in a positive light, how you got here today and why you would be a great fit for the job.

Know Your Workflow

The interviewer might want to know what your day is like when working on a project. Be able to explain how you go about it, what you use (Git/Github), and also be ready to talk about some libraries you use (Masonry/Parse/AFNetworking/etc).

What Are Your Strengths?

This one came up during a speed interviewing process I went through. They asked, “What are your strengths in iOS?”. Honestly, it caught me off guard. I was able to scramble 3 ideas that came to mind. But you should take a moment to think how you would answer that.

Programming Questions

You will be asked to solve some sort of programming problem, or even several. Don’t get scared when you don’t know the answer right off the bat. Don’t freeze up and say “I don’t know”. And do not make assumptions on the question. But DO ask questions and ask for clarity. This won’t reflect poorly on you.

The most important part at this point is to start verbally explaining what you’re thinking. Let them hear your logic. This will help you and them. They may even offer hints because they don’t want you spending the time going down a wrong road.

You probably won’t answer the question perfectly. That’s fine. Verbalize your thoughts and attempt to forge a logical path to the answer.

Algorithms

Yep, you’ll face these. Best way to prepare is to practice. Here are links:

https://www.topcoder.com/community/data-science/data-science-tutorials/

http://geeksquiz.com/commonly-asked-algorithm-interview-questions-set-1/

http://www.careercup.com/page

BONUS: Scroll to the bottom for a list of common interview questions.

http://www.geeksforgeeks.org/about/interview-corner/

Whiteboarding

The advice I’ve received says, “double space your writing (hard to squeeze code in between lines when there are no spaces), shorten your variable names (numbersArray becomes a1), and talk aloud”.

iOS Specific Questions

You should be able to answer all of these:

http://www.raywenderlich.com/53962/ios-interview-questions

More Interview Questions

Visit glassdoor.com, look up your job, and then click the “interviews” tab. It lists a bunch of questions. And apparently these questions get recycled all the time, so take advantage and prepare! Here: http://www.glassdoor.com/Interview/ios-developer-interview-questions-SRCH_KO0,13.htm

Being Human

Remember, these people want to know you can program, but they also want to know they can work with you as a human being on a day to day basis. Programming is social, so connect with your interviewer and show that you have a personality. Don’t underestimate this.

That’s all I’ve got folks. Good luck to everyone starting their job hunt!

Shout out to Eugene Yee for all the help and knowledge.

Questions? Comments? Concerns? Tweet me: @alanscarpa