咱们不少iOS面试官在招聘的时候,不少都是直接在网上找一份iOS面试题就开始面试了!(😄偷懒😄)而我以为这是一个很错误的作法。网上不少面试题的确不错,可是这样招聘过来的iOS开发人员不必定是很是优秀的,多是背的面试题,也多是贵公司的面试题泄漏,致使iOS求职者表现很是好!面试
我的比较反感的是:招聘岗位不多,却叫去不少面试者面试!这个是一种比较严重不尊重求职的一种行为!其实也是对你的一种损失 联系过多面试者来面试,这样的作法你既浪费了求职者的时间,同时也会形成面试成本飙升算法
但愿面试官拿到简历,请你快速刷选出你合适中意的简历,而后分批安排面试! 对你中意的iOS 高级求职者!我但愿可以多几回面试流程。一个真正的iOS高级开发对于公司来讲很是重要,但愿经过几个流程由不一样的岗位 leader
写出评分,综合考虑, 切记盲目 同时这样正规的流程也能让求职者感觉到贵公司的重视,以及入职之后的对于工做的重视!编程
可能众多面试官仍是比较关心面试内容,我这里从设计模式
等这些方面,给各位面试官准备了一些题,但愿可以帮助到你数组
noatomic
& nonatomic
的理解weak
修饰的对象在被释放的时候会发生什么?是如何实现的?知道sideTable
么?里面的结构能够画出来么?block
用什么修饰?strong
能够?block
为何可以捕获外界变量? __block
作了什么事?RunLoop
的做用是什么?它的内部工做机制了解么?autoreleasepool
的?FRP (函数响应式)
的理解,延伸一下 RxSwift
或者 RAC
!Instrument
?分析:这里的内容很是有意思,对于一个iOS高级开发人员,我以为还有颇有必要掌握的!尤为开发3-5年,若是没有掌握这些内容我以为是不合格的安全
在一些合适的地方能够进行延伸!性能优化
- 第二题,第一问是关于
weak
这个面试是很是经典的,只要是个iOS开发都能回答一点。可是后面部分就须要他的学习能力了!- 第三题和第四题,侧击一下
MRC
一个资深4-5年开发经验或多或少都应该要知道一些MRC
相关的知识!顺即可以摸摸求职者的探索能力- 第五题和第六题:我以为若是求职者回答了一些实际开发相关以及文档能力的应该予以加分
- 第七题、第八题、第九题以及第十题都是能够拓展更多的内容!
isa
指向什么?类对象指向什么?元类isa 指向什么?objc
中类方法和实例方法有什么本质区别和联系?load
和 initialize
的去呗?_objc_msgForward
函数是作什么的?直接调用会发生什么问题?Objective-C
中调用方法的过程
分析:
Runtime
这个模块iOS面试不管初中高都会面试。我以为这个模块不光只是仅仅问问关于知识点内容,我更新想要听到求职者在这里面的爬坑探索辛历路程!
socket
链接和 Http
链接的区别Alamofire
封装网络 URLSession
为何还要用Moya
?dispatch_once
分析:这个模块多是通常开发人员的盲区。由于通常开发真心不必去操心这么多!面试官大家能够挑去拷问就OK,面试过程当中不能对答如流也是正常!固然若是可以回答上来应该加分!
分析:这个模块是绝大部分开发人员的软肋!这个模块是最能测试求职者思惟能力的! 可是我不建议面试官直接让求职者手写 在那样的面试紧张环境,手写数据结构或者一些算法代码,是很是有挑战的!思惟到我以为差很少!
分析:架构设计这一层对于一个iOS中高级开发人员来讲。这一块那是他必需要去思考和感觉总结的!若是这位求职者开发4-5年了,一直都在作应用层界面开发,那么想必他将来的职业晋升是已经落后了的!面试官不妨在这一个模块单独设计成一面,就和求职者一块儿交流讨论。毕竟这些思惟的设计,也许可以给面试官带来一些不同的东西!😊
tableView
有什么好的性能优化方案?分析:如今APP性能优化以及成为iOS中高级开发人员必需要去关系的东西!这一块我我的建议结合实际开发去和求职者交流。而不是仅仅停留在知识点问答,由于没有实际开发能力的性能优化都只是纸上谈兵!
一个优秀的iOS中高级开发 = iOS技术 + 学习能力 + 态度 其中态度和学习能力也是我在面试别人过程当中很是看重的!哪怕你技术目前不好,可是你有谦虚诚恳的态度,优秀的学习能力。也会愿意带你!网络
很是感谢你阅读到了这里!前面都是本人的建议,具体你的实施仍是须要你根据状况调整!数据结构
对于以上面试技术点,想要更好的探讨,能够进入iOS技术圈,一块儿探讨学习多线程