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

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

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

3、Block和delegate的比较

4、kvo的实现原理

5、Autorelease pool的实现原理

6、消息转发机制

7、线程死锁的四个条件

8、进程和线程的区别

9、持久化

10、事务的特征

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

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

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

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

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

索引的作用

索引的优缺点

在数组中找最小的k个数

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

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

介绍一下MVVM

知道哪些设计模式

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

推荐阅读更多精彩内容

  • 推荐阅读:iOS开发——BAT面试题合集(持续更新中) 一面 1、介绍项目 2、在KVO中,他是怎么知道监听的对象...
    iOS开发之家阅读 954评论 1 10
  • 原文链接 一面 1、介绍项目 2、在KVO中,他是怎么知道监听的对象发生了变化? 3、字典的工作原理 ?怎100w...
    萌小奇阅读 1,947评论 0 11
  • 更新 面试基本已经结束了,目前已拿头条、百度、腾讯offer,现在可以好好来写写总结了,关于面试题,可能没那么多时...
    Tamp_阅读 30,501评论 92 595
  • 那一封封情书中, 阿狸该以哪些文字, 来表达对桃子的爱意? 那一封封信笺中, 又该以哪些言语, 来表达当中的纸短情...
    半江紅阅读 23评论 0 0
  • 与智者同行,如沐春风。昨天听陈立校长说起学校面临的三个挑战——“缺乏人才储备的战略高度,缺乏设计规划的系...
    教育谭阅读 70评论 0 4