DEV Community

M Shahzad Qamar
M Shahzad Qamar

Posted on

iOS Technical Questions

  1. Swift: Q: What is the difference between weak, strong, and unowned references? A:

strong: Default, increases reference count.
weak: Doesn’t increase count, allows deallocation (used in closures, optional).
unowned: Non-optional version of weak, assumes referenced object will never be nil after assignment.

  1. SwiftUI:
    Q: What is GeometryReader used for?
    A: It provides access to the size and position of parent views. Used for building responsive layouts dynamically based on available space.

  2. UIKit:
    Q: How do you implement pagination in a UITableView or UICollectionView?
    A: Detect scroll position in scrollViewDidScroll, and when near bottom, fetch and append new data to your data source, then call reloadData().

  3. Core Data:
    Q: How do you implement background context saving in Core Data?
    A: Use newBackgroundContext() on the NSPersistentContainer and perform operations inside perform {} block to avoid blocking the UI.

  4. NFC:
    Q: What’s the difference between NFCNDEFReaderSession and NFCTagReaderSession?
    A:

NFCNDEFReaderSession: Only reads NDEF-formatted tags.
NFCTagReaderSession: Lower-level API, used for custom and advanced tag types (e.g., ISO7816, FeliCa).

  1. Data Structures:
    Q: What is the difference between a binary tree and a binary search tree?
    A: A binary tree has two child nodes per node. A binary search tree (BST) adds the constraint that left < parent < right for fast lookup.

  2. In-App Purchases:
    Q: What are App Store Server Notifications?
    A: They are server-to-server updates sent by Apple to notify about subscription events like renewal, cancellation, or refund.

  3. Notifications:
    Q: How do you test push notifications in development without a real device?
    A: Use Xcode’s push notification testing tool (since iOS 14+) or use Firebase Console/TestFlight for real-device testing.

  4. Firebase/Firestore:
    Q: What is the difference between Firestore’s set, update, and add methods?
    A:

set: Creates or replaces document.
update: Modifies existing fields only.
add: Adds a new document with a unique ID to a collection.

  1. Storyboard: Q: How do you reuse a view controller defined in a storyboard from code? A: Instantiate it using UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "MyVC").

Apple News & Developer Updates
iOS 18 expected at WWDC25: New AI APIs, lock screen widgets, and predictive app suggestions.
Apple Files Patent for “Contextual UI layering” – could change multitasking on iPad.
HR Question
Q: Tell me about a time you disagreed with your manager.
A: In a previous role, I disagreed on the timeline for a release. I gathered technical evidence, proposed a compromise plan, and we aligned after discussion.

Personality Question
Q: How do you handle pressure and tight deadlines?
A: I prioritize tasks, break work into sprints, eliminate distractions, and communicate clearly with the team to avoid surprises.

Project Management
Q: What tools do you use for managing agile development?
A: Tools like Jira, Trello, GitHub Projects, along with Slack for communication and Notion for documentation.

Team Management
Q: How do you handle underperformance in your team?
A: I diagnose root causes (personal, skill gaps, or misalignment), offer mentoring or training, and set measurable short-term improvement goals.

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.