{"id":23,"date":"2025-01-29T19:32:32","date_gmt":"2025-01-29T19:32:32","guid":{"rendered":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/?p=23"},"modified":"2025-05-15T11:28:51","modified_gmt":"2025-05-15T11:28:51","slug":"senior-ios-developer-interview-questions","status":"publish","type":"post","link":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/index.php\/2025\/01\/29\/senior-ios-developer-interview-questions\/","title":{"rendered":"Senior iOS Developer Interview Questions"},"content":{"rendered":"\n<ol class=\"wp-block-list\">\n<li>What is difference between value type and reference type?<\/li>\n\n\n\n<li>What is difference between class and structure in Swift?<\/li>\n\n\n\n<li>What is autorelease pool?<\/li>\n\n\n\n<li>What is runloop?<\/li>\n\n\n\n<li>What is NSManagedObject?<\/li>\n\n\n\n<li>What is NSManagedObjectContext?<\/li>\n\n\n\n<li>Explain @published macro.<\/li>\n\n\n\n<li>What is ObserveableObject?<\/li>\n\n\n\n<li>What is dynamic dispatch?<\/li>\n\n\n\n<li>Difference between static and dynamic framework.<\/li>\n\n\n\n<li>What is MVC?<\/li>\n\n\n\n<li>What is Thread Sanitizer?<\/li>\n\n\n\n<li>What are different ways of implementing concurrency in iOS?<\/li>\n\n\n\n<li>What is publisher in Combine?<\/li>\n\n\n\n<li>What is subscriber in Combine?<\/li>\n\n\n\n<li>What are different types of publishers?<\/li>\n\n\n\n<li>What are different methods of publishers?<\/li>\n\n\n\n<li>What are difference between global queue and &#8230;. ?<\/li>\n\n\n\n<li>How to see what dynamic frameworks an executable depends on?<\/li>\n\n\n\n<li>How to see whether a framework is &#8217;embedded&#8217; or not while adding it as dependency?<\/li>\n\n\n\n<li>What is dynamic loader\/linker?<\/li>\n\n\n\n<li>What is static linker?<\/li>\n\n\n\n<li>What is a view modifier?<\/li>\n\n\n\n<li>What is a geometry reader?<\/li>\n\n\n\n<li>What is Autolayout?<\/li>\n\n\n\n<li>What is size class and what are types of size classes there are?<\/li>\n\n\n\n<li>Can we have multiple contexts while using single core data database?<\/li>\n\n\n\n<li>What is copy-on-write?<\/li>\n\n\n\n<li>Explain Codable.<\/li>\n\n\n\n<li>Explain Sendable.<\/li>\n\n\n\n<li>Explain Equatable.<\/li>\n\n\n\n<li>What is CustomStringConvertible used for?<\/li>\n\n\n\n<li>How can we make a singleton type safe?<\/li>\n\n\n\n<li>What is Actor in Swift?<\/li>\n\n\n\n<li>Explain usage of async and await.<\/li>\n\n\n\n<li>What is a retain cycle?<\/li>\n\n\n\n<li>How to detect retain cycle?<\/li>\n\n\n\n<li>What is on-demand resources in XCode? <a href=\"https:\/\/www.youtube.com\/watch?v=BcTir13_SNA&amp;t=333s\">https:\/\/www.youtube.com\/watch?v=BcTir13_SNA&amp;t=333s<\/a><\/li>\n\n\n\n<li>What is OSLog?<\/li>\n\n\n\n<li>Where do you save API Keys in app?<\/li>\n\n\n\n<li>Can you explain factory pattern with an example?<\/li>\n\n\n\n<li>Can you explain adapter pattern with an example?<\/li>\n\n\n\n<li>Can you explain iterator pattern with an example?<\/li>\n\n\n\n<li>Demonstrate usage of Sequence protocol.<\/li>\n\n\n\n<li>Demonstrate usage of Hashable Protocol.<\/li>\n\n\n\n<li>How to avoid users to take screenshots of any particular screen in iOS?<\/li>\n\n\n\n<li>What is URLSession? <a href=\"https:\/\/elamir.medium.com\/mastering-urlsession-in-swift-a-comprehensive-guide-d3a3aa740f6e\">https:\/\/elamir.medium.com\/mastering-urlsession-in-swift-a-comprehensive-guide-d3a3aa740f6e<\/a><\/li>\n\n\n\n<li>How does Prefetching CollectionView DataSource works?<\/li>\n\n\n\n<li>What is keyset Paging approach to handle pagination?<\/li>\n\n\n\n<li>What is LocalizedStringResource used for and any particular reason to use it in AppIntents?<\/li>\n\n\n\n<li>What is Address Sanitizer and Thread Sanitizer?<\/li>\n\n\n\n<li>What is @namespace property wrapper in SwiftUI?<\/li>\n<\/ol>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[5,6,7],"class_list":["post-23","post","type-post","status-publish","format-standard","hentry","category-interview","tag-interview","tag-ios","tag-swift"],"menu_order":0,"_links":{"self":[{"href":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/index.php\/wp-json\/wp\/v2\/posts\/23","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/index.php\/wp-json\/wp\/v2\/comments?post=23"}],"version-history":[{"count":17,"href":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/index.php\/wp-json\/wp\/v2\/posts\/23\/revisions"}],"predecessor-version":[{"id":56,"href":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/index.php\/wp-json\/wp\/v2\/posts\/23\/revisions\/56"}],"wp:attachment":[{"href":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/index.php\/wp-json\/wp\/v2\/media?parent=23"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/index.php\/wp-json\/wp\/v2\/categories?post=23"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chanchalgeek.com\/code.chanchalgeek.com\/index.php\/wp-json\/wp\/v2\/tags?post=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}