人人车面试题

人人车面试题

人人车面试题

一面

1.了解哪些设计模式

2.MVVM 解决什么问题

3.性能优化

4.内存管理的理解

autoreleasePool 的结构,一个 autoreleasePoolPage 的大小

5.weak 的原理

6.class 的结构,cache 的结构,bucket_t 的结构,方法查找的顺序,是逐个遍历吗?

7.关联对象存在哪里

8.Category 的加载流程

9.Runtime 的应用,动态方法解析里返回 YES,但是并没有添加方法,会怎么样?

10.三次握手与四次挥手,四次挥手后会立马断开连接吗

11.Swift 解包方式

12.Swift 中计算属性和存储属性的区别

13.Swift 类和结构体的区别,使用属性的写法上的区别

14.数组和链表的区别

15.快速排序,快排时间复杂度

二面

介绍项目

1.webView 与 H5 交互,拦截协议 url 有长度限制,有安全问题,可能会被抓包,JSBridge

2.埋点

  • 埋点保存/删除数据的时机

  • 内存里的最大容量,收到内存警告

  • 上报网络请求发送失败后的处理,埋点的补偿机制

3.支付

4.页面 A push B A willDisappear didDisappear B willAppear didAppear 的执行顺序

5.Person 类继承自 NSObject 类,没有实现 age 方法。两个实例 p1,p2,怎么让 p1 响应 age 方法,p2 不响应 age 方法。

6.消息发送机制和消息转发。

7.KVO 的实现原理

8.多个分类实现了同一个方法,查找顺序

9.Swift 的 String 为什么设计成值类型?

安全,copy,快速

10.设计 LRU 最近最少使用

Your browser is out-of-date!

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

×