我工作快5年,最近很幸运的拿到了阿里offer,作为一个大专学历的我已经很知足了。
在这次面试之前,我根据阿里招聘的岗位要求投了很多其它公司类似的岗位进行面试积攒经验,像华捷艾米、信雅达、小米、美团等,有些被虐的很惨,也拿到了几个offer,犹豫了一下还是决定继续冲击阿里!
可以看到阿里学历一般都要求本科、计算机相关专业;对底层 Android开源项目:ali1024.coding.net/public/P7/Android/git 原理的要求较高
我自己总结了一下,能拿到这次offer原因主要有两点,一是多面试多总结,二是要想办法和面试官成为朋友。
面试失败,好的面试官会指出你的不足,提出一些针 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》开源 对性的学习建议。这种面试官,一定要留个联系方式!我一般当天晚上会发一条消息表示感谢;自己能力有所提升之后,再给面试官发一条消息感谢。几乎所有再次收到消息的面试官都愿意邀请我去面试,就算他们部门不招人,也会主动把我的简历推荐给其它部门。
接下来给大家分享一下我面试阿里的面试真题吧,希望对准备找工作的朋友有所帮助!(这些题目的相关答案大都可以在文末的资料中找到)
阿里一面:
1.apk启动流程
2.你刚讲到了handler,那你说一下你对handler的理解,怎么用java实现一个handler?
3.内存优化了解多少,什么情况下会发生内存泄漏。答到(四种引用链关系),再深入就是java内存模式,类的内存分布
4.说一下断点续传和多线程下载怎么实现。
5.类的动态加载;classLoader的双亲委托机制
6.让你设计一个图片加载框架你会怎么设计
7.你做的应用商店技术指标和业务指标是哪些
8.对下载和安装指标提高做了哪些优化
阿里二面:
1.为什么选用Fresco作为图片加载框架
2.你用CC框架组件化,为什么不选择阿里的Arouter框架,CC有什么好处。使用过程中用到什么问题。
3.你平时怎么做性能优化的?你用到哪些工具做性能优化,冷启动怎么优化
4.插件化你懂吗?热修复、插件化与组件化的区别是什么?
5.各大插件化框架有什么不同?
6.在加载阶段,虚拟机做了哪些事?
7.你平时怎么自己学习新技术
阿里三面
1.你觉得你做的项目最有挑战性的是什么
2.你是怎么做技术选型的,说一下为什么选用CC而没有选ARouter,你在用组件化框架的时候有没有遇到什么问题
3.MVC和MVVM,MVP说一下你的理解
4.你对你负责的项目在性能优化上做了哪些努力
5.你对自己的未来职业规划是怎么样的从阿里面试官提的这些问题,可以看出,现在面试问的很多东西,都是原理。
面试总结及建议
每一次Android面试,其实都是一次学习机会,是**对自己技术知识栈的梳理、考核、复盘。**我们应该抱着学习的态度,认真对待,找到自己比较薄弱的环节,尽快去查漏补缺学习巩固。对于面试来说,其实也没有太多的技巧可言,面试官主要看重的就是个人能力,无非就是两个方面:
- 技术广度
- 技术深度
建议
- 主要针对非科班同学:最好系统的看下操作系统和计算机组成原理,因为看完操作系统后才能系统的认识计算机的原理,能更好的从底层去认识上层
- 多看源码,包括Java层的代码在JVM中的实现源码(如synchronized的实现源码),Android Framework的源码(更好认识Android层的实现),Android开源库源码(OKHttp,Retrofit,RxJava,EventBus,Glide,Gson等等,更好的学习优秀开源库源码,做到用的熟,懂原理)
- 多问自己为什么,比如两个技术点优缺点分别在哪,各自的使用场景(如单例模式下饿汉与懒汉的优缺点,使用场景),这样才能更契合实际应用开发,针对不同场景使用不同技术点
推荐学习资料
- 脑图
6XbF5r-1649940634745)]
[外链图片转存中…(img-tkRgNCTF-1649940634745)]