Apple Swift Interview Questions 2026

Published July 22, 2026 · Updated July 22, 2026

5 real Swift interview questions asked at Apple. Upvoted by engineers who cleared the loop. Covers Technical rounds.

5 questions
133 engineers asked
256 upvotes
Company: Apple
Technology: Swift

All Swift Questions Asked at Apple

Apple Medium Technical round SwiftiOS

Explain how ARC (Automatic Reference Counting) works in Swift/Objective-C. What is a retain cycle and how do you break one? Give an example using a delegate pattern and explain when to use weak vs unowned references.

↑ 91 upvotes · 34 engineers asked this · SDE1
Apple Hard Technical round SwiftiOSKotlin

Explain iOS memory management: ARC, strong/weak/unowned references, retain cycles. How does the system handle memory pressure? Walk through what happens when an app receives a memory warning and is then terminated.

↑ 62 upvotes · 39 engineers asked this · SDE2
Apple Medium Technical round SwiftJavaPython

Given a BST, find the closest value to a given target. Explain the O(log n) iterative approach using BST properties, and how the answer changes if the tree is unbalanced.

↑ 41 upvotes · 24 engineers asked this · SDE1
Apple Medium Technical round SwiftiOS

How does Core Data work in iOS? Explain the managed object context, persistent store coordinator, and the fetch request pipeline. When would you use Core Data vs Realm vs SQLite directly?

↑ 43 upvotes · 26 engineers asked this · SDE2
Apple Medium Technical round 2-6 yearsSwift

In Swift, what is the difference between DispatchQueue.main.async and DispatchQueue.main.sync, and why can calling .sync from the main thread deadlock your app?

↑ 19 upvotes · 10 engineers asked this · Senior SDE

Practice these questions with AI feedback

Get instant grading on your answers, identify your weak areas, and generate a personalised 14-day study plan — all free.

Build my study plan →

More Apple Questions

Apple Distributed Systems Questions Apple iOS Questions

Browse by company

Amazon Google Microsoft Flipkart Swiggy Meta Apple Netflix Uber Airbnb Stripe Razorpay PhonePe Paytm Zomato Salesforce Oracle Adobe LinkedIn Atlassian Accenture Deloitte Wipro Infosys TCS Capgemini PayU General Anthropic OpenAI TikTok JPMorgan Walmart Spotify DoorDash Goldman Sachs Revolut Canva Capital One Lyft SAP Siemens Shopify Grab Cognizant LTIMindtree Myntra Hotstar Twitter Snowflake

Frequently asked questions

Explain how ARC (Automatic Reference Counting) works in Swift/Objective-C.
Explain how ARC (Automatic Reference Counting) works in Swift/Objective-C. What is a retain cycle and how do you break one? Give an example using a delegate pattern and explain when to use weak vs unowned references.
Explain iOS memory management: ARC, strong/weak/unowned references, retain cycles. How does the system handle memory pressure? Walk through what happens when an app receives a memory warning and is then terminated.
Explain iOS memory management: ARC, strong/weak/unowned references, retain cycles. How does the system handle memory pressure? Walk through what happens when an app receives a memory warning and is then terminated.
Given a BST, find the closest value to a given target. Explain the O(log n) iterative approach using BST properties, and how the answer changes if the tree is unbalanced.
Given a BST, find the closest value to a given target. Explain the O(log n) iterative approach using BST properties, and how the answer changes if the tree is unbalanced.
How does Core Data work in iOS? Explain the managed object context, persistent store coordinator, and the fetch request pipeline. When would you use Core Data vs Realm vs SQLite directly?
How does Core Data work in iOS? Explain the managed object context, persistent store coordinator, and the fetch request pipeline. When would you use Core Data vs Realm vs SQLite directly?
In Swift, what is the difference between DispatchQueue.main.async and DispatchQueue.main.sync, and why can calling .sync from the main thread deadlock your app?
In Swift, what is the difference between DispatchQueue.main.async and DispatchQueue.main.sync, and why can calling .sync from the main thread deadlock your app?