Skip to main content

Apple Software Engineer Interview Questions

Review this list of 101 Apple Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Apple logoAsked at Apple 
    1 answer

    "A full stack developer could be summarized as the person who both writes the APIs and consumes the APIs. They are familiar with Databases/Data-layer services, middle-layer/application services and business logic, and finally familiar with the consumers whether front-end applications/UIs or other systems. They can understand the trade-offs up and down the stack, where to adjust along the service-call-path. Ideally they are comfortable programming both async calls (front end javascript promises, e"

    Luke P. - "A full stack developer could be summarized as the person who both writes the APIs and consumes the APIs. They are familiar with Databases/Data-layer services, middle-layer/application services and business logic, and finally familiar with the consumers whether front-end applications/UIs or other systems. They can understand the trade-offs up and down the stack, where to adjust along the service-call-path. Ideally they are comfortable programming both async calls (front end javascript promises, e"See full answer

    Software Engineer
    Technical
  • Apple logoAsked at Apple 
    1 answer

    "Reproduce the bug, read error messages, isolate the problem, use a debugger, check assumptions, review recent changes, consult documentation, Text Edge Cases, take break"

    Jennifer C. - "Reproduce the bug, read error messages, isolate the problem, use a debugger, check assumptions, review recent changes, consult documentation, Text Edge Cases, take break"See full answer

    Software Engineer
    Behavioral
  • Apple logoAsked at Apple 
    10 answers
    +7

    "function isPalindrome(s, start, end) { while (s[start] === s[end] && end >= start) { start++; end--; } return end <= start; } function longestPalindromicSubstring(s) { let longestPalindrome = ''; for (let i=0; i < s.length; i++) { let j = s.length-1; while (s[i] !== s[j] && i <= j) { j--; } if (s[i] === s[j]) { if (isPalindrome(s, i, j)) { const validPalindrome = s.substring(i, j+1"

    Tiago R. - "function isPalindrome(s, start, end) { while (s[start] === s[end] && end >= start) { start++; end--; } return end <= start; } function longestPalindromicSubstring(s) { let longestPalindrome = ''; for (let i=0; i < s.length; i++) { let j = s.length-1; while (s[i] !== s[j] && i <= j) { j--; } if (s[i] === s[j]) { if (isPalindrome(s, i, j)) { const validPalindrome = s.substring(i, j+1"See full answer

    Software Engineer
    Data Structures & Algorithms
    +3 more
  • Apple logoAsked at Apple 
    2 answers

    "na"

    Nishigandha B. - "na"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Apple logoAsked at Apple 
    Add answer
    Software Engineer
    Data Structures & Algorithms
    +1 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Apple logoAsked at Apple 
    1 answer

    "Leetcode 347: Heap + Hashtable Follow up question: create heap with the length of K instead of N (more time complexity but less space )"

    Chen J. - "Leetcode 347: Heap + Hashtable Follow up question: create heap with the length of K instead of N (more time complexity but less space )"See full answer

    Software Engineer
    Data Structures & Algorithms
    +3 more
  • Apple logoAsked at Apple 
    Add answer
    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Apple logoAsked at Apple 
    Add answer
    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Apple logoAsked at Apple 
    1 answer

    "A doubly linked list is like a train where the engine is its head, and the compartments doors are interconnected, you can travel though them. The last compartment is the tail and is not connected with anything. Following is a visual: Head C1 C2 C3....Cn Tail Pseudocode: **class Node: Data pointer next pointer prev End class DLL = NULL //pointer to list insertion: if DLL is NULL: head = new Node() DLL = head DLL.prev = NU"

    Rasika D. - "A doubly linked list is like a train where the engine is its head, and the compartments doors are interconnected, you can travel though them. The last compartment is the tail and is not connected with anything. Following is a visual: Head C1 C2 C3....Cn Tail Pseudocode: **class Node: Data pointer next pointer prev End class DLL = NULL //pointer to list insertion: if DLL is NULL: head = new Node() DLL = head DLL.prev = NU"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Apple logoAsked at Apple 
    Add answer
    Software Engineer
    Behavioral
  • Apple logoAsked at Apple 
    2 answers

    "#include #include #include using namespace std; void printComs(int prev, int start, int end, int target) { if (start >= end) return; while (start target) { end--; } else { st"

    Iris F. - "#include #include #include using namespace std; void printComs(int prev, int start, int end, int target) { if (start >= end) return; while (start target) { end--; } else { st"See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Apple logoAsked at Apple 
    1 answer

    "public int CountNumberOfSpace(string s){ int n = s.Length; for(int i=0;i<n;i++){ if(s[i]==' ')count++; } return count; }"

    Jazeel A. - "public int CountNumberOfSpace(string s){ int n = s.Length; for(int i=0;i<n;i++){ if(s[i]==' ')count++; } return count; }"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Apple logoAsked at Apple 
    Add answer
    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Apple logoAsked at Apple 
    Add answer
    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Apple logoAsked at Apple 
    1 answer

    "Function that transforms each elements in a collection and returns new collection with transformed elements"

    Susmita S. - "Function that transforms each elements in a collection and returns new collection with transformed elements"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Apple logoAsked at Apple 
    3 answers

    "Recursion: 0 if NULL, else 1+max(height(left), height(right))"

    Mohith J. - "Recursion: 0 if NULL, else 1+max(height(left), height(right))"See full answer

    Software Engineer
    Data Structures & Algorithms
    +3 more
  • Apple logoAsked at Apple 
    Add answer
    Software Engineer
  • Apple logoAsked at Apple 
    Add answer
    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Apple logoAsked at Apple 
    1 answer

    "filter function usually exists in some high level programming that adopt FP paradigm. It taks a sequence of items and a predicate function, and returns (conceptually) a subset of the items that satisfy the predicate. Adopt this kind of operation (filter, map, reduce, take, pairwise ...) can help writting cleaner code, and reduce the usage of mutable part in the program, lower the possibility of making human mistake. Take Python for example (although const-ness is not exists in Python), assu"

    Weida H. - "filter function usually exists in some high level programming that adopt FP paradigm. It taks a sequence of items and a predicate function, and returns (conceptually) a subset of the items that satisfy the predicate. Adopt this kind of operation (filter, map, reduce, take, pairwise ...) can help writting cleaner code, and reduce the usage of mutable part in the program, lower the possibility of making human mistake. Take Python for example (although const-ness is not exists in Python), assu"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Apple logoAsked at Apple 
    Add answer
    Software Engineer
    Data Structures & Algorithms
    +1 more
Showing 81-100 of 101
Exponent

Get updates in your inbox with the latest tips, job listings, and more.

Follow Us

Products
Courses
Interview Questions
Interview Experiences
Popular articles
Guides
Coaching
For Partners
Company
Exponent © 2026
Terms of Service | Privacy