笔试题
笔试题
一面
1、类方法和实例方法有什么区别?
2、用封装的类方法去请求网络会有什么问题?
3、说一下单例。单例的作用是什么?为什么不能多次创建对象?
4、说一下 ARC、MRC,有什么区别?有啥优缺点?
5、自动释放池的使用场景?耗内存时需要加到池子里。
6、沙盒目录除了 Documents 还有啥?Cache 和 Temp 有什么区别?
SDWebImage 是在 Library 下的 Caches 里
7、项目里用地图了吗?如果用系统的地图会有一个问题,电量急速下降,遇到过这个问题吗?
8、都有哪些可能循环引用?
9、说一下从网络请求回来的数据怎么存?数据持久化的方法。数据库是存在沙盒的哪个目录?我说在 Documents 中。
10、assign 与 weak 区别?
11、笔试题19的答案为什么是2、5?
12、说一下冒泡排序的思路?
13、GCD 需要注意什么?我说了一下使用场景。
14、Runtime、Runloop 了解吗?Runloop 有哪些 Mode?说一下 CommonMode ?
15、最后一个问题:类似简历 右上角是图片(宽高已知) 左边是一段文字 文字会包裹着图片,问实现思路?
说了三个思路:
(1)计算一下上边 label 宽高,左边用一个 label 显示,下边多余的字也用另一个 label 显示。
(2)YYText 可能有处理办法,算是第三方。
(3)他提示底层一点的,我说绘制。
二面
1、了解项目,问在公司干啥。
2、AutoLayout 和 Masonry 有什么区别?
3、面向对象在 OC 中的体现?封装、继承、多态。你觉得最主要的是面向对象的哪个特性?
4、你对 H5、原生交互的看法。我说了实现方式后,他说不要实现细节,就你的看法。我又说了阿里是大前端,他说不要说阿里,你的看法呢?我说活动页用H5,其他用原生,可能效率高。
5、Block 和 delegate 的使用场景差异?
6、你觉得开发一个项目难点在哪儿?
7、其他问题:薪水能商量吗?有什么要问我的?