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