背景:以前一直有准备,其中包括刷LeetCode、BAT的各种面试题。面试还是感觉不是很好,阿里的面试设计范围很广,而且问的很深,基本都是原理、为什么、如果***你会怎么做。。。这些问题,第一次面试没有算法题。
面试题
1.自我介绍,这个相信只要是准备找工作基本都会准备。
2.知道KVO吗?谈谈你的认识
3.Cagetory支持添加属性与生成成员变量吗?
4.weak是怎么做到解除循环引用的?weak的底层是怎么实现的?
5.用过CF开头的类吗?
6.怎么优化APP的?
7.平时喜欢用代码还是XIB,storyboard?你是怎么布局的?不等高的cell是怎么算高度的?cell的重用机制?(是边问边答中提出的一连串问题)
8.平时用手机的时候发热是怎么产生的?
9.线上APP现问题,你是怎么解决的?
10.谈谈你对block的理解?
11.你了解哪些多线程?你平时喜欢用那些?
12.你知道苹果的哪些锁?你平时喜欢用那些?他们的优缺点?
13.苹果有哪些反射机制?(这个没有明白)
14.谈谈你对runtime的理解?
14.你有哪些需要了解的?
差不多就这些问题,问题的答案我也没法写出来,大家可以自己总结,我会给一些参考的文档,基本能回答80%的问题
1.这是一个高手写的对runtime的理解https://www.ianisme.com/ios/2019.html
2.网易一面的问题和答案,这个有人总结出来了https://mp.weixin.qq.com/s/ijooFqdxQPy_75TRrSfJ0g
3.阿里P6一面的某一个小组问题和答案,这个每个部门,以及每个小组的问题都是不一样的https://mp.weixin.qq.com/s/oUOKKEuaoVW4nNISMD-CHg
4.KVO的原理http://www.jianshu.com/p/e59bb8f59302
http://www.cocoachina.com/ios/20161222/18417.html
http://tech.glowing.com/cn/implement-kvo/
5.《Objective-C高级编程 iOS与OSX多线程和内存管理》这本书能很好的理解weak,block
6.category添加属性和成员变量http://www.jianshu.com/p/535d1574cb86
7.牛人的BAT面试题http://blog.csdn.net/u013125233/article/details/51063569
8.这个是前人的总结,看看不会有错https://juejin.im/entry/5a00f59ff265da4314401967
总结
最后祝大家狂砍offer