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

GridView的使用方法

Adapter的使用方法

Spinner的使用方法

Gallary的使用方法

ScrollView的使用方法

4、对话框与菜单的使用:

Dialog的基本概念

AlertDialog的使用方法

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面试题爬取,然后一个问题一个问题的过,并做了一份笔记。

最后

感觉现在好多人都在说什么安卓快凉了,工作越来越难找了。又是说什么程序员中年危机啥的,为啥我这年近30的老农根本没有这种感觉,反倒觉得那些贩卖焦虑的都是瞎j8扯谈。当然,职业危机意识确实是要有的,但根本没到那种草木皆兵的地步好吗?

Android凉了都是弱者的借口和说辞。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

所以,最后这里放上我耗时两个月,将自己8年Android开发的知识笔记整理成的Android开发者必知必会系统学习资料笔记,上述知识点在笔记中都有详细的解读,里面还包含了腾讯、字节跳动、阿里、百度2019-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。

以上全套学习笔记面试宝典,吃透一半保你可以吊打面试官,只有自己真正强大了,有核心竞争力,你才有拒绝offer的权力,所以,奋斗吧!骚年们!千里之行,始于足下。种下一颗树最好的时间是十年前,其次,就是现在。

最后,赠与大家一句诗,共勉!

不驰于空想,不骛于虚声。不忘初心,方得始终。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

颗树最好的时间是十年前,其次,就是现在。

最后,赠与大家一句诗,共勉!

不驰于空想,不骛于虚声。不忘初心,方得始终。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值