给自己出的iOS面试题

面试题:

  1. weak修饰的对象如何被自动置为nil?
  2. strong修饰的对象在引用计数变为0时,是实时销毁的吗?
  3. autoreleasepool的基本原理;
  4. 哪些情况会造成内存循环引用,给出几个实例;
  5. 什么情况下需要weakSelf/strongSelf用法?
  6. __block修饰符在ARC和MRC下有区别吗?
  7. 自己写带Block参数的方法时需要在方法里复制Block吗? 为什么?
  8. Objective-C中的Block和Swift中的Closure有什么区别?
  9. Block有哪几种类型,实现原理有什么区别?
  10. GCD和NSOperation有什么区别?
  11. 用GCD实现一个严格的单例模式;
  12. 使用KVO需要注意哪些地方?
  13. 使用AFNetworking回掉块中需要考虑循环引用吗?为什么?
  14. AFNetworking是如何避免Block被提前释放的?
  15. SDWebImage的缓存机制是怎样的?
  16. 假如需要开发一个发消息功能,消息的类型有文本/图片/语音等消息,该用什么设计模式?
  17. 如果希望UITableView滚动时停止播放gif图片,可以如何实现;
  18. 如何处理UITableViewCell动态行高问题;
  19. 在Mac上抓过包吗?
  20. 如何实现下图中的布局效果:


    给自己出的iOS面试题_第1张图片
    4196_141020155634_1.jpg
  21. 手写翻转字符串;
  22. 手写快速排序算法;

暂时就这么多吧,待我慢慢补充答案.

你可能感兴趣的:(给自己出的iOS面试题)