Apple Interview Questions: Coding Round


During technical interviews for large tech companies like Apple, you will be asked plenty of algorithm based whiteboard questions to evaluate your understanding of important data structures, space and time complexities for your code (think Big O notation), and your thought process in creating a solution. Your process of thinking through the solution is nearly as important as the solution you create since the interviewers are searching for potential employees they believe they could work with. Therefore, it's essential to be confident in talking through how you arrive at an answer, what data structures you used, why you used specific data structures over the others, tradeoffs, etc..


These whiteboard questions belong to a restricted set of issues incorporating concepts such as stacks, queues, linked lists, binary search trees, and recursion. These issues are usually recyclable for different interviews at other top firms also, so the more you practice, the more willing you'll be to ace the interviews!

Most frequently asked question in Apple's Interview

  • Write an efficient function that checks whether any permutation ↴ of an input string is a palindrome.
  • Write a program to print all permutations of a given string
  • Median in a stream of integers (running integers)
  • Median of Stream of Running Integers using STL
  • You have a list of integers, and for each index you want to find the product of every integer except the integer at that index.
  • Write a function to check that a binary tree ↴ is a valid binary search tree.
  • I want to learn some big words so people think I'm smart.
  • Write a function fib() that takes an integer nn and returns the nnth Fibonacci ↴ number.
  • Implement a queue ↴ with 2 stacks. ↴ Your queue should have an enqueue and a dequeue method and it should be "first in first out" (FIFO).

What people say about Apple's Interview:

Here are some Favorable snippets from interview testimonials:

  • "definitely harder than my standard interviews in other large companies (Facebook, microsoft). Seemed more specific and difficult to get ready for. Interviewers knew their stuff and questions were specific to the function I interviewed ."
  • "A nice process, but long interview with 6 individuals. The entire interview took approximately 6 hoursand was quite exhausting"
  • "The onsite was a little tiring with ~6hrs of interviews but everybody was really nice and it did not look like any of them desired to stump me." 

And here are a few negative snippets from interview testimonials:

  • Surprisingly, the people are extremely nice to me. But, I did not like the area in any way, there's even a place to sit before the meeting. However, the recruiter is a really great person and helped me quite well during the procedure. Anyhow, after seeing the working area, I have opted to not to try for Apple in long run." For a 1 hour coding around (Java position) began with some fundamental questions. Then kept asking about networking internals, file system internals, network packet information, protocol details. This is particularly confusing because the position requirements do not list them. So it ended with no coding and in thirty minutes."