阿里钉钉 -- Android岗 三面面经
这次面经之前得说一下的就是,我之前虽然说我抖音感觉有点凉,但是当天晚上的10.30左右,hr打电话来说让我准备三面,还是有点激动的,不过还是有很多不足的地方,需要加强,之后会努力刷LeetCode了,因为最开始我复习到现在花了两个月,一月时间基本上花在了剑指Offer,可能知识点还是不太够,我个人认为。
这是的阿里钉钉面试,是交叉面试了,面试我的面试官是一个1688的大佬,感谢大佬对我算法的耐心指导。
进入正题吧,面试题来了。
- 自我介绍呗,还是一样,项目介绍,项目的优缺点对比
- 对MVC和MVP的理解,还有Handler的内存泄漏问题具体是什么,解决方案知道有什么,空数据的时候Handler的阻塞问题,但是我还是没在Looper的源码中找到,这里让我好好再看一下。
- 另外为什么使用MVP,他的优势是什么,内存泄漏是什么样的。
- http的长连接和短连接这两个概念,怎么去理解。我把它理解为持久化连接是什么,然后对http的3个版本的主要区别做一个介绍
- http一整个流程,什么Baidu.com输入,经过了什么。比较简单的问题了,必答内容DNS、TCP的三次握手、四次挥手,当然我再答一些IP路由、链路还有物理层的内容
- RecyclerView的一个复用机制,和ListView的一个区别在哪里
- HashMap、ConcurrentHashMap、Hashtable的问题,数据结构,线程安全啊之类的问题了,当然还是考了version 1.7和1.8。
- 一个app的启动流程,冷启动和热启动,我说底层我不太了解,只知道会有AMS去调一些东西,但是具体内容不知道,后面就是一些初始化和Activitiy生命周期问题了。
- 一到算法题三值之和求目标值,没写暴力,因为大家都会写,但是浪费了很多时间,刚开始是通过二值求和的方式,但是想做成O(n),其实不太可能,后面改成了O(n^2)
这个面试不知道有没有凉,主要还是倒在了算法上吧,拖了比较久的时间了。毕竟第三面了,还是很希望拿到阿里的offer的