化学专业大二转战Android开发,终于拥有了鹅厂暑期实习offer

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移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

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

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

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

尾声

以薪资待遇为基础,以发展为最终目标,要在高薪资的地方,谋求最好的发展!

下面是有几位Android行业大佬对应上方技术点整理的一些进阶资料。

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

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

尾声

以薪资待遇为基础,以发展为最终目标,要在高薪资的地方,谋求最好的发展!

下面是有几位Android行业大佬对应上方技术点整理的一些进阶资料。

[外链图片转存中…(img-kqiZQJcG-1713526645539)]

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值