面试官很专业,注重底层细节一面上来给了几道题,不用做,阅读后直接作答:
1、property相关的属性有哪些,默认的属性有哪些;
2、NSString为什么要用copy;
3、block的类型,使用block要注意什么;
4、weak什么时候释放;
5、有哪些集合类,比如NSArray,有什么作用;
6、runloop与线程的关系;
7、KVO,delegate,Notification,target-action的区别;
8、+load和+initialize的区别;
8、一段代码找错的题目;
9、KVC的使用场景;
10、算法:把数组中的0移到数组后面,其他数字移到数组前面,并保持相对顺序,例如:输入1,9,8,4,0,0,2,7,0,6,0,输出:1,9,8,4,2,7,6,0,0,0,0都算是基本的题目,但会越聊越深入,不能只是简单的了解,需要能够说明其实现原理。
一面答的还算ok,就是最后的算法题需要现场上机敲代码,时间太紧有些边界条件没考虑到,写出来的程序没有运行成功(机试中应该多跟面试官交流自己的思路,最好是在思路捋清之后再动手)。
二面更多的是结合项目经验聊技术点,聊了路由实现以及混编开发(可惜自己做过的项目实际上都没有过混编,所以掉坑里了)。还有系统的缓存实现,其中的数据结构是怎样的,最后是你对他们的发问时间。
一面二面完已经是下班时间,直接就让回去等通知了。很明显没有达到100%的要求,这也是意料之中的,希望之后继续努力吧。
面试感受:一般;面试难度:有难度;面试来源:社会招聘