iOS 阿里一面
- 1分钟自我介绍
- 介绍项目中做的最有挑战的一件事情/经历
- Alamonfire和AFN用起来感觉哪里不一样
- 他们不好用的地方,或者可以修改的地方
- 简单聊一下Masonry的原理
- Masonry使用的时候有哪些点是需要注意的
- 项目中写到的向下转型是什么意思
- OC中的类簇了解过吗(感觉这个问的有点措手不及)
- 开始问一些非技术相关的问题
- 学校中学习技巧的一些点
- 与团队同学相处过程中遇到的不和,困难怎么处理的
- 开始问基础知识
- 先说说iOS中的属性(strong, weak,copy)之类的
- 什么时候用weak
- copy与mutablecopy有了解过吗(深浅复制)
- NSArray进行copy的时候是copy这个数组还是内部也会进行一些copy?mutablecopy呢?(还是深浅复制的问题)
- 有没有写过一些线程安全的代码(这一部分其实是我的弱项唔)
- 在网络编程中使用信号量会带来什么潜在的问题?(这里面试官应该默认是在主线程中,因为他说到了会阻塞UI的绘制,UI需要在主线程中绘制嘛,然后导致视觉上的卡顿)
- 假如就在主线程上使用信号量,还是进行网络请求,在使用信号量的时候有什么地方需要注意的?(然后给我举了个例子调用不同系统之间的接口)
这个地方其实是要设置超时,不能一直阻塞。因为个人写代码总是习惯写FOREVER
所以对这方面的问题完全没有考虑过呜呜呜 - 内存泄漏什么情况下会发生?如何解决?
- 内存泄漏会有什么影响?
- 属性的本质是什么?(应该是实例变量+getter+setter)
- 使用过Category吗?有什么需要注意的点?(看美团的文章就完事)
- 假如有两个Category,同时覆盖了主类中的同一个方法,哪个方***先被执行?(还是上面的文章里的内容)
- 往一个nil对象里面发消息的话会发生什么
- 消息转发的机制是怎么样的(三级机制)
- OC的runtime有没有别的交换的一个点?方法交换(Method Swizzling)了解过吗
进入UIKit相关的知识 - UItableView的复用池机制是什么样的?有什么地方需要注意的?
- 有没有针对UITableView的这个特点进行优化或者一些调研之类的呢
- tableview的cell动态计算高度
- 用户体验觉得哪方面还是可以优化的?
- YYModel了解过吗,他是怎么做json转model的了解过吗
- 关联对象了解过吗
- OC和Swift最大的区别
- UIKit里面的离屏渲染听过吗
- TCP三次握手的流程
- TCP和UDP有什么区别
- 建立一个HTTP连接之后如何让网络变得更快