一面
日期:6.29
时间:1h
内容:
- 自我介绍
- OC的属性修饰词(strong, weak, assign,copy)讲一下
- 堆和栈,对象什么情况下在堆上,什么情况下在栈上
- 自动释放池相关:在什么时候去销毁对象,自动释放池的意义?
- 多线程方案
- 线程安全相关
- 自旋锁与互斥锁的原理
- 对OC的动态性理解:
- 静态语言与OC语言调用方法/函数的区别
- 分类的方法是如何添加到类的
- KVO实现原理及使用
- 触摸事件/点击事件的传递过程(事件传递链)
- 项目中的技术难点
- tableview的性能优化
- 什么是离屏渲染, 哪些操作会引起离屏渲染,为什么会出现离屏渲染:
- 算法:每K个节点翻转链表
二面
日期:6.30
时间:40 min
内容:
- 自我介绍
- 项目相关
- 面试官介绍了他们的团队
- 两道多线程题目(问执行结果,就是考察GCD的同步异步,串行队列和并发队列)
- 场景:5个下载任务(比如下载图片),然后要求这5个任务完成后再去执行另外的任务,说出想到的所有方案
- 避免循环引用的方案,引申出 __block 相关问题
- 对象在堆上还是栈上
- id和instancetype的区别:instancetype会进行一个类型判断
- protocol的应用场景
- delegate用什么修饰,然后引申出strong,weak,assign,copy
- init、initialize和load
- 算法:顺时针打印矩阵
三面:
日期:7.6
时间:50 min
内容(这一面没录音,只能记得大概):
- 自我介绍
- 项目相关
- 讲讲runloop
- 还会哪些语言
- 为什么选择客户端
- 学习方法分享一下
- 源码看过哪些
- 音视频相关的了解哪些
- 算法:链表的选择排序
HR面
- 没有HR面
OC
- 三面结束一周后主动问HR结果,HR告知16号出结果,然后17号告知我要发意向offer。
- 7月20日收到意向offer邮件,就是是说隔了整整两周才收到意向offer邮件,一度以为自己凉了......
- 所以池子里的同学,不要慌,稳住
全部评论
(4) 回帖