Book Image

The Ultimate iOS Interview Playbook

By : Avi Tsadok
Book Image

The Ultimate iOS Interview Playbook

By: Avi Tsadok

Overview of this book

As an iOS developer, you must possess a diverse skill set encompassing Swift coding, design knowledge, and mastery of development tools. And while the demand for iOS developers remains high, the competition for landing your dream job has intensified in recent years. Being a skilled iOS developer is no longer enough — acing interviews is now just as essential as having technical expertise. In The Ultimate iOS Interview Playbook, you'll discover innovative ways to stand out as an iOS developer and pass every job interview. It will guide you to build your developer brand and present your skills to potential employers. This comprehensive guide covers over 100 interview questions, from Swift fundamentals and frameworks to complex design patterns and app architecture. You'll learn how to approach coding assessments like a pro and avoid red flags that could hinder your chances of success. Drawing from the author’s experience of interviewing hundreds of iOS developers and having been a candidate themself, this book addresses the challenges of showcasing your skills and knowledge within a limited timeframe. By the end of this book, you'll be ready to excel in any iOS interview, demonstrating your strengths and confidently tackling even the most challenging questions, ultimately paving the way to secure the job you've always wanted.
Table of Contents (20 chapters)
1
Part 1: Everything about Interviews
5
Part 2: Swift Language and Coding
9
Part 3: The Frameworks
14
Part 4: Design and Architecture

Building our resume

We now see that performing company research is not a difficult task at all. But there’s another side of the equation, and that’s us: how do we get an interview with the company we desire?

Being noticeable among dozens or hundreds of other candidates is not easy. Making our resume shine when there are many other great candidates sounds like an impossible mission. It’s not a coincidence that some recruiters claim that writing a good CV is not science but an art. Sure, there are guidelines on how to do that, but to stand out, we need an artistic touch.

And speaking about art, let’s see how looking at our profile as a movie or a book can benefit us.

A resume is like a book or a movie

OK... what?

Imagine you enter a bookstore. You want to pick one or two books, but there are thousands of books in the store. What do you do? You choose a book with an interesting title, turn it over, and go over the back cover text. After a few seconds, you have already decided about the book even though you haven’t opened it or finished reading the back cover. The reason for that is apparent. You don’t have time to review so many books, and you decide to invest your time in those with a catchy title and an interesting back cover opening.

The experience I just described is precisely what happens in workplaces that receive many job applications. In big companies, an average resume scanning by a recruiter takes between six to 10 seconds. This is a short time to impress someone, isn’t it? Well, that’s why I said it’s like an art more than science.

Now, if we pass that stage, the recruiter decides to read the rest of the resume. Assuming our profile fits the company, we need to impress the hiring manager, which is not an easy hurdle at all.

Oh, didn’t I tell you? That’s the difference from a book. We need several people to read our resume and like it!

Let’s see how we nail that challenge together.

Structuring the resume outline

A basic resume outline is based on content importance. We start with our name as the title, contact information, a summary of ourselves, expertise, and then skills, education, and our projects and achievements.

There are indeed different resume outline variants out in the field. For instance, some say adding personal insights, such as hobbies or volunteering activities is also a good idea. Some even add a photo portrait.

But in my perceptive, I think less is more, regarding resumes. We should keep it simple, clear, and straight to the point.

Working on design and layout

Well, what about the design and the layout?

There are tons of resume design templates we can download easily from the web. Even though some of them look beautiful, we should remember that the document’s purpose is sending a clear message about who we are and why we are the best option to invite for an interview.

Since we have only six to ten seconds to catch the recruiter’s attention, we should plan our CV (Curriculum Vitae -> “course of life”) according to that assumption. One of the most famous methods of that is to use something called the F-Pattern.

What is the F-Pattern?

Scanning a document quickly sounds straightforward at first. We probably imagine the recruiter starting to read your document and just stopping after a while. The basic assumption, that the recruiter is reading our document rather than scanning it, is just wrong.

The Nielsen Norman Group (NNGroup) had exciting research in 2006. Their researchers gave thousands of documents to more than 200 students and asked them to review them while analyzing the eye-tracking movement quickly.

The findings concluded that users have a constant pattern of “scanning” the documents – they move their eyes in a pattern that looks like the letter F:

  1. First, they read the first two rows, from left to right.
  2. Then, they move down a little bit, skip some lines, maybe, and read another row, but this time they won’t go all the way to the end.
  3. Finally, they scan the document from top to bottom and on the left side.

Right-to-left languages

For right-to-left languages such as Arabic or Hebrew, the F-Pattern is flipped.

Have a look at the following image from NNGroup’s website (https://www.nngroup.com/articles/f-shaped-pattern-reading-web-content-discovered/):

Figure 1.2 – NNGroup Document Scanning Experiment results

Figure 1.2 – NNGroup Document Scanning Experiment results

So, why do users do that?

Well, readers have a goal. They want their scanning to be as effective as possible. They aim to grab maximum information from the document with minimal effort and time.

We now understand where the recruiter’s eyes go when scanning your resume, but how can we ensure the reader doesn’t miss our primary objectives?

Okay, now we are battling for the user’s attention, but it doesn’t mean we are losing. Here are some tips on how to handle the situation:

  • Because of the F-Pattern research, we know that the user invests heavily in our document’s top part. We should put our most meaningful message to the user in this place. In other words, this is where our “money should be spent.”
  • The same goes for each section of our document. We always need to start with the message. When we describe a project that we were involved with, we should start with our contribution to the project rather than describing the project’s history.
  • We need to make it easier for the reader to understand what’s important and what’s not by using typography. For example, marking primary words in bold can help us emphasize the document’s essential takes (as I did here).
  • Add space between sections and use big, clear headings. That can help the reader understand the document outline and avoid getting lost in the scanning task.
  • Use short bullets instead of long, tedious paragraphs. Short bullets take a load of information and display it in a structured list, helping the user to scan and understand what we wanted to say quickly.

Using typography is a great way to help the user understand how to read our resume while taking advantage of the F-Pattern and overcoming its flaws.

Let’s break our resume into different pieces. We’ll start with your personal information.

What is the personal information part?

Remember, we already said our resume content should be ordered by priority. So, what’s more important than us?

Returning to the bookstore analogy, the reader first scans the book title. In the CV world, our name is the book’s title, and the profession is its subtitle. We can also add certificates and awards to the pile to make the subtitle a bit catchier.

The most important thing about putting our personal information on top is double-checking that all the provided information is accurate. We don’t want to be in a position where it is difficult for the reviewer to reach us just because we haven’t paid enough attention.

One tricky piece of information is our address.

Personal address

A few words about the personal address, because it’s a little bit of a sensitive subject.

Traditionally, resume documents used to contain a personal address. A personal address was a primary part of reaching a candidate and a massive consideration of whether their location suited a company. Even though things have changed, and we live in a different era, many recruiters still expect resumes to include an address.

However, there are a couple of reasons why we don’t want to put our full address in the resume document:

  • It’s sensitive information. For privacy and security reasons, it is perfectly understood why some candidates prefer not to have their address details flowing around.
  • Some places can find long-distance locations a problem and may reject us. There are countries where discriminating by location is illegal, and still, we don’t want to put ourselves in a problematic situation.

If we still decide to put an address in our resume, here are some tips:

  • We don’t have to put our full address. A city or a region is good enough for most reviewers.
  • If we know that our location can become an issue for many companies, we can state our willingness to relocate (if that’s accurate, of course).
  • Emphasize throughout our resume our ability and experience in working remotely (again, be accurate on this). Working remotely for iOS developers is perfectly legit today, especially since COVID-19.

Now, let’s continue to our main dish and formulate our personal summary section.

Formulating the personal summary section

The summary section is probably the most crucial part of our resume and plays a significant role in the reviewer’s decision to move forward with our application.

Now, even though we call it a “summary," it doesn’t summarize our resume, and we’ll understand why in a minute.

The first thing we need to do when approaching to write our summary section is to flip sides and think like an employer. What kind of iOS developer are we looking for? What can help our team or our company? What kind of a person can fit into our squad?

Now that we have changed our point of view, we have a good starting point. Now, let’s roll up our sleeves and build our summary according to the following tips.

Working according to a structure

Let me start by reminding you of the 6 to 10 seconds it takes for a reviewer to scan our CV and decide.

6 to 10 seconds. This is all we have.

So, we need to write our summary section according to that assumption. Short, simple, and to the point, while keeping it to 3 to 5 sentences and no more than 50 words.

But what exactly do we need to write?

Let’s start with how it is built. The basic structure is built upon three things: who we are, what we offer, and our goals.

Since we are all iOS developers, let me try to describe it as a formatted string:

let adjective: String = "Self motivated…"let role: String = " iOS Developer"
let experience: String = " with 3+ years of experience with
    iOS project.."
let goals: String = "eager to learn and develop myself"
let summary = adjective + role + experience + goals

Perhaps we are not professional in resumes just yet, but Swift we know, don’t we?

Find our soft and hard skills

If you’re hearing those terms for the first time, it’s a good idea to explain what they are and why they are essential.

Soft skills are not related to a specific role or industry. Soft skills are non-technical and can help the employee accomplish various tasks. Some examples are time management, communication, and problem-solving.

Conversely, hard skills are technical and role/position specific, such as working with Swift, Combine, testing, and more. There are cases where hard skills come with certificates and degrees.

We should combine these two skill types in our summary and try to emphasize the skills we are good at.

For instance, if you lack development experience, try to emphasize your hard skills. If you’re an experienced iOS developer, you probably gained some tremendous soft skills over the years, and you can highlight them instead.

Adjusting to your workplace using terminology

Now, this is a handy tip: adjust the personal summary to the job posting description using the exact keywords and target it to what the workplace needs and wants.

Yes! It means that we may need to create several summary versions for different job postings. And why is it important?

To start, we want to speak in our reviewer’s language. If they are looking for a “motivated iOS developer," our reviewer will be excited to find exactly what they were looking for.

But it doesn’t end here. In the next sections, I’m going to tell you a dark secret most candidates don’t know: Applicant Tracking Systems (ATSs).

What are ATSs?

Back (again!) to the 6-to-10-second scanning process. A recruiter scanning a resume is efficient when the workplace receives dozens of resumes daily. But what do we do when a workplace gets hundreds or even thousands of resume documents daily?

Oh, I know! They hire more reviewers, right?

No.

They use something called ATS, which, among many things, this system does. It can also parse resumes and extract headers, contact information, and keywords.

As a matter of fact, in big companies, most of the resumes aren’t even read by humans! The ATS act as gatekeeper in these places, filtering out irrelevant candidates. Want to beat the ATS? Include keywords based on the job posting and use clear formatting.

Be aligned with the employer’s needs

Every company needs something different from us. One company needs us to deliver an extremely robust SDK, and another company will need us to build a slick UI. SDK and slick UI are two different things. We cannot express how good we are in both areas in 50 words!

We need to choose, and therefore research, and understand what the company’s needs are. Following that, we can adjust our summary to answer the company’s requirements.

Adjusting to the post-COVID era – be flexible

If there’s something that COVID-19 has taught us, it is that nothing is set in stone, and we need to be as flexible as we can. Flexibility can be expressed by relocation, role changes, or technology.

If some of these are legit on your side, try to include that side in your summary and show how you evolved and adjusted yourself to changes over the years.

Flexibility and willingness to change can give employers confidence, and in some companies, it can be useful to emphasize that side of us.

Focus on specialty

The last tip in the perfect summary is that we all have a specialty – something that we are good at in being a powerful iOS developer.

If we want to stand out from the other developers trying to compete in our role, we need to emphasize the area where we have outstanding capabilities.

Now, the big question is, what if that capability is not relevant to our desirable workplace? The answer is that it doesn’t matter. Managers are like ninjas and superb developers. If we are striking well in one area, it probably means we can be good in another.

Listing our expertise

Dealing with expertise means that the recruiter or the hiring manager read our summary and decided it was interesting enough to invest more time and effort with the rest of the resume. Kudos to us!

This “Expertise” section contains a list of workplaces and open source projects we worked on. Usually, the list is chronologically ordered, and that’s perfectly understood. Our last workplace is the most important one, so it should be on top. But there are three things we need to make sure of when we write that list:

  • Focus on our contribution to the company and the team, rather than our last or current title. “I created an app from scratch,” and “I led the iOS development of the company’s primary app” are examples of contributions.
  • Cover our contribution with project names, numbers, and stories. Some details make our contribution description much more reliable and precise.
  • Speaking of reliability, don’t miss anything! Never hide a workplace, even if you worked there for a few months and got fired. At this point, the recruiter may try to dig into some details about our application, and hiding such an important detail may cost us the job and our reputation.

Expertise is only part of the picture we want to expose. The other major factor is our skills.

Skills

This section aims to show our capabilities and present our knowledge to the reviewer.

First, let’s remind ourselves of what we’ve discussed earlier regarding soft and hard skills. Hard skills are technical skills such as Swift, Combine, and SwiftUI. Soft skills are not particularly related to iOS Development and pertain to our capabilities as employees in general, such as communication and problem-solving skills.

What we need to do now is to list our skills (both hard and soft) cleverly and effectively. Let’s see how.

Adjusting our skills to the requirements

Just like the personal summary section, the skills section needs to be adjusted to what you are looking for and the job posting requirements.

For example, if we are looking for remote work, we need to emphasize the soft skills that can help us work remotely. Communication, time management, and independence are all examples of soft skills employers look for in remote roles.

Mixing our skills list

Remember that even after we successfully passed the initial scanning, there’s still an attention limit when reviewing our application. We can’t put an endless list of skills, and limiting that list to 10 to 15 skills is best.

Don’t worry, limitation has a significant upside. It pushes us to focus and forces us to prioritize our list.

In the 10-to-15 skills list, we must have different types of skills as listed here and create some sort of an interesting skills mix bag:

  • Hard skills that are relevant to the job requirement are important. Social apps, payment, gaming, and SDK are all examples of relevant hard skills.
  • Soft skills relevant to the working environment, role, and company size help, too.
  • Add a specialty skill that makes us stand out compared to the other candidates and shows our capability to shine in specific areas.

Some skills need to be in your personal summary section, and we must ensure our summary is synced with the skills list.

Mixing the skill list will ensure we don’t have blind spots and safely cover the hiring manager’s requirements.

Miscellaneous

After we present our skills and personality, we move to the part where we need to show some evidence.

In this part, we can present our education, certificates, training, blogs, publications, GitHub repositories, and more.

Part of what I just wrote is something we call Developer Branding, and we will discuss it in Chapter 3.

Avoiding red flags

Our expertise can be extraordinary, and our summary can be well written, but resume reviewers are looking for additional information that we may not like, which are red flags.

The first thing we must understand about red flags in our resume is that no resume is perfect. Most of us have had issues in the past. We took a very long vacation to organize our lives, got fired, or things just couldn’t work out.

So, as a result, we need to ensure our resume is reliable. On the other hand, we need to emphasize our positive side on occasion.

The first red flag we need to address is job-hopping. Spending less than a year in one place can raise some eyebrows in a workplace that looks at our resume. It gives the feeling that we are not stable, mature, and that we have trouble with absorption in workplaces. One thing that many candidates do in a job-hopping situation is to eliminate that job from their resume, with the excuse that, “It doesn’t have any meaning, anyway."

Now, hiding details from our working expertise is not a good idea. The hole in the resume is there to be seen, and eventually, things like that are always floating and can cause much more damage than we wanted to avoid.

The best thing to do in this situation is to highlight our accomplishments in each role rather than our work duration. When we emphasize our experience in each workplace, we show how working across different teams and companies increased our breadth of knowledge and competence.

We should consider taking a disadvantage (job-hopping) and converting it into an advantage (working diversity and broad experience).

Of course, that lesson is relevant for all the other parts of our resume, but when we have a built-in warning alarm, this is doubly true.

Inviting another set of eyes

Once we have finished writing our resume document, it is highly recommended to give it to someone else to read and give us their feedback.

But – don’t pick just anyone for that job. Your grandmother may be intelligent and honest, but she may not be the profile that we are looking for.

We must pick our “second set of eyes” carefully and ensure our feedback will be as emotionless and professional as possible. Try to pick a recruiter or talent acquisition to review your resume structure and a hiring manager to review your summary and expertise. Even one or two comments can make significant differences.