阿里iOS面试总结

一面

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】,就是看你了解有多广泛了。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:834688868,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

群内提供数据结构与算法、底层进阶、swift、逆向、flutter,整合面试题等免费资料
附上一份收集的各大厂面试题(附答案) ! 群文件直接获取
最新各大厂面试题以及进阶资料

二面

1、浅拷贝和深拷贝的区别

2、Block的循环引用、如何解决、原理

3、Block和delegate的比较

4、kvo的实现原理

5、Autorelease pool的实现原理

6、消息转发机制

7、线程死锁的四个条件

8、进程和线程的区别

9、持久化

10、事务的特征
中途还讨论了Masonry的约束应该写在哪里,我说应该写在layoutSubViews,他说会调用多次,然后争论了一会儿

三面

主要问了项目的一些东西 和给一些场景问我如何实现

自我介绍 介绍一些项目难点

主线程是相对于什么而言的

一张图片的内存占用大小是由什么决定的

索引的作用

索引的优缺点

在数组中找最小的k个数

淘宝下拉加载更多如何优化

淘宝页面发送HTTP请求的过程

介绍一下MVVM

知道哪些设计模式

三面面试官主要就聊了一些具体场景问题和一些基础,基础应该是没太大问题。

主目录
image

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:834688868,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

群内提供数据结构与算法、底层进阶、swift、逆向、整合面试题等免费资料
附上一份收集的各大厂面试题(附答案) ! 群文件直接获取
各大厂面试题

image

推荐阅读更多精彩内容