image
一面
1, 介绍项目
2, 在 KVO 中, 他是怎么知道监听的对象发生了变化?
3, 字典的工作原理 ? 怎 100w 个中是怎么快速去取 value?
4, 一个上线的项目, 知道这个方法可能会出问题, 在不破坏改方法前提下, 怎么搞?
5,Block 和函数指针的区别?
6, 性能优化
7,YYModel 和 AF 源码
8, 如何自己设计 JSON 转 model
9, 架构
他们的面试官好像都爱问一下底层的东西, 比如这次面试上来机会问我 KVO 的问题.
问题 [1] , 看着好像很吊的样子, 仔细一样不去思考, 可能还真不是太了解,
问题 [2] , 这个就是纯纯的数据结构的问题了.
问题 [3] , 这个就是 iOS 的 runTime 的问题了, 要只要 isa, 和一些 swizzling 技术
问题 [4] , 就是看你了解有多广泛了.
二面
1, 浅拷贝和深拷贝的区别
2,Block 的循环引用, 如何解决, 原理
3,Block 和 delegate 的比较
4,kvo 的实现原理
5,Autorelease pool 的实现原理
6, 消息转发机制
7, 线程死锁的四个条件
8, 进程和线程的区别
9, 持久化
10, 事务的特征
中途还讨论了 Masonry 的约束应该写在哪里, 我说应该写在 layoutSubViews, 他说会调用多次, 然后争论了一会儿
三面
主要问了项目的一些东西 和给一些场景问我如何实现
自我介绍 介绍一些项目难点
主线程是相对于什么而言的
一张图片的内存占用大小是由什么决定的
索引的作用
索引的优缺点
在数组中找最小的 k 个数
淘宝下拉加载更多如何优化
淘宝页面发送 HTTP 请求的过程
介绍一下 MVVM
知道哪些设计模式
三面面试官主要就聊了一些具体场景问题和一些基础, 基础应该是没太大问题.
主目录 |
---|
image
如果你依然在编程的世界里迷茫, 不知道自己的未来规划, 小编给大家推荐一个 iOS 高级交流群: 458839238 里面可以与大神一起交流并走出迷茫. 小白可进群免费领取学习资料, 看看前辈们是如何在编程的世界里傲然前行!
群内提供数据结构与算法, 底层进阶, swift, 逆向, 整合面试题等免费资料
附上一份收集的各大厂面试题 (附答案) ! 群文件直接获取
各大厂面试题
image
来源: http://www.jianshu.com/p/a354b1372c15