湖南渣渣二本,毕业三年从月薪3K飙升2W,我想把安卓开发逆袭的系统学习方法分享给你-程序员宅基地

技术标签: 面试  Android开发  android  移动开发  程序人生  

残酷的现实

湖南渣渣二本毕业,XX学院(我就不提了,以免伤到校友)。毫不讳言的说,毕业后,大部分同学可以说啥都没学会,基本上就是写个“Hello Word”、“system out”的水平吧。想继续从事计算机的,花个三四万,报个培训,出来后伪造个工作经验直接上岗。更多的同学是直接转行。

这里可能会有人说了,现在有校招的~ 水平要求都不怎么高~ 实习会给你培训的 ~ 就是背个面试题的事儿~

校招?别做梦了,根本没有校招好吗!真正的校招是985、211的待遇。去我们学校校招的都是些工厂招工的,你去吗?

没办法,硬着头皮去广州深圳找工作,2016年,月薪2500!广深互联网行业很少包吃住,前面几个月房租都是问家里人要的。一个学计算机的,还没工厂流水线挣的多!这就是现实,而且非常难找,只能进些创业公司,稍大一点的,没实战经验,没实习经历,又是个渣渣二本,面试机会都没有!

有人会说,是不是你能力不行啊?是的,相比名校那些编程天才,我可能能力不行。但跟本校同学相比,我可以说是他们中最优秀的,我连续三年得国家励志奖学金。每年的学校一等奖学金都会有我的。我虽然没有实习经历,但我大三就开始学APP开发,我自己开发的桌面软件就有三款。还有大大小小各种APP的团队开发。然而又有什么用呢?

这就是现实!!!残酷的现实!!!

逆袭

到今年六月,已经是我从事Android开发的第4年了。在深圳摸爬滚打了3年多,一直混迹于小厂的圈子,跳来跳去,薪资8k左右基本上没什么上升了。圈子受限,技术水平也难以得到实质性的提升。

这时我也明白了老人们告诉过我的一句话:作为一名程序员,圈子很重要!

真正迎来转折,是年初疫情爆发,那时我赶着“金九银十”跳槽到一家公司不久。疫情裁员风波直接把我变成了无业游民。小厂的圈子全都在裁员,工作基本找不到了。

疫情在家呆了很长一段时间,想了很多,想摆脱这种苦逼的生活,想好好地,稳定的存点钱,也到了该成家的年纪了。

耗时大概三个月,系统复习知识点、查漏补缺。以及狂刷2000页Android面试真题PDF后,收获了京东的offer,下面分享我的心得体会。

分享一个GitHub宝藏地址:https://github.com/Timdk857/Android-Architecture-knowledge-2-纯干货,收藏不后悔系列。

面试

从3月初开始复习,准备面试题。复习的资料主要为《Android开发艺术探索》和《Android PDF知识大全》(一位朋友分享),还有就是网上的其他博客资料。

初期面试到处碰壁。从3月中旬开始面试,一直到4月底。共面试9家公司,近20轮面试,拿到2个小公司和1个上市公司(不是出名的公司)的offer,最后准备去上市公司了。也投递了BAT、360、抖音、快手、平安等大厂的岗位,不过大部分没给面试机会,少数大厂在后续面试中也把我拒绝了,原因是:基础知识不够扎实,技术深度不够。

接下来我将这一个月内我接触的知识点铺展开来,也给大家一点参考,文末也有分享完整详细的Android知识大全PDF

书籍:《Android开发艺术探索》、《Android进阶之光》、《Android进阶解密》、《图解Http》

书是不能不看的,以上这几本,除了图解Http之外,都要大致读一遍。当然时间可能没那么充裕,所以要跟着目录,挑一些自己的弱项好好复习一下。Http这本书是因为有几家公司面试问到了网络相关的知识,所以我才去阅读的

**算法:**LeetCode,把链表、排序、树标签里所有简单类型的题目练一下手。特别是排序,冒泡、快速、二分、选择、归并一定要达到手写的水平!

**数据结构:**Java的HashMap——7和8的区别、ArrayList、LinkeList。Android的ArrayMap、SparseArray系列。还有阻塞队列ArrayBlockingQueue、LinkedBlockingQueue。HashMap的结构和细节是遇到最多,建议仔细看一下源码,一定要有自己的理解(划重点)。把HashMap如何存储、如何查找。hash碰撞,以及内存利用率这些问题理解一下

**设计模式和架构:**准备一些自己拿手的模式,在网上查一下资料。准备一些套话,关键词耦合,二次修改方便,外部不用关心内部实现等等。MVC、MVP、MVVM三种,起码要了解两种,并且能清晰明确的说出,两种架构间的优缺点。

我本身经历过一次MVC -> MVP的过渡,所以面试的时候就只提了这两种。MVVM没接触过,就实话实说没搞过,面试官也不会再问。千万不要打肿脸充胖子,没接触过就说不会就可以了。
关键词:UI逻辑、业务逻辑、不影响对方的前提下修改、逻辑清晰,方便定位

**简历:**这个就8用提了,面试的敲门砖。我的简历也写的不是很好,但因为会一点音视频的知识,所以还是有一点加分项的。简历要注意简洁明了,star法则;诸如:我做了A工作,将效率提高200%、我优化了xxx,把速度优化了10~20倍。1 ~ 2页最佳

最开始写简历的时候,实在不知道该如何动笔。磨磨蹭蹭憋了好几天没整出来。其实这个时候就要平心静气,把自己的思维拔高一点。站在整个项目的角度去细细查看,这个时候就会发现项目中还是有不少亮点的。

**Android基础:**这个就很重要了,当然涉及面也相当广。四大组件,生命周期这个啥都不说了,直接冲就是了,基本都会问到。Handler、View绘制流程、事件分发,这些都是老生常谈。

**Android框架基础:**AMS,Activity的启动过程。Android绘制流程(这个看个人了,因为我简历上写了熟悉Canvas哭,手动狗头)

**Java基础:**多线程、线程池、锁机制,这两个知识点问到的还挺多的。其他的包括,内存区域、内存泄漏、垃圾回收。。。(这些懂个概念即可,不深究)

系统学习

在体系化的学习过程中,博客、书籍、视频课程都是较好的学习手段。

鉴于Android也是基于java语言的,因此很多与java相关的基础也是必须掌握的,比如《深入理解Java虚拟机》、《Effective Java》等相关书籍也是必读的。

Android相关的书籍包括《Android权威编程指南》、《Android开发艺术探索》等,进一步的还可以去阅读Android相关源码,配合《Android源码设计模式解析与实战》等书籍,对阅读源码大有裨益。

如果你觉得自己看书太慢而且难以全部理解,博客不够系统,可以找一套进阶视频学习。没有的话我可以免费分享一套给你。在我的石墨文档中就可以获取了:
Android架构视频+BATJ面试专题PDF+学习笔记

最后

2020年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。祝大家2020年万事顺利。

给大家一些建议

1.遇到问题,不要没有进行仔细分析,就直接百度和谷歌
2.学习知识的时候,不要没有自己的思考和理解,死记硬背
3.要记得深入追究一个问题的本质原因
4.一定要有自己知识点总结和梳理
5.学到知识点,没有很好的实践,动手能力不够
6.要自己的学习的方法
7.确定目标和找到有效的学习方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chuhe1989/article/details/107007499

智能推荐

【C++学习】map和set-程序员宅基地

文章浏览阅读963次,点赞26次,收藏10次。【C++学习】map和set

SaaS到底是什么,如何做?这份笔记讲明白了_saas如何开发-程序员宅基地

文章浏览阅读1.3k次。阅读本篇文章,您将可以了解:1、什么是SaaS;2、SaaS的商业模式;3、SaaS的技术架构;4、国内比较好的SaaS平台。_saas如何开发

摄像头接入_大华sdk frealdatacallback码流输出链接-程序员宅基地

文章浏览阅读1.5k次。摄像头接入目前摄像头直播的方案主要有以下几种方式: rtsp方式接入,只能实现视频预览 国标协议接入,实现比较复杂,需要多实现SIP服务器 通过netsdk获取到视频码流,推流到流媒体服务器,通过wsflv,flv,hls等流媒体协议播放,H265不支持 一、采用方案对比后最终采用了第三种方式,java使用jna的方式接入大华netsdk,获取到dav视频码流后去除大华头尾,拿到H264裸码流,通过javacv(对ffmpeg、opencv等库的封装)推送到.._大华sdk frealdatacallback码流输出链接

git-commit-amend踩坑_git remote-tracking 本地commit amend不了-程序员宅基地

文章浏览阅读1.4k次。因为改动比较小,所以我不想重建一个commit,于是我是用了git commit --amend命令,由于之前已经将该commit推送到远程仓库,导致修改后推送失败。百度后发现如果你的commit已经push到了远程仓库,那么使用--amend修改commit后,git push时一定要使用 --force-with-lease 参数来强制推送,否则就会报错。这是我自己推送失败的例子解决方式一、第一种使用后git commit --amend -m "修改Git学习(三)指令"注意:-m “._git remote-tracking 本地commit amend不了

AI实验1——八数码问题_人工智能实验八数码难题-程序员宅基地

文章浏览阅读2.5k次,点赞6次,收藏15次。AI实验1——八数码问题一、实验目的与要求实验目的:1 . 熟悉状态空间表示法;2.掌握深度优先、广度优先和等代价无信息搜索算法;3.掌握启发式函数设计,实现面向实际问题的A*搜索算法;二、实验内容与方法实验内容:利用无信息搜索算法实现八数码难题求解;设计启发式信息函数,利用A*搜索实现八数码难题求解;三、实验步骤与过程1,问题分析在八数码难题中,我们使用状态空间表示法,将八数码矩阵(即矩阵的状态)设置为一个节点类(Node),各个节点之间通过操作集(Operater)[‘U_人工智能实验八数码难题

【Js canvas实现是否透明,抠图等功能原理】_js-demo抠图-程序员宅基地

文章浏览阅读2.8k次,点赞4次,收藏11次。透明背景转jpg格式后变黑我们先看demo,您可以狠狠地点击这里:png图片是否含有透明像素JS检测demo如果是不含透明色的PNG图片,则会提示不含透明;如果是,则提示含透明,如下截图:是否背景透明的检测检测原理是借助canvas的getImageData()方法,关于此方法具体API和使用,可以参见““像素点信息获取”这里的详细介绍。_js-demo抠图

随便推点

用JAVA实现记事本_记事本 cambria math 分数-程序员宅基地

文章浏览阅读275次。用Java语言实现Windows版本的记事本程序(实现了部分功能模块的记事本),代码复制粘贴如下:import java.awt.;import java.io.;import java.awt.event.;import javax.swing.;import java.net.;import javax.swing.border.;import java.util.Date;import java.text.SimpleDateFormat;import java.lang.*;_记事本 cambria math 分数

Linux SSH密码暴力破解技术及攻防实战_password top 1000-程序员宅基地

文章浏览阅读6k次,点赞8次,收藏55次。对于Linux操作系统来说,一般通过VNC、Teamviewer和SSH等工具来进行远程管理,SSH是 Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和加粗样式其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH客户端适..._password top 1000

html静态页面微信分享带缩略图,【荐】静态页面实现微信分享带缩略图、标题和描述...-程序员宅基地

文章浏览阅读1.2k次。这篇文章主要为大家详细介绍了【荐】静态页面实现微信分享带缩略图、标题和描述,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。静态页面实现微信分享带缩略图、标题和描述,想法很现实,要想实现这样的功能这里就要用到大ajax技术,在这里361源码分享给大家。服务端文件jssdk.php代码:..._html分享链接加图片和描述不需要调用jssdk

VASP学习1入门知识_vaspwiki-程序员宅基地

文章浏览阅读5.9k次,点赞10次,收藏63次。大师兄科研实例使用方法:1从最基本的计算开始,通过示例讲解,结合一些脚本的使用,引导大家思考解决自己的问题。因此,在这本书的学习过程里,每一章节会对应一个例子,大家务必手动搭建模型,输入文件(切忌复制粘贴),然后进行计算,得到和大师兄一致的结果。为了引导大家主动浏览官网解决问题,很多都会采用VASP官网的例子。2如何学习本书,大师兄在学习程序时,受learn_python_the_hard_w..._vaspwiki

想说好多话_好多好多话-程序员宅基地

文章浏览阅读222次。以前觉得深圳好热,可是现在觉得沈阳的风好冷…每天不需要说太多的话,只要敲着喜欢的键盘,默默的清理掉禅道上的bug就好,这样的工作似乎是充实的,却总是少点什么,我也喜欢上了活在自己的小世界里,喜欢上了听歌,喜欢去刷微博,喜欢上去看那些心灵鸡汤和搞笑的博主,喜欢看看最近的陈伟霆是不是有帅了,偶尔碰到一条好玩的微博似乎会笑上一会儿,可能作为一个程序猿,真的比较枯燥叭,有时觉得孤单的像一条_好多好多话

简述计算机维修 维护的基本原则是什么,计算机硬件维护的四大原则-程序员宅基地

文章浏览阅读2.4k次。计算机硬件维护的四大原则近年来,随着社会经济的快速发展和计算机网络技术的广泛应用,如今计算机已经成为生产生活中不可或缺的必需品,随之而来就出现一些问题。下面是YJBYS小编为大家搜索整理的关于计算机硬件维护的四大原则,欢迎参考阅读,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生培训网!对于计算机而言,主要包括硬件系统与软件系统两部分,其中硬件系统是软件系统功能得以实现的重要基础和前..._硬件维修的基本原则?

推荐文章

热门文章

相关标签