Android开发5年,大专学历,幸运拿到阿里offer,给大家分享一下阿里三面的面试真题

本文讲述了作者作为一个非科班大专生如何通过多面试、总结经验和提升技术深度,成功获得阿里Offer的经验,重点分享了阿里面试的真题以及提升技术栈的关键建议,强调了学习操作系统、理解Java虚拟机和掌握Android开发原理的重要性。
摘要由CSDN通过智能技术生成

虽然阿里对外招聘条件写的比较宽松,实际上对年龄和学历的要求还是挺严格的,除非你业余做了很牛的事情,比如自己开发了个牛逼的软件,对某些技术有深度研究什么的…

我工作快5年,最近很幸运的拿到了阿里offer,作为一个大专学历的我已经很知足了。

在这次面试之前,我根据阿里招聘的岗位要求投了很多其它公司类似的岗位进行面试积攒经验,像华捷艾米、信雅达、小米、美团等,有些被虐的很惨,也拿到了几个offer,犹豫了一下还是决定继续冲击阿里!

可以看到阿里学历一般都要求本科、计算机相关专业;对底层原理的要求较高

我自己总结了一下,能拿到这次offer原因主要有两点,一是多面试多总结,二是要想办法和面试官成为朋友

面试失败,好的面试官会指出你的不足,提出一些针对性的学习建议。这种面试官,一定要留个联系方式!我一般当天晚上会发一条消息表示感谢;自己能力有所提升之后,再给面试官发一条消息感谢。几乎所有再次收到消息的面试官都愿意邀请我去面试,就算他们部门不招人,也会主动把我的简历推荐给其它部门。

接下来给大家分享一下我面试阿里的面试真题吧,希望对准备找工作的朋友有所帮助!(这些题目的相关答案大都可以在文末的资料中找到)

阿里一面:

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等等,更好的学习优秀开源库源码,做到用的熟,懂原理)
  • 多问自己为什么,比如两个技术点优缺点分别在哪,各自的使用场景(如单例模式下饿汉与懒汉的优缺点,使用场景),这样才能更契合实际应用开发,针对不同场景使用不同技术点
  • 及时复盘总结面试中遇到的问题,分为两方面,一是知道但不能深入的,这种需要继续多看多总结,另一种是没接触过的,这种可以先了解下,万一面试又遇到了,可以回答下了解到的,之后再去深入总结(毕竟时间有限,不可能面面俱到,只能不断学习总结)

以下是自己结合自己的面试整理出来的,当然并没有完全覆盖到所有的Android知识点,大家可以结合自己的日常项目和一些书籍自己在整理汇总。

最后看面试题来举一反三(刷题刷题刷题,重要事情说三遍)

Android知识

对于Android这块,从打包到安装,再到一个App的启动,到一个页面显示出来内容,再到我们的手指去触摸屏幕对屏幕带来了改变,对这个流程可以跟进相应的源码,顺着这个流程来自己捋一遍,即使不是为了准备面试,作为Android知识的储备对开发工作也是有很好的提速作用的。当把上述流程梳理完成,再考虑对于其中每一个环节的各个击破,对流程的把控对于我们对应用进行系统性的优化也是非常有价值的。

Java知识

Java这块除了对一些基础知识的考察之外,主要是对于Java虚拟机,和多线程场景下对于锁的控制,还有对于其中集合类的一些相关实现和优化的点。流程上是对于一个.java文件如何被编译成.class文件,然后JVM如何去加载这个二进制流并进行执行,内存如何做分配,分配之后,如何为对象分配空间,执行字节码。

算法与数据结构篇

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

总结

**其实上面说了这么多,钱是永远赚不完的,在这个知识付费的时代,知识技能提升才是是根本!我作为一名8年的高级工程师,知识技能已经学习的差不多。**在看这篇文章的可能有刚刚入门,刚刚开始工作,或者大佬级人物。

像刚刚开始学Android开发小白想要快速提升自己,最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以这里分享一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。

这么重要的事情说三遍啦!点赞+点赞+点赞!

【Android高级架构师系统学习资料】高级架构师进阶必备——设计思想解读开源框架

第一章、热修复设计
第二章、插件化框架设计
第三章、组件化框架设计
第四章、图片加载框架
第五章、网络访问框架设计
第六章、RXJava 响应式编程框架设计
第七章、IOC 架构设计
第八章、Android 架构组件 Jetpack

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

85)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值