针对开发人员/高级开发人员的iOS面试问题

在本文中,我将介绍与iOS面试有关的大多数问题和答案。 它一定会在某种程度上帮助您。 开始吧。

Q1。 swift和目标C有什么区别? 什么是手动保留周期? 内存管理如何快速工作? 如何检查协议的可选方法在继承的类中实现? 什么是面向协议的编程? MVVM与MVC? 如何快速实施收款? NSArray vs Array? 您将如何在用户默认值中存储自定义对象?

https://medium.com/ios-expert-series-or-interview-series/top-ios-interview-questions-and-answers-august-2018-5cc89eb67160

Q2。 为什么@ property / @ synthesize不存在? 如何实现可选功能? 为什么网点薄弱? 您将如何修改init函数中的let变量? 什么是隐式展开可选项?

https://medium.com/ios-expert-series-or-interview-series/top-ios-interview-questions-and-answers-august-2018-part-2-9aa313dd04f2

Q3。 如何快速创建抽象类?

https://medium.com/ios-expert-series-or-interview-series/how-to-create-an-abstract-class-in-swift-f8ebdc30e26

Q4。 黑白Delegate和DataSource有什么区别?

https://medium.com/ios-expert-series-or-interview-series/top-ios-interview-questions-and-answers-august-2018-part-3-4868552831f4

Q5。 快速编写通用单例类? 什么是仅类协议? 快速的静态函数与类函数?

https://medium.com/ios-expert-series-or-interview-series/top-ios-interview-questions-and-answers-august-2018-part-4-b5bb73d9b3d6

Q6。 DIspatchQueue中有哪些不同类型的队列? 什么是坚实原则? 什么是依赖注入?

https://medium.com/ios-expert-series-or-interview-series/top-ios-interview-questions-and-answers-sept-2018-383dc3bbda67

Q7。 什么是适配器,责任链,装饰者,委托,外观设计模式?

https://medium.com/ios-expert-series-or-interview-series/design-patterns-on-ios-7523230f3d31

Q8。 黑白手动和自动参考计数不同? 什么是并发,有多少种实现方法?

https://medium.com/ios-expert-series-or-interview-series/top-ios-interview-questions-and-answers-oct-2018-c98e8821ff6c

Q9。 MVC vs MVP vs MVVM的黑白差异?

https://medium.com/ios-expert-series-or-interview-series/mvc-vs-mvp-vs-mvvm-13cc6ab43a4c

Q10。 什么是调度类型? 什么是DispatchWorkItem,DispatchSemaphore,DispatchGroup,DispatchData,DispatchTime,DispatchSource,DispatchIO,DispatchObject? 与分派块相比,操作有什么好处? 什么时候使用OperationQueue vs Central Dispatch? 您如何处理比赛条件? 您如何实现互斥? 什么是死锁? 什么是读者作家问题? 什么是优先级倒置?

https://medium.com/ios-expert-series-or-interview-series/operation-and-grand-central-dispatch-interview-questions-694da9a069fb

Q11。 什么是dispatch_once,dispatch_after,dispatch_apply? 什么是目标队列?

https://medium.com/ios-expert-series-or-interview-series/operation-and-grand-central-dispatch-interview-questions-part-ii-68014baa64b5

Q12。 Xcode 10中针对开发人员的新增功能是什么?

https://medium.com/ios-expert-series-or-interview-series/whats-new-in-xcode10-for-developers-a6205e77f2f5

Q13。 什么是黑白GitLab和Github?

https://medium.com/ios-expert-series-or-interview-series/gitlab-vs-github-key-differences-similarities-16e86f099941

Q14。 与将内容存储在userdefault中相关的成本是多少? 您将如何在用户默认值中持久保存文件引用? @synchronized如何工作? runloop的用途是什么-ScheduledTimerwithInterval与timerwithTimeInterval? NSArray vs NSSet哪个更快? 快速执行代码的切入点是什么?

https://medium.com/ios-expert-series-or-interview-series/top-ios-interview-questions-and-answers-nov-2018-part-1-ca238e6ebf72

Q16。 iOS 12中针对开发人员的新功能是什么?

https://medium.com/ios-expert-series-or-interview-series/whats-new-in-ios-12-for-developers-dce6c397ae88

Q17。 什么是NSZombie,线程清理程序和静态分析? 什么是延迟调用? 什么是App稀疏? 什么是Dsyms?

https://medium.com/ios-expert-series-or-interview-series/top-ios-interview-questions-and-answers-sept-2018-part-2-51ac0991316d

Q18。 什么是UIViewController生命周期? 内在内容的大小是多少? 什么是拥抱?

https://medium.com/ios-expert-series-or-interview-series/top-ios-interview-questions-and-answers-sept-2018-part-3-1fc93f200462

Q19。 Swift如何在内部管理阵列? 什么是可变的和不变的对象? 与班级进行交流的可能方式是什么?

https://medium.com/ios-expert-series-or-interview-series/top-ios-interview-questions-and-answers-sept-2018-part-4-44593de3804f

Q20。 什么时候需要使用UIImage(named:)和UIImage(contentsOfFile:)?

https://medium.com/ios-expert-series-or-interview-series/uiimage-optimization-9d5a188f65a5

Q21。 您能说出两种在iOS中调整图片大小的方法吗,所有框架都可以使用?

https://medium.com/ios-expert-series-or-interview-series/resize-image-with-swift-4-ca17d65bbc85

Q22。 用户通知框架有哪些新功能?

https://medium.com/ios-expert-series-or-interview-series/whats-new-in-user-notifications-a844897c7a7

Q23。 什么是转义闭包? 您可以写下代码以获取强大的闭包参考周期吗? 您使用哪一个来解决-无人或弱者? 什么是惰性变量? 什么是延期关键字?

https://medium.com/ios-expert-series-or-interview-series/ios-2018-series-cracking-ios-interview-or-become-ios-expert-4-ff2edd8a7074

Q24。 快速命名类型是什么? 什么是值类型? swift的原始值和关联值有什么区别? 您如何选择结构与类? 区别b / w子类vs类别vs扩展?

https://medium.com/ios-expert-series-or-interview-series/ios-2018-series-cracking-ios-interview-or-become-ios-expert-5-c360f0abde27

Q25。 什么是DispatchGroup,为什么使用它? 什么是OperationQueue,为什么要使用它? 什么是读者作家问题? 为什么要解决带有障碍的并发队列? 黑白差异#import vs @class? 什么是变异关键字?

https://medium.com/ios-expert-series-or-interview-series/ios-2018-series-cracking-ios-interview-or-become-ios-expert-6-a3e5a77c2405

Q26。 什么是CoreData并解释其堆栈? 苹果为处理多线程Coredata建议采用哪些流行策略? 黑白@IBDesignable和@IBInspectable有什么区别?

https://medium.com/ios-expert-series-or-interview-series/ios-2018-series-cracking-ios-interview-or-become-ios-expert-7-cd272ab610d4

Q27。 如何快速编写通用函数? Swift 4中的私有,公共,内部,开放和文件私有访问级别之间有什么区别?

https://medium.com/@nishantnitb/ios-2018-series-cracking-ios-interview-or-become-ios-expert-8-fd5f2cfd23ec

Q28。 快速枚举有什么好处? 什么是免费桥接? 为什么应用程序在设备内存不足时崩溃? 黑白是ConformsToProtocol还是RespondsToSelector? 什么是响应者链和FirstResponder? 黑白框和边界不同吗? 浅拷贝还是深拷贝?

https://medium.com/@nishantnitb/ios-interview-questions-9-cdef888983bb

Q29。 您将如何在Xib的ScrollView上应用自动布局,需要添加多少约束?

什么是自动版图生命周期? 什么时候调用setNeedsLayout,setNeedUpdateConstraints,layoutIfNeeded?

https://medium.com/ios-expert-series-or-interview-series/auto-layout-cycle-in-ios-the-layout-cycle-18704d5a4ff7

https://medium.com/allatoneplace/programmatic-uiscrollview-with-autolayout-in-ios-11-f4f50c9e9dd7

Q30。 在目标C中,什么是块文字,块指针? __block变量的用途是什么? 您可以编写代码来避免在obj c中捕获self时的强引用循环吗?

https://medium.com/ios-expert-series-or-interview-series/ios-2018-series-cracking-ios-interview-or-become-ios-expert-fadd22024953

Q31。 什么是KVC,KVO? 你曾经用过吗? swift 3中的swift 4有什么新功能?

https://medium.com/ios-expert-series-or-interview-series/ios-2018-series-cracking-ios-interview-or-become-ios-expert-2-a9d7688004b7

Q32。 消息传递在Obj-C中如何工作?

https://medium.com/ios-expert-series-or-interview-series/cracking-ios-interview-or-become-ios-expert-3-4130d699f52e

Q33。 什么是CallKit框架? 你曾经用过吗?

https://medium.com/ios-expert-series-or-interview-series/introduction-to-callkit-9de5e5f76a65

Q34。 什么是VoIP推送通知? 您曾经使用过PushKit Framework吗?

https://medium.com/ios-expert-series-or-interview-series/voip-push-notifications-using-ios-pushkit-5bc4a8f4d587

Q35。 什么是SwiftLint? 为什么swxftlint应该集成在基于swift的iOS项目中?

https://medium.com/ios-expert-series-or-interview-series/swiftlint-and-ios-swift-projects-a2db9f7d449b

Q36。 什么是map / filter / reduce API,其返回类型是什么,使用它的目的是什么?

https://medium.com/ios-expert-series-or-interview-series/sequences-and-collections-in-swift-4-4f013010445d

Q37。 什么是PushNotification? 怎么运行的? iOS 11/12中的推送有效载荷大小是多少?

https://medium.com/ios-expert-series-or-interview-series/apple-push-notifications-interview-questions-and-answers-54e160f29363

Q38。 编写代码以使用Swift泛型实现观察者模式?

使用Swift泛型和闭包实现观察者模式

ViewModel和UIView之间的绑定

medium.com

Q39。 什么是Singelton,Facade和Command模式,您能否解释和实现?

https://medium.com/ios-expert-series-or-interview-series/the-singleton-facade-and-command-patterns-a6ad376f950d

感谢您的阅读,请通过评论或鼓掌让我知道您的反馈意见。