人事邮件本来约的11点打电话过来面试,然,结果到11.25才打过来。合肥的一个人打过来的。让我自我介绍,然后问的都是一些简单的基础知识,可能太在意了回答的不够流畅的。但是改说的东西我多说了。可能就是项目架构设计没讲好,最后被Pass了。
面试官问的面试题: 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!)