从我毕业至今已一年半,毕业就想进阿里,因此这一年多来一直在准备和学习,同时也很关心阿里面试的动向。
今天跟大家分享一下我的阿里巴巴安卓客户端面试经历,部分题目忘记了,另外只列出相关题目,部分提供思路,具体的答案请大家自行点击这份全套最新1612页Android面试指导PDF下载参考解答,毕竟大部分朋友距离开工还有几天时间,这几天可以不用数大米了,一起来备战金三银四做做题吧。
突如其来的一面
电话预约:阿里的电话总是那么突然,经常在上班上的好好的时候,就突然来了说个杭州的座机电话,接的多了看到就可以猜到。大家习惯就好,一般面试官会提前打电话预约时间,可以预约一个自己合适的时间,因为我加班比较多,所以预约的都是晚上 9,10 点~,不得不说,阿里的面试官也挺辛苦的。
- 介绍自己
常规流程,简单介绍自己的毕业院校,工作经历以及一些兴趣爱好,提交准备好,多背几遍。 - 介绍自己做的项目
按照自己熟悉的项目流程框架去逐步介绍,项目主要做了什么,用了什么,这里一定要讲自己熟悉的部分,因为面试官会根据你提到的技术点展开后续的问题,千万不要给自己挖填不了的坑。我这边介绍的时候提到了开发,所以后面面试官问了好几个开发 的问题,所以一定要说自己熟悉的技术。 - 项目中最有难度和记忆最深刻的项目
这个问题按照实际去回答就好,可以说自己做过的但不一定是最难的,可以是自己最熟悉的,觉得有亮点可以说的,避免讲不了几句就没话可说的情况。 - 开源框架 – Volley,Gilde,RxJava源码分析ConcurrentHash,以及线程安全等问题。
- 底层红黑树是什么?什么是红黑树
这个问题就是对上面问题一个很好的补充,Hashmap 在 Java8 的时候,会将链表在长度大于8的时候进行链表转红黑树,那么同样这也是一个延伸问题。红黑树:是一种平衡二叉查找树, - 常用排序算法和时间复杂度
- 快排的实现原理
双指针,建议在纸上自行手写实现,这样才容易记牢。 - Android内存优化
- Android中的类加载器
- Android中的动画有哪几类,它们的特点和区别是什么
- 热修复原理
- 图片加载如何避免OOM
- 你觉得你的能力大概在什么方面?
一面相对来说是比较偏技术细节的,十分注重原理和源码解析。这里有一份互联网一线大咖整理的源码PDF手册,我也从中获益匪浅。现在把它分享出来。
下载地址:https://shimo.im/docs/3Tvytq686Yyv83KX
二面
二面的电话,同样还是那么的突如其来。。。二面的内部比较宽泛,偏项目和个人发展,没有标准答案,大家自行思考即可。
- 介绍自己,并介绍一下自己做的项目
- 自己主要负责哪块内容,其中印象最深刻的项目是什么
- 项目中遇到的最难的问题是什么,怎么解决的,
- 项目在生产上有没有遇到过问题,是什么样子的问题以及如何解决的
- 有没有因为 bug 或者其他原因导致的线上问题
- tcp udp区别
- framelayout relativelayout有什么区别
- 两个线程交替打印
- 三次握手 第二个包丢了会咋样?
- 对android什么地方最熟悉
- bitmap存储的位置 安卓几个版本有什么不同?
- 本人觉得工作这么久对业务有什么重大的贡献
- 项目小组有多少人,个人觉得自己在小组中是什么样的位置
- 工作这么久觉得业务上有什么缺陷,怎么优化
- 是否有参与项目架构的讨论和设计
- 业余时间一般做些什么
- 有 Github 账号,那GitHub 上印象最深刻的项目是什么
从二面的题目上可以看得出,考察的是各方面的能力,项目经历和设计能力,沟通能力以及学校能力,可谓是方方面面都在考察。
结语
二面过去了很久还没接到电话,当然有网友会喷已经凉了,但是即便凉凉也没关系,生活总归要继续,学习工作也要继续前行,我并没有气馁,只能说明还有很大的进步空间,下次再战!
最近疫情严重,在家待着哪里都不能去,刚好要我好好学习学习,争取等到疫情结束过后再次冲击!