#前言
iOS开发者都想了解最新的面试情况,去做更充足的准备,下面看那些有你自己不会的东西,自己可以研究下,也可以收藏以免不时之需!
第一部分底层必问题:
- 什么情况使用weak关键字,相比assign有什么不同?
- 深拷贝与浅拷贝
- 简要说一下@autoreleasePool的数据结构?
- autoreleasePool 在何时被释放?
- 说一下iOS内存分区情况
- 如何解决循环引用?
- Runloop 和线程的关系?
- isa指针的理解,对象的isa指针指向哪里?
- Runtime 如何实现 weak 属性?
- load和initialize的区别
- …
第二部分性能优化架构能力:
- 造成tableView卡顿的原因有哪些?
- 如何提升 tableview 的流畅度?
- APP启动时间应从哪些方面优化?
- 如何降低APP包的大小?
- 日常如何检查内存泄露?
- iOS有哪些常见的设计模式?
- 单例会有什么弊端?
- MVC、MVP、MVVM模式
- 编程中的六大设计原则?
- …
第三部分多线程、网络能力:
- 什么是多线程?
- 多线程的优点和缺点?
- 多线程的 并行 和 并发 有什么区别ÿ