Interview
2018-07-18 本文已影响0人
Ly梦k
Tencent
- 先简单自我介绍一下自己
- 对mrc和arc的理解
- 谈谈对自动释放池的理解
- 自动释放池在mrc和arc区别
- 多层自动释放池嵌套的对象在哪一层释放
- 对于block,理解,mrc和arc下有什么区别,使用注意事项
- 对于深拷贝和浅拷贝的理解
- 对于strong weak,atomic等等理解
- weak原理
- 如果属性完全不加修饰词入weak,atomic,系统会怎么处理
- 简述下block的实现
- 描述下IM系统如何保证消息不丢
- IM数据库如何设计表
- C++引用和指针有什么区别
- Http协议30x的错误是什么
- 谈谈你懂runloop得理解:由浅入深
- 谈谈对多线程理解:由浅入深
- 谈谈category和extension区别,系统如何底层实现category
- 谈谈消息转发机制实现
- 谈谈事件响应链,如何响应view之外的事件
- 界面性能优化
Qunar
- atomic 和 nonatomic 的区别
- 手写@property (nonatomic, strong, readonly) NSString *context 的get 方法。前提是线程安全,lazy load的方式
- @property (atomic, strong) NSString *str; 如果重写了str的set方法,那atomic还有效吗?
- 写一个method 能满足输入[6, 5, 4, 3, 2, 1]数组 输出 [1, 2, 3, 4, 5, 6]数组
- http socket的区别,http是在网络里面的那一层。这里考的是网络传输的那7层。如何知道消息体的数据已经发送完成了。tcp udp的理解。
- 一个新的app的设计思路,主要看架构方面的想法
- 多个登录方式,比如qq, 微信,微博,手机号,邮箱等的登录,如果真对变化进行封装。这里考虑的更多的是设计模式上的问题。
- 事件响应链(比如点击事件)
- GCD中group的优点,及串行,并行队列
- framework时动态链接库还是静态链接库,和.a的区别是什么
- 将对象加入字典,array时的引用计数是多少
- weak的实现原理 strong的实现原理
- 关于引用计数的知识点
- 手写一个set方法
- block中的弱引用强引用,什么情况会导致循环引用,什么时候需要__strong保持强引用
- app的性能优化,都有哪些
- 对于image加载的优化方案有哪些
- Runloop, runtime的理解
综合
- 事件传递
- runtime
- 镞类
- 启动流程
- TCP UDP
- 动态库、静态库
- 高效HOOK
- 多线程
- 算法
- strong和retain的区别
- 实例变量和属性的区别和联系
- HTTP vs HTTPS
- HTTP头
数据结构
- 树、二叉树、堆
算法
- 找出无序数组中第N大的数字
深度!!!
高度!!!