Interview

2018-07-18  本文已影响0人  Ly梦k

Tencent

  1. 先简单自我介绍一下自己
  2. 对mrc和arc的理解
  3. 谈谈对自动释放池的理解
  4. 自动释放池在mrc和arc区别
  5. 多层自动释放池嵌套的对象在哪一层释放
  6. 对于block,理解,mrc和arc下有什么区别,使用注意事项
  7. 对于深拷贝和浅拷贝的理解
  8. 对于strong weak,atomic等等理解
  9. weak原理
  10. 如果属性完全不加修饰词入weak,atomic,系统会怎么处理
  11. 简述下block的实现
  12. 描述下IM系统如何保证消息不丢
  13. IM数据库如何设计表
  14. C++引用和指针有什么区别
  15. Http协议30x的错误是什么
  16. 谈谈你懂runloop得理解:由浅入深
  17. 谈谈对多线程理解:由浅入深
  18. 谈谈category和extension区别,系统如何底层实现category
  19. 谈谈消息转发机制实现
  20. 谈谈事件响应链,如何响应view之外的事件
  21. 界面性能优化

Qunar

  1. atomic 和 nonatomic 的区别
  2. 手写@property (nonatomic, strong, readonly) NSString *context 的get 方法。前提是线程安全,lazy load的方式
  3. @property (atomic, strong) NSString *str; 如果重写了str的set方法,那atomic还有效吗?
  4. 写一个method 能满足输入[6, 5, 4, 3, 2, 1]数组 输出 [1, 2, 3, 4, 5, 6]数组
  5. http socket的区别,http是在网络里面的那一层。这里考的是网络传输的那7层。如何知道消息体的数据已经发送完成了。tcp udp的理解。
  6. 一个新的app的设计思路,主要看架构方面的想法
  7. 多个登录方式,比如qq, 微信,微博,手机号,邮箱等的登录,如果真对变化进行封装。这里考虑的更多的是设计模式上的问题。
  8. 事件响应链(比如点击事件)
  9. GCD中group的优点,及串行,并行队列
  10. framework时动态链接库还是静态链接库,和.a的区别是什么
  11. 将对象加入字典,array时的引用计数是多少
  12. weak的实现原理 strong的实现原理
  13. 关于引用计数的知识点
  14. 手写一个set方法
  15. block中的弱引用强引用,什么情况会导致循环引用,什么时候需要__strong保持强引用
  16. app的性能优化,都有哪些
  17. 对于image加载的优化方案有哪些
  18. Runloop, runtime的理解

综合

  1. 事件传递
  2. runtime
  3. 镞类
  4. 启动流程
  5. TCP UDP
  6. 动态库、静态库
  7. 高效HOOK
  8. 多线程
  9. 算法
  10. strong和retain的区别
  11. 实例变量和属性的区别和联系
  12. HTTP vs HTTPS
  13. HTTP头

数据结构

  1. 树、二叉树、堆

算法

  1. 找出无序数组中第N大的数字

深度!!!
高度!!!

上一篇下一篇

猜你喜欢

热点阅读