面试题总结

338 阅读2分钟

上周抽空去两家规模不错的公司刷了一下笔试题和面试题,好东西当然是要拿出来分享的,小伙伴们也可以借此

复习一下iOS基础知识,要是打算跳槽的,那就更有必要看一下了。

  1. 介绍一下MVC和MVVM设计模式(重点)

  2. 介绍一下内存管理用到的属性关键字

  3. 浅拷贝和深拷贝的区别

  4. APNS的远程推送过程,和本地通知的区别(重点)

  5. 多线程中GCD和NSOperation的不同,什么时候应该用NSOperation(重点)

  6. RunTime的消息传递机制和消息转发机制,开发中可以利用这时机做什么
  7. 对象间消息通信的方式有哪些?介绍每种通信方式的不同

  8. 类扩展和类别的不同

  9. SDWebImage的缓存机制(重点)
  10. AFNetworking的实现核心

  11. 如果让你实现一个缓存机制,来优化数据存储,你会怎么做

  12. 多线程同步,异步,串行,并行,要有深入的了解
  13. 要同时下载多张图片,在下载完成后根据所有图片生成一张大的图片,你会如何实现

  14. 你把独立完成的项目框架画出来

  15. 你在项目中印象最深的经历是什么

  16. 对hello这个字符串进行排序
  17. self和super的问题

  18. 关于GCD的信号量机制你懂吗
  19. 你会对网络框架进行二次封装吗,如何做,你都会提供什么方法供外部调用

  20. UIView和Layer的关系

  21. ViewController的生命周期
  22. 在项目中你对代码重构过吗?都做过那些优化?

  23. 关于block的内存泄漏问题如何避免

  24. 现实开发者你遇到过哪些遇到手动释放的对象
  25. 如何模拟实现多继承
  26. 在viewController的生命周期的各个时机点,你会做些什么操作
  27. ARC内存管理的机制
  28. 如何让一个对象具有拷贝功能

  29. 你什么时候会使用字面量语法,有什么优点
  30. 如何对一个臃肿的VC进行瘦身
  31. 关于AOP(面向切面编程)你用过吗?一般用来干什么,内部的核心是什么
  32. 应用中能使用的内存是有限的,当一个应用含有大量高清图片的时候你会怎么处理,来减少内存的占用

  33. RN的实现原理,你知道多少

  34. KVO的实现原理

这些题呢,都只是引子,具体的面试过程中肯定要加很多的知识点扩展和细节描述的,所以知识面很重要,对有些知识点要深度挖掘,比如YYCache,YYModel,AFNetworking的源码,还是建议大家多看看。