墨迹天气面试题

墨迹天气面试题

墨迹天气面试题

一面

1.Swift 与 OC 方法调用的区别

2.方法查找的过程,Runtime 消息机制,怎么避免无法识别的方法选择器的闪退?

3.Runtime 的应用

4.Category 和本类的同名方法执行哪个

5.线上卡顿怎么监测,监测原理 Runloop

6.做过哪些优化

7.多线程用的多吗?线程同步有哪些方案?锁的效率从高到低说一下

8.打印结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- (void)viewDidLoad {
[super viewDidLoad];
dispatch_sync(dispatch_get_main_queue(), ^{
NSLog(@"0");
});

dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"1");
});

dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSLog(@"2");
});

dispatch_sync(dispatch_get_global_queue(0, 0), ^{
NSLog(@"3");
});

NSLog(@"4");
}

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.命令式编程与响应式编程

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×