DatePickerDialog的使用方法
Menu的使用方法
自定义Menu的实现方法
5、控件的布局方法:
线性布局的使用方法
相对布局的使用方法
表格布局的使用方法
6、多Acitivity管理:
AndroidManifest.xml文件的作用
Intent的使用方法
使用Intent传递数据的方法
启动Activity的方法
IntentFilter的使用方法
Activity Group的使用方法
7、自定义控件实现方法:
自定义ListView的实现方法
可折叠ListView的使用方法
自定义Adapter的实现方法
自定义View的实现方法
动态控件布局的上实现方法
第四阶段:android网络编程与数据存储
1、基于Android平台的HTTP通讯:
Http协议回顾
Apache Commons 工具包介绍
使用Get方法向服务器提交数据的方法
解析服务器响应数据的方法
使用POST方法向服务器提交数据的实现方法
向服务器提交非文本数据的实现方法
使用Http协议实现多线程下载
使用Http协议实现断点续传
2、Android数据存储技术:
SQLite3数据库简介
SQL语句回顾
SQLite3编程接口介绍
SQLite3事务管理
SQLite3游标使用方法
SQLite3性能分析
访问SDCard的方法
访问SharedPreferences的方法
第五阶段
学完上面这些差不多算入门的初级程序员了,可以在公司里干很多体力活了,但是一些很重要的任务还是做不了。为了能面上腾讯,还是得加把劲呀。这是后续的学习路线:
-
需要学习的内容就很多了,如下所示:
-
AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的区别;
-
Binder:从Java层大概理解Binder的工作原理,懂Parcel对象的使用;
-
多进程:熟练掌握多进程的运行机制,懂Messenger、Socket等;
-
事件分发:弹性滑动、滑动冲突等;
-
玩转View:View的绘制原理、各种自定义View;
-
动画系列:熟悉View动画和属性动画的不同点,懂属性动画的工作原理;
-
懂性能优化、熟悉mat等工具懂点常见的设计模式
学习方法
阅读进阶书籍,阅读Android源码,阅读官方文档并尝试自己写相关的技术文章,需要有一定技术深度和自我思考。在这个阶段的学习过程中,有2个点是比较困扰大家的,一个是阅读源码,另一个是自定义View以及滑动冲突。
如何阅读源码呢?这是个头疼的问题,但是源码必须要读。阅读源码的时候不要深入代码细节不可自拔,要关注代码的流程并尽量挖掘出对应用层开发有用的结论。另外仔细阅读源码中对一个类或者方法的注释,在看不懂源码时,源码中的注释可以帮你更好地了解源码中的工作原理,这个过程虽然艰苦,但是别无他法。
如何玩转自定义View呢?我的建议是不要通过学习自定义view而学习自定义view。为什么这么说呢?因为自定义view的种类太多了,各式各样的绚丽的自定义效果,如何学的玩呢!我们要透过现象看本质,更多地去关注自定义view所需的知识点,这里做如下总结:
-
搞懂view的滑动原理
-
搞懂如何实现弹性滑动
-
搞懂view的滑动冲突
-
搞懂view的measure、layout和draw
-
然后再学习几个已有的自定义view的例子
-
最后就可以搞定自定义view了,所谓万变不离其宗
看我上面学习的知识量就能知道,我的简历是非常单薄的,而且我又是双非学校的转行生,这让我处于极其不利的位置。
我在三月初开始投递简历,起初只是投了一些小公司,想着先通过小公司积累经验,然后再鼓起勇气去投大公司。所以我投大公司其实就是抱着碰碰运气的心态投的。但是小公司一直都没有回应的消息,简历一直处于审核状态,倒是大公司很快就进入面试状态了。第一家就是腾讯。
这让我很紧张,我没想到我最想去的公司会是我的第一场面试。
我和面试官约好晚上7点电话面,虽然是电话面,但我还是难以抑制自己紧张的心情。我提前一小时就坐在宿舍的椅子上,不停地翻着手中的复习资料却坐立难安,时不时盯着桌上的手机生怕它突然响起,不停地咽口水,时不时咳嗽。我确实特别紧张,脑子里想着面试官会怎么刁难我、会问什么问题、我该怎么回答。最后颤颤巍巍地接起了面试官的电话。
幸运的是,很顺利,一面电话面,面的都是一些基础,没有算法题。一面的面试官说我一开始很紧张,声音都在发抖,后面渐渐地就很有自信,表达方面也比较清晰,基础还是学的很不错。
听到面试官的评价,我当时心中就乐开了花,能得到鹅厂面试官的肯定让我充满了自信,自己的努力得到了他人的认可,那种感觉真的很棒很棒。我开始幻想难道我难道可以进鹅厂?可是很快,梦就被打碎,狠狠地击碎。
二面是视频面,我心想着自信自信,一定要自信,结果上来面试官第一个问题就把我问蒙了:如何设计一套图片加载框架;三级缓存。为什么选择LruCache?我尝试着挣扎回答了一些自己的想法,但都被否定,大部分时间都是安静的,安静的让人害怕。好不容易跳到了下一个问题,“红黑树怎么实现的?说一下它的插入逻辑”“IntentService原理”…安静,还是安静。
渐渐地我乱了分寸,我开始想着自己这次肯定是要挂了,回答的声音越来越小,脑袋越来越低,自信这个对于我来说最重要的东西彻底的丢失了。
压死我的最后一根稻草是力扣的原题62. 不同路径,听到面试官念这个题的时候我心里又燃起了希望,这不就是个简单的DP嘛,紧接着面试官一句话让我产生了疑惑,“三分钟内给我答案”,不coding直接报答案?我想着手算能不能算出来,但三分钟对我来说是不够的。面试官冷冷地说了一句:“你知道这是个什么问题吗?”,“动态规划?”,“这是个组合数学问题!”
我的信心崩溃的很彻底,脑子基本停止运转了。二面挂了。雪上加霜的是,投递小公司的简历被刷了。这让我对自己陷入的深深地怀疑之中,“我是不是找不到实习了?我是不是该去考个计算机的研再来找工作?我是不是…我该怎么办?”
可是哪里有时间给我多想,腾讯又接到了另外一个部门一面的通知,阿里也接到了一面的通知。我扇了自己两个巴掌又投入到了面试中。
这次腾讯一面是视频面,面试官问的都是很基础的问题,但这次我说的结结巴巴,我的嘴像是不受我控制,明明一开始说的好好地,慢慢地慢慢地声音就开始变弱变小,突然的哑火让面试官和我都措手不及,我老是自己打断自己的思路,说着说着开始自暴自弃。我逐渐的意识到我还没有走出上一次面试的阴影中,我丢失了我最需要最重要的自信。我向面试官解释、倾诉,我并不是想得到面试官的可怜,我只是不想让那次的不甘与颓废憋在心里,它影响了我这次面试,但我并不想让它影响我下一次面试。我向面试官道歉,因为我占用他的时间只是听我倾诉,浪费了一次宝贵的面试。这次面试不出所料的挂了,但我如释重负。
紧接着就是阿里的面试,三面都是电话面,一面面试官主要问的是基础,二面面试官主要问了Java相关,三面面试官主要问编程相关。我表现得还不错,哪怕不会我都会和面试官积极沟通思路,请求他给予提示,而不再是单纯的泄气和自暴自弃。我一次又一次地将自信紧紧攥在手心里,我告诉自己我可以。
另一边腾讯也顺利的通过了二面,对,我再一次被腾讯捞起来(第二次被捞)继续面试,但这次我挺进了HR面。
一切看起来都是那么顺利,就在我做着选阿里还是腾讯的梦时,阿里HR的一通电话又击碎了我的梦。“我看你本科是学化学的,简历上也没有什么实习经历和项目经历,你投的是我们这边的核心部门,我很担心你能否胜任这个岗位。”,“这么跟你说吧,我这边有很多有丰富经验的研究生,他们也在和你竞争同一个岗位,就是这么现实。”
我唯唯诺诺的听着HR说着,也不知道该说什么,她说的都没错,我看着自己单薄的简历叹了口气。想不到会被阿里HR这样刷掉…
不过腾讯HR面是比较顺利的,我也就如愿拿到了鹅厂的offer。
最后我分享一些自己的方法和经验,尽量不说一些四处可见的经验,希望能够帮助到大家。
我的学习以视频为主,书籍为辅
-
Java相关:B站
-
Android相关:B站,官方文档
-
算法:AcWing,LeetCode
-
项目:GitHub
初学者不要深究一个问题太久,目前这个知识点不会,可以暂且放一放,不要停滞不前。
不要在简历上暴露自己的弱点。 面试官是根据简历的内容来提问,所以一定要注意简历的用词,实事求是,不要夸大也不要谦虚。比如我就没有在简历上写操作系统,因为我学的并不扎实,面试官也没有问我操作系统的问题。
刷面经,这一点很重要。在面试的前一个月我就利用爬虫把网上的Android面试题爬取,然后一个问题一个问题的过,并做了一份笔记。
需要的可以 点赞支持一下 后,然后【点击这里免费获取】
数据结构与算法,这个都被说烂了,但确实特别重要。个人感觉我的算法题刷的还是可以的,LeetCode题量400+,周赛平均能A 3题。在腾讯的面试中,面试官直接给腾讯文档在线写题,一面4题40分钟我A了3个,二面5题50分钟我A了4个,这给我的面试很大的加分,一定要重视。面试时的算法题一般是LeetCode类型,笔试题是ACM型。
扎实的基础知识。 这个看起来很模糊很宽泛,学到什么程度才是熟悉,学的多好才算扎实。我认为,对于我们求职者而言,能拿下面试官的问题,那么这个知识点就是熟悉,面对面试官的追问能够有理有据的应对,那么这块知识点就学的很扎实。所以在刷面经时,希望你能够自己问自己一些问题,不要仅仅停留在面经的问题上。
这是我收集整理的一份Android开发核心知识笔记,需要的朋友【点击这里免费获取】。
我给这篇文章的定位是一篇经历分享而不是一篇面经分享,所以大多笔墨都是在平铺直叙我这一年来是如何走过的。
我试图让大家能够了解我,认识到我真的只是一个普普通通的、双非学校的、化学专业的大三学生,而不是一个大佬,我想证明的是,凭借自己的努力,做好充足的准备是可以得到一个满意的结果的。
回看自己的三月,在背知识点、刷题、面试中度过 ,期间有苦恼,有怀疑,有高兴,有得意…
最后,我转身成功,曾经一起“搬砖”的工友发来了祝贺;打数模的队友也为我高兴;周边质疑的声音渐渐消去,取而代之的是羡慕与崇拜的目光…
但是,还远远没有结束,这只是我故事新的开始。希望每个人都能得到自己满意的答案。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
尾声
以薪资待遇为基础,以发展为最终目标,要在高薪资的地方,谋求最好的发展!
下面是有几位Android行业大佬对应上方技术点整理的一些进阶资料。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
得这些内容对你有帮助,可以扫码获取!!(备注:Android)**
尾声
以薪资待遇为基础,以发展为最终目标,要在高薪资的地方,谋求最好的发展!
下面是有几位Android行业大佬对应上方技术点整理的一些进阶资料。
[外链图片转存中…(img-kqiZQJcG-1713526645539)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!