Apple Interview Questions

Review this list of 138 Apple interview questions and answers verified by hiring managers and candidates.
  • Apple logoAsked at Apple 
    Machine Learning Engineer
    Technical
  • Apple logoAsked at Apple 

    "Add more social features"

    Claire W. - "Add more social features"See full answer

    Product Manager
    Product Strategy
  • Apple logoAsked at Apple 
    +8

    "from typing import List def traprainwater(height: List[int]) -> int: if not height: return 0 l, r = 0, len(height) - 1 leftMax, rightMax = height[l], height[r] res = 0 while l < r: if leftMax < rightMax: l += 1 leftMax = max(leftMax, height[l]) res += leftMax - height[l] else: r -= 1 rightMax = max(rightMax, height[r]) "

    Anonymous Roadrunner - "from typing import List def traprainwater(height: List[int]) -> int: if not height: return 0 l, r = 0, len(height) - 1 leftMax, rightMax = height[l], height[r] res = 0 while l < r: if leftMax < rightMax: l += 1 leftMax = max(leftMax, height[l]) res += leftMax - height[l] else: r -= 1 rightMax = max(rightMax, height[r]) "See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Apple logoAsked at Apple 
    Software Engineer
    System Design
  • Apple logoAsked at Apple 

    Permutations

    IDE
    Medium

    "function permute(nums) { if (nums.length <= 1) { return [nums]; } const prevPermutations = permute(nums.slice(0, nums.length-1)); const currentNum = nums[nums.length-1]; const permutations = new Set(); for (let prev of prevPermutations) { for (let i=0; i < prev.length; i++) { permutations.add([...prev.slice(0, i), currentNum, ...prev.slice(i)]); } permutations.add([...prev, currentNum]); } return [...permutations]"

    Tiago R. - "function permute(nums) { if (nums.length <= 1) { return [nums]; } const prevPermutations = permute(nums.slice(0, nums.length-1)); const currentNum = nums[nums.length-1]; const permutations = new Set(); for (let prev of prevPermutations) { for (let i=0; i < prev.length; i++) { permutations.add([...prev.slice(0, i), currentNum, ...prev.slice(i)]); } permutations.add([...prev, currentNum]); } return [...permutations]"See full answer

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

  • Apple logoAsked at Apple 
    Machine Learning Engineer
    Concept
  • Apple logoAsked at Apple 
    Software Engineer
    System Design
  • Apple logoAsked at Apple 

    "This is a pretty straightforward Improve a Product question. Let's first go over the Improve a Product formula: Ask clarifying questions Identify users, behaviors, and pain points State product goal Brainstorm small improvements Brainstorm bolder improvements Measure success Summarize Now, let's begin! Ask clarifying questions Before we begin listing off recommendations, it's important you ask questions to ensure you and the interviewe"

    Exponent - "This is a pretty straightforward Improve a Product question. Let's first go over the Improve a Product formula: Ask clarifying questions Identify users, behaviors, and pain points State product goal Brainstorm small improvements Brainstorm bolder improvements Measure success Summarize Now, let's begin! Ask clarifying questions Before we begin listing off recommendations, it's important you ask questions to ensure you and the interviewe"See full answer

    Product Manager
    Product Design
  • "focus was on tradeoffs of diff object detection algorithms, data collection and labelling, foundational models, followup: not working well in production, retraining/active learning"

    Ayush B. - "focus was on tradeoffs of diff object detection algorithms, data collection and labelling, foundational models, followup: not working well in production, retraining/active learning"See full answer

    Machine Learning Engineer
    Machine Learning
  • "I'd like the phone to suggest actions according to the time of the day. For example: open in the morning the WhatsApp group of my daughter's class, at 4 o'clock suggest calling the after school teacher so she'll send my daughter to the school's gate, etc."

    Adi S. - "I'd like the phone to suggest actions according to the time of the day. For example: open in the morning the WhatsApp group of my daughter's class, at 4 o'clock suggest calling the after school teacher so she'll send my daughter to the school's gate, etc."See full answer

    Product Design
  • Software Engineer
    Behavioral
    +1 more
  • Apple logoAsked at Apple 

    "func isMatch(text: String, pattern: String) -> Bool { // Convert strings to arrays for easier indexing let s = Array(text.characters) let p = Array(pattern.characters) guard !s.isEmpty && !p.isEmpty else { return true } // Create DP table: dpi represents if s[0...i-1] matches p[0...j-1] var dp = Array(repeating: Array(repeating: false, count: p.count + 1), count: s.count + 1) // Empty pattern matches empty string dp[0]["

    Reno S. - "func isMatch(text: String, pattern: String) -> Bool { // Convert strings to arrays for easier indexing let s = Array(text.characters) let p = Array(pattern.characters) guard !s.isEmpty && !p.isEmpty else { return true } // Create DP table: dpi represents if s[0...i-1] matches p[0...j-1] var dp = Array(repeating: Array(repeating: false, count: p.count + 1), count: s.count + 1) // Empty pattern matches empty string dp[0]["See full answer

    Machine Learning Engineer
    Data Structures & Algorithms
    +3 more
  • Apple logoAsked at Apple 

    "Sorting is a technique to arrange data in either increasing order or decreasing order, and, the function that implements this functionality is called sort function"

    Farhan -. - "Sorting is a technique to arrange data in either increasing order or decreasing order, and, the function that implements this functionality is called sort function"See full answer

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

    "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 

    "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 

    "This is a Design a Product question. For this, we'll want to follow the formula for success: Ask clarifying questions Identify user types, behaviors, and pain points State the goal and use cases List current solutions Improvements / net new solutions Evaluate and select solutions Measure Success Summarize Ask clarifying questions It's important to get clarity on anything unclear. This may seem like a straightforward question, but us"

    Exponent - "This is a Design a Product question. For this, we'll want to follow the formula for success: Ask clarifying questions Identify user types, behaviors, and pain points State the goal and use cases List current solutions Improvements / net new solutions Evaluate and select solutions Measure Success Summarize Ask clarifying questions It's important to get clarity on anything unclear. This may seem like a straightforward question, but us"See full answer

    Product Manager
  • Apple logoAsked at Apple 

    "na"

    Nishigandha B. - "na"See full answer

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

    "Make current as root. 2 while current is not null, if p and q are less than current, go left. If p and q are greater than current, go right. else return current. return null"

    Vaibhav D. - "Make current as root. 2 while current is not null, if p and q are less than current, go left. If p and q are greater than current, go right. else return current. return null"See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Apple logoAsked at Apple 
    Security Engineer
    Technical
    +1 more
Showing 81-100 of 138