先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注Android)
正文
学习情况
-
Android的入门主要学习了《第一行代码》
-
Android进阶学习《Android开发艺术探索》,面试必读,重点知识我反复看了好多遍。
-
Android的面经学习简书厘米姑娘,也是我腾讯的内推人,非常感谢她。
-
java基础学习了《java编程思想》,看源码。
-
java总结学习《码出高效》,这本书对知识点总结的很好,面试回答的时候我都是根据这本书的总结来回答的。
-
jvm学习《深入理解java虚拟机》,必读,我是背了重点的内容,对于安卓来说,只需要熟悉重点章节就可以了。
-
计算机网络:《计算机网络》谢希仁的,熟悉重点部分就可以了
项目两个
-
自己做了一个学校驾校的小应用
-
针对阿里面试,寒假之前做了语雀的app
奖项
–
acm奖牌0,算法超级渣,《剑指offer》都没刷完
省里面超级水的应用开发比赛三等奖,二等奖
腾讯一面
(一面面试官很nice,但是发短信约时间之后,鸽了我4个小时,我上课时打过来,约晚上,结果鸽了我三天,之后我主动发短信约时间,答应了之后结果又鸽了我。。。orz)
-
自我介绍
-
自我介绍时说过自己看过EventBus源码,然后让我谈谈事件总线的理解。
-
EventBus会有什么问题吗?
-
EventBus、接口回调、观察者模式的使用场景说一下。
-
项目什么地方用到数据的持久化,说一下。
-
Activity的生命周期,弹出dialog和一个activity的dialog生命周期有什么区别?
-
Activity的启动模式,应用场景,然后举了很多微信的场景,让我去选择用那种启动模式,说下理由。
-
Activity进程的优先级。
-
如何防止微信不被系统杀死?
-
service两种启动模式,区别
-
两种启动模式,如果我在退出Activity的时候没有退出service会怎么样。
-
设计一个图片浏览框架,(线程池,lru缓存,brabra的说了一堆)。
-
有一个很大很大的图片加载到内存上,不能降低清晰度和压缩图片你怎么解决?(提示我局部显示?我没懂)
-
如何适配不同厂商的手机,然后设计模式,brara又说了一大堆,最后还说到jetkins自动部署上面去了
-
AsyncTask源码分析,每个方法在哪个线程执行的?
一面面试官真的很好,有些你不懂的他还举例教你,一面我觉得难度比较大,常规的背题肯定会不满意的,题目比较少,引申出来的知识点却很多,大部分时间都是我在谈自己的解决思路然后分析到知识点的源码上面去,比如说像如何防止微信不被杀死这种,其实我说了常用的进程保活思路,它还要我分析其他情况
面试官说我不错,叫我明天准备二面,电话一挂,我就愉快地去吃饭,吃着饭看状态灰了,这谁顶得住啊~
回去看完电影之后,再查一下状态,变成了复试,估计之前是到时间简历被释放了。
腾讯二面
(二面总监/面委,由于开会,鸽我半个小时)
-
上来大数相乘,我做的眼泪都快流出来了。
-
put和post的区别,应用场景。
-
看了我的flutter项目,我改了一个框架,问我这个框架。
-
让你设计一个跨平台的框架,你怎么设计(这里我谈了flutter的架构)。
-
https的流程。
-
fragment的懒加载。
-
一个商场里有一个电影院,你会把厕所建设在哪里,说一下你的理由?
hr面
(鸽了我20分钟,腾讯都是大猪蹄子?哈哈~~开玩笑,面试官真的很忙,有时候换位思考一下,心态好点)
-
自我介绍
-
为什么选择微信?
-
对我们了解吗?
-
愿不愿意来
-
家里的情况
-
什么时候可以来实习,可以实习到什么时候
(入职)
阿里一面
-
自我介绍
-
自己看过的源码,说一下?
-
接下来就EventBus的东西了,还是老问题,优缺点,有没有什么问题,列举了很多场景,我看源码看的比较细,根据自己看过的东西做回答和分析,然后还是,接口回调和观察者模式之间的选择。
-
问我你看过这么多源码,你觉得什么东西最重要?
-
答了源码中看到了大量的反射使用,多线程方面,Collections,数据结构这些。
-
问我多线程,引申出handler,我从handler的源码去解释
-
handler引申出的内存泄漏,为什么静态内部类不会持有外部对象
-
接下来还是场景题,图片框架的实现,涉及到的Lru缓存,线程池,线程池该如何分配线程数量。
-
APP从打开到显示之间发生的事情。
-
为什么java可以调用c/c++的函数,调用jni发生的事情说一下。
-
动画种类,使用动画的步骤,有没有看过动画框架的源码。
(面试官说我在应用层上基础知识很好,懂得去看源码学习,但是android深度不够,应该要往Framework和c/c++那边学习)
阿里二面
1.自我介绍
2.还是自己对EventBus的理解。
3.学习Android的过程
4.项目遇到的问题,怎么解决的
5.回答过程中提到csrf,问原理
6.对公司有什么要求
7.IPC
8.socket的连接过程
(说我这方面的技术和兴趣不错,但是缺少大型项目的经验,考虑不够全面,如果有一个机会给我就很好了。)
阿里三面
-
自我介绍
-
详细说我第一个项目
-
http缓存
-
如何把ip地址存储在一个int 变量里面?
-
详细介绍第二个项目
(30min,面试官说我自己对技术的热情很不错,让我保持下去,口头直接让我过,让我等hr)
阿里HR面
建议
当我们出去找工作,或者准备找工作的时候,我们一定要想,我面试的目标是什么,我自己的技术栈有哪些,近期能掌握的有哪些,我的哪些短板 ,列出来,有计划的去完成,别看前两天掘金一些大佬在驳来驳去 ,他们的观点是他们的,不要因为他们的观点,膨胀了自己,影响自己的学习节奏。基础很大程度决定你自己技术层次的厚度,你再熟练框架也好,也会比你便宜的,性价比高的替代,很现实的问题但也要有危机意识,当我们年级大了,有哪些亮点,与比我们经历更旺盛的年轻小工程师,竞争。
-
无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!!!!!!!!
-
准备想说怎么样写简历,想象算了,我觉得,技术就是你最好的简历
-
我希望每一个努力生活的it工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。
-
有什么问题想交流,欢迎给我私信,欢迎评论
【附】相关架构及资料
内含往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
ndroid进阶实践技术**
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-477oCxrk-1713452977120)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!