针对开发人员/高级开发人员的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