- 自我介绍
- OC的属性修饰词(strong, weak, assign,copy)讲一下
- 堆和栈,对象什么情况下在堆上,什么情况下在栈上
- 自动释放池相关:在什么时候去销毁对象,自动释放池的意义?
- 多线程方案
- 线程安全相关
- 自旋锁与互斥锁的原理
- 对OC的动态性理解:
- 静态语言与OC语言调用方法/函数的区别
- 分类的方法是如何添加到类的
- KVO实现原理及使用
- 触摸事件/点击事件的传递过程(事件传递链)
- 项目中的技术难点
- tableview的性能优化
- 什么是离屏渲染, 哪些操作会引起离屏渲染,为什么会出现离屏渲染:
- 算法:每K个节点翻转链表
- 自我介绍
- 项目相关
- 面试官介绍了他们的团队
- 两道多线程题目(问执行结果,就是考察GCD的同步异步,串行队列和并发队列)
- 场景:5个下载任务(比如下载图片),然后要求这5个任务完成后再去执行另外的任务,说出想到的所有方案
- 避免循环引用的方案,引申出 __block 相关问题
- 对象在堆上还是栈上
- id和instancetype的区别:instancetype会进行一个类型判断
- protocol的应用场景
- delegate用什么修饰,然后引申出strong,weak,assign,copy
- init、initialize和load
- 算法:顺时针打印矩阵
- 自我介绍
- 项目相关
- 讲讲runloop
- 还会哪些语言
- 为什么选择客户端
- 学习方法分享一下
- 源码看过哪些
- 音视频相关的了解哪些
- 算法:链表的选择排序
- 没有HR面
如果你正在跳槽或者正准备跳槽不妨动动小手,添加一下咱们的交流群931542608来获取一份详细的大厂面试资料为你的跳槽多添一份保障。