iOS面试题-我会问面试题, 今天分享出来吧。 不会的可以私聊我, 加油

初级

关于单方面技术

  • ARC / MRC 简单叙述一下
  • 封装过什么控件, 简单叙述一下
  • 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用
  • Get Set方法
  • id 是什么
  • 代理, Block, 循环引用
  • 通知的使用

关于项目方面

  • 参与过什么项目, 负责什么
  • 项目中你参与的模块遇到过什么大的问题, 怎么解决的, 详细叙述
  • Git/SVN
中级

在基础技术问题的基础上

  • 通知
  • 简单讲述SDWebImage实现原理
  • 数据库语句
  • CoreData常用使用
  • 优化UITableView的方式, 方法
  • 深浅拷贝
  • 运行时你知道多少
  • 封装过什么

关于项目方面

  • 熟练的使用Git
  • 如果让你设计一个缓存模块, 你会怎么设计,需要考虑到什么
  • 说说MVC MVVM MVP
  • 做过最失败的项目是什么, 为什么
  • 你觉得怎么划分模块会好一点
高级

基于前两个、

  • 多线程详细说一下, 怎么封装一个适合自己项目的线程池,怎么处理会好一点。
  • 多线程CoreData, 这个基本所有的面试都会提到一下吧
  • 使用过什么开源的动画库, 这就是随便问问 比如pop, canvas等
  • 有自己的开源项目么?
  • 有全面的对网络库进行二次开发封装么, 怎么干的。
  • 讲一下运行时调换系统方法swizzle的原理
  • 自己尝试着模拟系统Block的实现
  • 怎么理解界面模板, 有做过相关开发么
  • IM的东西随便问问,如果公司需要
  • 内存优化怎么搞一下
  • 自己写个tableView玩玩?

项目方面

  • 参与过什么项目, 做过什么大型的项目, 负责哪些模块
  • 框架的设计有没有参与, 如果有的话, 参与了框架中哪一部分的工作, 怎么考虑你这部分未来的可扩展性的。
  • 在项目中严格按照产品,UIUE的思维去做,还是会把自己的想法提出来。
  • 怎么为一个项目写一套完整的网络库, 缓存库, 界面库。

你可能感兴趣的:(iOS面试题-我会问面试题, 今天分享出来吧。 不会的可以私聊我, 加油)