忘记有木有笔试了,就说面试的吧
第一轮-技术面
面试官共两人,自我介绍不用说肯定有
问及内容都会深挖,大致包含:
- 修饰符类型
- 内存管理的实现
- block的类型和区别,解决循环引用的方法,__block能否解决循环引用,为什么
- 消息发送及转发机制,介绍下方法签名
- KVO和KVC的实现原理
- 响应链
- Runloop原理,用户进行操作的事件在Runloop中是在什么时机执行的,source0、source1里面分别对应的是什么事件
- 性能优化方案(启动优化、卡顿优化、耗电优化、包体大小优化),包体大小优化里面还会问及每种方案的原理
- 使用layer.cornerRadius和layer.maskToBounds设置圆角一定会触发离屏渲染吗,离屏渲染是什么
- UIViewController的详细生命周期,如果想把UIViewController的地步View替换为UITableView,该在什么时机
- 如果你的应用在一启动就黑屏了,该怎么排查解决问题(问题出自三方库,看不到源码)
- 如果让你设计一个基于sqlite的数据存储组件,你怎么去构思设计
- 分类相关,同名方法的最终调用结果以及为什么、分类能够添加成员变量吗
- 关联对象的实现原理、存储在哪
- 多线程相关
- load和initlize的区别,分类、原类、子类对应的调用顺序等
第二轮-部门负责人面
自我介绍不用说肯定有
其他包含:
- 你的职业规划
- 如何架构一个项目
- 简历项目所涉及的技术要点
第三轮-hr面
到这面,基本也没啥大问题了,就聊聊薪资待遇啥的