iOS 腾讯手 Q 团队面经

腾讯面试官真的是非常非常好,以下是我一面的经验,一面过了,二面我放弃了。

自我介绍

为什么说 oc 是动态运行时语言?你是怎么理解的?

weak 属性内存管理?

block是什么?block 截获变量特性怎么理解?使用 block 的时候需要注意什么?__block 修饰的局部变量为什么就能在 block 内部被截获?堆栈 block 的区别?

crash 收集工具的设计?

启动优化怎么做的?

性能检测怎么做?

KVO 的实现原理是什么?如何手动 KVO?

KVC 的实现原理是什么?

tableview 的优化?

UIView 和 CALayer 的关系?

响应链是什么?

消息发送以及消息转发的流程是什么样?

atomic 修饰的对象就一定是线程安全的么?为什么?说明原因,举例说明

什么是线程安全?

说一下你对 MVVM 和 MVC 的理解?

其他的不记得了?
最后一道算法题,一个乱序数组中有一个数字超过一半,找出这个数字?分析时间空间复杂度?提出了两种解题思路,然后面试官友好的提出了另外几种解决思路,然后让分析时间空间复杂度

你可能感兴趣的:(iOS 腾讯手 Q 团队面经)