2016-10-09
你们要的隐藏关卡:
一份"有点难"的iOS面试题 - MrPeak的文章 - 知乎专栏感兴趣的同学可以关注我的公众号:MrPeakTech,后期抽空公布我的答案。
-----------------------------
2016-01-07
没想到引来这么多关注,半年多啦,贴份答主自己的答案和总结,回馈好学的同学们。
建议先答题再看答案 :)
iOS 中级面试题。
------------------------------------------------------------------------------
上面的答案都比较“抽象”,下面是我面试iOS程序员的问题列表(私人珍藏),能准确答对一半以上的人非常少(其实这些问题真的不难)。。有兴趣的可以试试。。
1. 什么是arc?(arc是为了解决什么问题诞生的?)
2. 请解释以下keywords的区别: assign vs weak, __block vs __weak
3. __block在arc和非arc下含义一样吗?
4. 使用atomic一定是线程安全的吗?
5. 描述一个你遇到过的retain cycle例子。(别撒谎,你肯定遇到过)
6. +(void)load; +(void)initialize;有什么用处?
7. 为什么其他语言里叫函数调用, objective c里则是给对象发消息(或者谈下对runtime的理解)
8. 什么是method swizzling?
9. UIView和CALayer是啥关系?
10. 如何高性能的给UIImageView加个圆角?(不准说layer.cornerRadius!)
11. 使用drawRect有什么影响?(这个可深可浅,你至少得用过。。)
12. ASIHttpRequest或者SDWebImage里面给UIImageView加载图片的逻辑是什么样的?(把UIImageView放到UITableViewCell里面问更赞)
13. 麻烦你设计个简单的图片内存缓存器(移除策略是一定要说的)
14. 讲讲你用Instrument优化动画性能的经历吧(别问我什么是Instrument)
15. loadView是干嘛用的?
16. viewWillLayoutSubView你总是知道的。。
17. GCD里面有哪几种Queue?你自己建立过串行queue吗?背后的线程模型是什么样的?
18. 用过coredata或者sqlite吗?读写是分线程的吗?遇到过死锁没?咋解决的?
19. http的post和get啥区别?(区别挺多的,麻烦多说点)
20. 我知道你大学毕业过后就没接触过算法数据结构了,但是请你一定告诉我什么是Binary search tree? search的时间复杂度是多少?我很想知道!
能准确的答对80%以上的朋友请联系我,I want you!
觉得100%秒杀 so easy的朋友也请联系我,另外20道隐藏关卡我也替你准备好了!