如何面试 iOS 工程师?

关注者
5,568
被浏览
914,532
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

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道隐藏关卡我也替你准备好了!