一面
1.Swift 与 OC 方法调用的区别
2.方法查找的过程,Runtime 消息机制,怎么避免无法识别的方法选择器的闪退?
3.Runtime 的应用
4.Category 和本类的同名方法执行哪个
5.线上卡顿怎么监测,监测原理 Runloop
6.做过哪些优化
7.多线程用的多吗?线程同步有哪些方案?锁的效率从高到低说一下
8.打印结果
1 | - (void)viewDidLoad { |
9.Flutter 遇到过什么问题,图片列表滑动把不在屏幕上显示的内容干掉(复用)会有什么问题吗,优化方案
10.个人规划
二面
1.Flutter 的状态管理
2.Flutter 布局,Expanded 和 Flex 布局的区别
3.InheritedWidget 用过吗?stream 用过吗?
4.Flutter 动画
5.webView 与 H5 交互,为什么没有考虑注册的方式,加载一个 H5 页面经历了哪些步骤?
6.HTTPS 增加了哪些流程?DNS 的过程
7.长链接,了解 webSocket 吗
8.直播推流的过程
9.内存管理,类的属性 p.name = @”zhangsan”; 和方法里的变量 NSString *name = @”zhangsan”; 分别存在哪里?
10.交换方法
11.Category 的本质
12.多线程,线程同步都有哪些方法,值为1的信号量和互斥锁有什么区别
13.算法:一个 int 数组,查找第 K 个大的数。
二面
1.介绍项目亮点
2.数据和链表区别
3.方法查找过程
4.frame bounds 区别,UIView、CALayer,动画
5.block __block
6.内存优化 查找内存泄露
7.锁 自旋锁使用场景 互斥锁和信号量区别
8.方法交换是怎么交换的,注意点
9.链表是否有环
10.flutter 的状态管理
11.命令式编程与响应式编程