iOS常见面试题

317 阅读2分钟
  1. 属性的关键字
  2. 浅拷贝和深拷贝的区别
  3. Block的循环引用、如何解决、原理
  4. 三种Block
  5. Block和delegate的比较
  6. kvo的实现原理
  7. AutoreleasePool的实现原理
  8. 消息转发机制
  9. 线程死锁的四个条件
  10. 进程和线程的区别
  11. 持久化
  12. 事务的特征
  13. 性能优化
  14. YYModel和AF源码
  15. 如何自救设计json转model
  16. 架构
  17. 主线程是相对于什么而言的
  18. 一张图片的内存占用大小是由什么决定的
  19. 索引的作用
  20. 索引的优缺点
  21. 在数组中找最小的k个数
  22. 介绍一下MVVM
  23. 设计模式
  24. 消息的调用过程
  25. http有哪些部分
  26. tcp和udp的区别
  27. 网络七层模型
  28. 响应链
  29. 如何扩大view的响应范围
  30. 如何通过一个view查找它所在的ViewController
  31. 微信分享大图如何实现,从进程的角度
  32. 进程间的通信方式,并举例
  33. 两个进程分别指向同一个地址空间并初始化一个值,分别输出什么
  34. 拥塞控制
  35. UDP可以实现一对多
  36. 如何访问并修改一个类的私有属性?
  37. Extension是什么?
  38. 如何把一个包含自定义对象的数组序列化到磁盘?
  39. 沙盒目录结构是怎样的?App Bundle里面都有什么?
  40. 签名机制大概是怎样的?
  41. UIScrollview大概是如何实现的,它是如何捕捉,响应手势的?
  42. Method Swizzling
  43. +load 和 +initialize 的区别是什么?
  44. 如何让Category支持属性(关联对象)?
  45. NSOperation相比于GCD有哪些优势?
  46. strong/weak/unsafe_unretained的区别?
  47. 如何为Class定义一个对外只读对内可读可写的属性?
  48. UIView和CALayer的关系?
  49. +[UIView animateWithDuration:animations:completion:]内部大概是如何实现的?
  50. 什么时候会发生 隐式动画?
  51. 如何处理异步的网络请求?
  52. frame和bounds的区别是什么?
  53. 如何把一张大图缩小为1/4大小的缩略图?
  54. RunLoop
  55. Toll-Free Briding是什么?什么情况下会使用?
  56. 当系统出现内存警告时会发生什么?
  57. 什么是protocol,delegate一般是怎么用的?
  58. autoreleasepool在什么情况下会被释放?
  59. 为什么UIScrollview的滚动会导致NSTimer失效?
  60. 为什么当Core Animation完成时,layer又会恢复到原先的状态?
  61. 你会如何存储用户的一些敏感信息,如登录的token?
  62. 什么时候会发生 Bad Access异常?