点众科技
一面:
1.组件化,哪种最好
2.做过内购吗?
3.做过哪些性能优化?启动优化,main之后,做过二进制重排吗?webp打包出来会比png小吗?
4.runtime流程,应用
5.分类都用到哪些地方
6.遇到过死锁吗?
7.多线程用的多吗?
8.NSTimer循环引用,中间对象用NSObject和NSProxy在流程上有什么区别?写法一样吗?在dealloc里停掉定时器可以吗?5s的定时器打印,提前关掉定时器还会打印吗?用weakSelf能解决循环引用吗?
9.属性修饰符都有哪些?
(1)nonatomic和atomic区别
(2)可变数组为什么用Strong,不可变数组为什么用copy,用strong有什么问题?
(3)block为什么用copy,MRC下能用retain吗?新创建的类被宏定义包裹是什么作用?类似swift中的?可选类型,unnull或nullable
10.做过广告吗?做过播放器吗?
11.口述算法:在非负int值的数组,所有元素都用上,可以+或-,结果为target,能有多少种写法?时间复杂度是多少?
二面:
1.介绍项目,组件化除了路由,需要注册,还了解哪些不需要注册的方案吗?target-action怎么实现的?让你设计一个不依赖注册的组件化,如何设计?
2.运行时runtime是怎么实现的?runtime的API,方法交互,KVO,新生成一个类,注册类的信息,还有别的吗?
3.从0到1的项目,需要注意哪些?
4.swift基于协议,怎么理解协议,在什么场景用协议多一些?组件传值用协议感觉不够泛
5.视频通话流程,是客户端录制吗?
三面:
1.介绍遇到的有挑战的问题与解决方案
2.怎么知识管理的?
3.未来规划
4.想找一个什么样的工作?