Apple Interview Questions: 75 You Can Expect In Your Interview

February 3, 2021

Apple, one of the biggest and longest-standing tech companies currently around, is known for being one of the most challenging and exciting places to work as a software engineer. In this post, we’ll mention 75 of the most common questions in technical interviews from Microsoft, as well as how you can use Tech Interview Pro, a proven program offering hundreds of coding walk-throughs that also prepares you for the soft side of the interview, to easily get through these questions and the interviewing process as a whole.

Apple, one of the biggest and longest-standing tech companies currently around (just a year shy of being the same age as Microsoft) is known for being one of the most challenging and exciting places to work as a software engineer, so it’s to be expected that getting a job there is pretty challenging.

Like Google and other big tech companies, Apple asks a mix of technical questions based on your past work experience and some mind-boggling puzzles.

Here are 75 of the most common questions they ask during their interviews, both from a behavioral and technical side.

Apple Technical Questions

  1. When would you use a linked list and when would you use an array list?
  2. Write a function that finds the median of a stream of flowing numbers.
  3. How would you efficiently sort 1 billion integers stored in an array?
  4. Having two distinct very large ordered arrays of values, write a function that finds the mean value of the two arrays.
  5. Implement an iterator that efficiently iterates the nodes of a binary search tree by value in ascending order.
  6. Given two trees, write a function that determines if tree #2 is the mirror image of tree #1.
  7. Explain binary trees and their applications.
  8. Write a function that removes all spaces from a string. (EXplain the space and time efficiency of your solution)
  9. What is the big-O algorithmic complexity of insertions, deletions, and find operations in a hash table?
  10. Given a very large array of integers, write a function that finds the 2nd max value.
  11. Write a function that squares a number without using * or the carrot sign.
  12. Design a parking lot system where you need to provide a token with the parking space number on it to each new entry from the space closest to the entrance.
  13. Design a game of chess.
  14. At the Kernel level, how would you write a memory leak analyzer and how would you implement it?
  15. What is an NSDictionary and how would you implement it?
  16. Is there a restriction on the types of objects that can be serialized?
  17. Are you familiar with the object send method?
  18. What are ways to extend classes in Objective-C?
  19. Explain dynamic binding.
  20. What is the big-O algorithmic complexity of insertions, deletions, and find operations in a binary tree?
  21. What is the SQL statement to query two tables at once?
  22. Write a function that stores a set of sudden-death tournament results and a set of predicted match results in a compact format. Then, score the predictions, giving one point per correctly guessed match.
  23. Given a set of intervals, write a function that finds the set of intervals that overlap.
  24. Given a matrix with binary values, write a function that reverses this matrix.
  25. Given a list of integers that fall within a known short range of values (full range unknown), write a function that finds the median value.
  26. How would you split a search query across multiple machines?
  27. Given a list of strings, write a function that produces a list of the longest common suffixes.
  28. Given a list of integers, write a function that finds all the pairs of numbers that sum less than or equal to K.
  29. Given inputs from Google Search and K chunks, write a function that merges all chunks into a single alphabetically ordered list.
  30. Count the number of positive integers less than N that does not contain the digit 4.
  31. Given an array of integers and a range (low, high), write a function that finds all continuous subsequences in the array which have a sum in the range.
  32. Given a dictionary of words and a set of characters, write a function that determines if all the characters can form the words from the dictionary without any characters left out.
  33. Write a function that inserts an element in a sorted circular linked list.
  34. Given a node in a binary search tree, write a function that finds the next largest number in the tree.
  35. Given a binary search tree of integers, write a function that returns the number of nodes that have values between N and M.
  36. Write an algorithm that finds the next node (post-order successor) of a given node in a binary tree and BST, where each node has a link to its parent and without a parent pointer
  37. Write a program to implement a double linked list from a stack with minimal complexity.
  38. Given an array of positive and negative numbers, write a function that arranges them such that every positive number is followed by a negative number and vice-versa.
  39. Write a method that returns the first five 10 digit prime numbers.
  40. Find the longest sequence of prefixes shared by all the words in a string.
  41. Given a boolean matrix, write an algorithm that determines if an island of 0s is completely surrounded by 1s.
  42. Given an integer array, write a function that adjusts each integer so that the difference of every adjacent integer so that they’re not greater than K.
  43. What is the maximum number of edges you could add to N vertexes to make an acyclic undirected graph?
  44. Implement a vector-like data structure from scratch.
  45. Given a sorted array containing the age of every person on Earth, write a function that determines how many people have each age.
  46. Given a BST and a number K, write a function that checks whether two nodes in the BST whose sum is equal to K exist.
  47. Write an algorithm to get the maximum and second maximum element of a stack.
  48. Write a function that takes an array of numbers and returns the maximum and minimum values. Give Big O for runtime.
  49. From a list of integer intervals, write a function to minimize the number of overlapping integers.
  50. Write an algorithm that finds the sum of numbers that are smaller than N and divisible by 3 or 5.

Apple Coding Answer Examples

All coding examples written in C++.

Coding Example #1: Given a list of integers, write a function that finds all the pairs of numbers that sum less than or equal to K

#include <bits/stdc++.h>
using namespace std;
// Returns number of pairs in arr[0..n-1] with sum equal
// to 'sum'
int getPairsCount(int arr[], int n, int sum)
    int count = 0; // Initialize result
    // Consider all possible pairs and check their sums
    for (int i = 0; i < n; i++)
        for (int j = i + 1; j < n; j++)
            if (arr[i] + arr[j] == sum)
    return count;
// Driver function to test the above function
int main()
    int arr[] = { 1, 5, 7, -1, 5 };
    int n = sizeof(arr) / sizeof(arr[0]);
    int sum = 6;
    cout << "Count of pairs is "
         << getPairsCount(arr, n, sum);
    return 0;

Coding Example #2: Given a list of strings, write a function that produces a list of the longest common suffixes

#include <iostream>
#include <string.h>
using namespace std;
/* Returns length of longest 
   common substring of X[0..m-1]
   and Y[0..n-1] */
int LCSubStr(char* X, char* Y, int m, int n)
    // Create a table to store 
    // lengths of longest
    // common suffixes of substrings.   
    // Note that LCSuff[i][j] contains 
    // length of longest common suffix 
    // of X[0..i-1] and Y[0..j-1].
    int LCSuff[m + 1][n + 1];
    int result = 0; // To store length of the
                    // longest common substring
    /* Following steps build LCSuff[m+1][n+1] in
        bottom up fashion. */
    for (int i = 0; i <= m; i++) 
        for (int j = 0; j <= n; j++) 
            // The first row and first column
            // entries have no logical meaning,
            // they are used only for simplicity
            // of program
            if (i == 0 || j == 0)
                LCSuff[i][j] = 0;
            else if (X[i - 1] == Y[j - 1]) {
                LCSuff[i][j] = LCSuff[i - 1][j - 1] + 1;
                result = max(result, LCSuff[i][j]);
                LCSuff[i][j] = 0;
    return result;
// Driver code
int main()
    char X[] = "";
    char Y[] = "";
    int m = strlen(X);
    int n = strlen(Y);
    cout << "Length of Longest Common Substring is "
         << LCSubStr(X, Y, m, n);
    return 0;

Travel With Peace Of Mind

Staying safe and healthy while you travel has never been more important than it is today. Join the world’s most user-friendly insurance company, SafetyWing, for less than $1.50/day. Cancel penalty-free any time.

Apple Behavioral Questions

  1. What brings you here today?
  2. What are your failures, and how have you learned from them?
  3. Describe an interesting problem and how you solved it.
  4. What would you want to do 5 years from now?
  5. Why do you want to join Apple and what will you miss at your current work if Apple hired you?
  6. What’s more important, fixing the customer’s problem or creating a good customer experience?
  7. Describe a time you went above and beyond for a customer.
  8. You seem pretty positive. What types of things bring you down?
  9. Describe yourself. What excites you?
  10. If we hired you, what do you want to work on?
  11. Why should we hire you?
  12. Have you ever disagreed with a manager’s decision, and how did you approach the disagreement?
  13. Describe a humbling experience.
  14. Are you creative? What’s something creative that you can think of?
  15. What was your best day in the last 4 years? What was your worst?
  16. When you walk into an Apple Store as a customer, what do you notice about the store/how do you feel when you first walk in?
  17. How would you test your favorite app?
  18. Tell me about a time when you’ve resolved a problem for a frustrated customer.
  19. Tell me about a time when you had to work with a difficult or disruptive person.
  20. Describe a time when you resolved a conflict with a colleague in your past role.
  21. Why did you leave your last job?
  22. Who has inspired you in your life, and why?
  23. Talk about a time where you had to make a decision in a lot of ambiguity.
  24. How do you experiment?
  25. What is your greatest weakness?

Apple Behavioral Answer Examples

Behavioral Example #1: What is your greatest weakness?

Interviewers ask this question to gauge your level of self-awareness, your honesty and openness, and your capability for self-improvement.

What’s important is to find a weakness that you have overcome or something that is not related to the position for which you are applying.

Behavioral Example #2: Describe a time you went above and beyond for a customer

This question lets the interviewer know how well you think on your feet and how great your customer service skills are.

Showing you have compassion and empathy for customers is always an excellent way to answer the question. However, always remember to frame your answers in terms of how Apple addresses these issues.

Behavioral Example #3: Tell me about a time when you’ve resolved a problem for a frustrated customer

Customers are the lifeblood of any business. How you handle a disgruntled customer can make the difference between closing a sale and failing to do so.

It takes good people skills to handle such situations, and this question is a good opportunity to demonstrate your people skills.

Why Tech Interview Pro?

So, some of these technical questions might seem pretty easy.

But others can be pretty challenging to tackle, and considering you’ll have the pressure of having an interviewer beside you as well as limited time to solve these questions, even simple questions can become more difficult than they seem.

And if that weren’t enough, you’ll also have to deal with behavioral questions: software engineers seldom prepare for those.

So, if you want to make sure you have the best chance at succeeding on your interview, you’ll need something that helps you study both things at the same time.

For this reason, I recommend you use Tech Interview Pro, an interview prep program designed by a former Google and Facebook software engineer who has compressed the knowledge he gathered from conducting over 100 interviews during his time into a single course.

Here are a few reasons why I recommend it.

#1 A Comprehensive Approach

Tech Interview Pro takes a thorough approach to its teaching, taking both the technical and behavioral aspects into consideration in its 20+ hours of video lessons.

Here’s TIP’s course outline:

  1. Understanding The Interview Process
  2. Four Axes of the Interview
    1. Coding
    2. Data Structures & Algorithms
    3. Systems Design
    4. Communication
  3. Interviewing Masterclass
  4. Data Structures & Algorithms
  5. 100+ Coding Sessions
  6. The Mock Interview
  7. Systems Design
  8. Transitioning Careers
  9. Negotiating & Accepting Your Offer

As you can see, TIP has a balance of both the technical and the behavioral, which is definitely more coverage than most of the tech interview prep courses out there.

#2 Private Facebook Group

Another neat feature that Tech Interview Pro grants its students is access to a private Facebook group with 1,500+ former students of the course.

Here are some of their success stories:

Tech Interview Pro Review - Success Stories
Tech Interview Pro Review - Success Stories
Tech Interview Pro Review - Success Stories

When you consider how many TIP students have landed jobs at FAANG companies thanks to the course, as well as how active and supportive the Facebook group is day to day, it’s really an invaluable resource to have.

#3 Created By An Industry Insider

Tech Interview Pro is run by an industry veteran who has reverse-engineered the hiring process to give you the best chance of success.

TechLead (Patrick Shyu) has grown his own websites to millions of users, spent his recent years working at Facebook and Google, and has conducted over 100 technical interviews for Google.

So if there’s anyone who can teach you how to ace your technical interviews, it’s this guy.

#4 Bi-Weekly Q&A Sessions

Every two weeks, TIP students can engage in Q&A sessions with the course’s founder, TechLead.

This is a huge advantage: after all, nothing’s stopping you from asking any of the questions featured on the list above, whether it’s a technical question or a behavioral one, and you can expect a thorough answer in return.

Another thing to keep in mind is that every Q&A session is recorded and ready to be accessed at any time, so there’s nothing stopping you from checking previous Q&A sessions too.

#5 Resume Reviews

Your resume will be the first thing a recruiter will see coming from your end, and making it look pretty won’t be enough: you need to make sure it knocks them out when they see it so that you can have a headstart into the interviewing process.

Considering this, TechLead will also personally review your resume and help you tailor it for the position and the company you seek to apply for.

#6 Lifetime Access

Lastly, TIP grants lifetime access to the entire course and private Facebook group, which means that you’ll be able to see new video lessons as they’re added, grow alongside the Facebook group, watch all of future Q&A sessions, and everything else.

TIP’s got your back, whether you want to land a job now or in the future.

In Summary

Being part of Apple as a software engineer is a dream that requires a metric ton of hard work, but it’s certainly not impossible to achieve.

As long as you give yourself enough time to prepare for every pitfall along the way, you should have a pretty good chance of leaving the interviewing process with a job in hand. To give yourself the best possible chance of success, we recommend you prepare with a more comprehensive, battle-tested solution like Tech Interview Pro.

The Best Crypto Exchanges In Canada

Best Overall

Supports: 16 cryptocurrencies
Security: 95% cold storage
Trading fees: 0.2%

$50 bonus ends May 19.


Rated 4.9/5

Lowest Fees

Supports: 17 cryptocurrencies
Security: 95% cold storage
Trading fees: 0.1% - 0.2%

Free account, instant verification


Rated 4.8/5

Best For Altcoins

Spreads: ~0.5%
Security: 95% cold storage
Signup bonus: $30

Low spreads, great platform.


Rated 4.5/5