Q1
Explain the difference between weak and strong reference cycles in Swift, and how you would prevent memory leaks when using closures in view controllers.
Why they ask this:* Memory management is critical in iOS development. This tests whether you understand ARC (Automatic Reference Counting), a fundamental concept that mid-level developers must master to write performant apps.
Q2
Walk us through how you would optimize an app that's experiencing slow scrolling performance with complex UITableView cells containing multiple subviews and image downloads.
Why they ask this:* This assesses your ability to diagnose and solve real-world performance issues, including knowledge of cell reuse, image caching, threading, and profiling tools—skills essential for mid-level developers.
Q3
Describe your experience with dependency injection and how you've used it to improve testability in an iOS project. What patterns or frameworks have you used?
Why they ask this:* This evaluates architectural understanding and best practices for writing maintainable, testable code—a hallmark of mid-level developers who think beyond just "making it work."
Q4
How do you handle networking requests in your apps? Walk through your approach to error handling, timeouts, and retry logic, and explain any networking libraries you've used.