序言
iOS目前形势,资本寒冬,裁员风波。今年,找工作人可能会更深刻地体会到今年的就业形势不容乐观,要求越发高了,由于接触面试这块比较多,所以自然也是做了这方面的准备,因此这篇文章主要是做一个面试分析。话不多说,接下来,我用思维模板,一一来展示。
一、面试题技术点
1、进阶技术讲解
架构模式
1.面向协议编程
2.面向接口编程(MVP):MVC跟MVP的区别以及使用的优缺点是什么?
3.MVC & MVVM
4.函数式编程设计模式
1.23中常见的设计模式:高频、中频、低频
2.iOS中的设计模式
3.MVC经典的架构中说说有哪些常用的设计模式?大工程项目管理
1.工程模块管理
2.组件化:组件间的通讯, 是通过什么方式来做的, 请详细的解释一下.性能优化
场景解决方案
1.高并发网络场景
2.UI优化处理
3.大数据同步第三方框架部分
1.YYKit
2.AFNetworking
3.SDWebImage常见面试题细解:
①SDWebImage是怎么来清理缓存的?
②SDWebImage是怎么处理接收的内存警告的?
③clear和clean有什么样的区别?
④SDWebImage中怎么计算图片的成本大小?
2、底层面试讲解
OC语言部分
1、属性修饰符:
① 什么情况使用 weak 关键字,相比 assign 有什么不同?
② @property 的本质是什么?ivar、getter、setter 是如何生成并添加到这个类中的?
2、对象消息机制
3、Block
①使用block时什么情况会发生引用循环,如何解决?
4、KVO & KVC
①如何手动触发一个value的KVO?
②KVC的keyPath中的集合运算符如何使用?
5、其他
①objc使用什么机制管理对象内存?
②BAD_ACCESS在什么情况下出现?
③ lldb(gdb)常用的调试命令?
④说一说OC中字典的实现原理?
⑤iOS中的消息机制和消息转发机制的区别?
⑥怎么解决iOS打包成功之后,运行在iPhone上会闪退,黑屏的问题?Runtime System
1、_objc_msgForward 函数是做什么的,直接调用它将会发生什么?多线程
1、runloop和线程有什么关系?
2、runloop的mode作用是什么?
3、GCD
①GCD的队列(dispatch_queue_t)分哪两种类型?
② 如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张图片,然后在都下载完成后合成一张整图)
③dispatch_barrier_async的作用是什么?
④苹果为什么要废弃dispatch_get_current_queue?
4、NSOperation
5、Runloop
①猜想runloop内部是如何实现的?
二、简历面试技巧和数据结构特训
1、简历制作技巧与分析
- 个人信息
- 技能方向
- 项目经验
- 工作经历
- 教育背景与培训经验
- 如何筛选技术,制作符合工作年限的简历?
- 如何突出简历中重点
- 如何让你简历过不不忘
- 拒绝模板式简历输出,做一个有技术的高薪人才.
- 如何展示项目,是最合适的方法
- 博客账号,运营维护技巧
- 容易忽略的简历细节,导致面试无缘
- 简历案例分析
①失败简历分析
②优秀简历分析
2、面试技巧分析
- 如何从开发人员角度,自我介绍
- 项目技术与开发过程介绍技术
- 如何主导面试过程
- 面试过程不可做的十大事情
- 怎样回答技术才是精彩的
- 如何有层次解释技术问题
- 如何表现自我学习能力与解决问题能力
- 如何有效谈薪资与福利待遇
- 面试过程中,如何预判面试是否成功
- 换工作,如何选择一个有发展的工作
- 如何友好委婉拒绝工作机会
- 遇到自己不会,如何委婉绕过问题
- 到岗时间的背后细节详解
- 准备面试,该从哪些方面准备
- 大型公司招聘内部不为人知的要求
3、iOS开发者晋升
- 技术瓶颈期,如何突破?
- iOS开发如何选择晋升空间?
- 成为高级软件开发工程师,背后都如何学习的?
4、数据结构
线性表
1、线性表顺序存储
2、创建线性表
①开辟堆区(malloc函数)
②结构体指针的运用
③利用lldb查看内存空间
3、销毁线性表
①free和Release妙用
4、插入元素
5、删除元素
①简单算法
②算法优化
6、算法时间复杂度估算
7、NSArray内存中的变化
8、NSMutableArray
①扩容实现原理
②内存中的变化
③capacity的正确运用编译器优化
1、Optimization Level
2、Debug&&Release
3、反汇编查看优化结果
结语:
以上的总结先告一段落了;
最后,面试还需要保持一个平稳的心态:“面试时尽力就好,遇到自己不会的问题也是正常情况”。如果面试者顺利答对了所有问题,难免会让面试官感到一丝尴尬,面试者也有可能会产生一些别的情绪。所以,我们要做的只是把自己的能力展示给面试官,做到不骄不躁。
另外附上一份对应上述的全套面试技巧视频分享,免费获取,要的可加iOS高级技术群:624212887,获取全套面试技巧视频
如图所示: