高三(故事的开始)
和许多高三的学生一样,每天家和学校两点一线。本来应该老老实实备战高考,争取考个好大学,走向美好的未来。但一次意外的受伤,生活的轨迹开始发生了偏移。
由于备考压力大,学校也管的严,平时的消遣只剩了跑跑步活动下筋骨。但在一次跑步的时候就感觉心口不舒服,也没有当回事。在之后的几天身上就有过敏性的红点不断出现,但是又怕耽误学习,自己就去药店随便买了些药。
直到一周后,难受的吐血了,才被同学送到了医院。
当时在医院住了小半月,还好有医保,不然又给家里添了一笔负担。
3个月后直接参加了 高考,成绩自然不理想。考了 400 + 分,也就过了三本线,离一本线差一百多。
大一
平时喜欢电脑方面
所以我专业选了计算机理论,当时感觉学校老师讲课的效率有点低,实践很少,平时都喜欢按照自己的方式来学习,基本上课都是自己看书,偶尔听听老师讲的内容,然后就回宿舍敲代码。
到了下半学期的时候,无意间发现学校内在举行一场网页开发的比赛,我想做一个影评网站去试试,于是花了一个星期自学了HTML5和CSS3,然后又花了大约一周的时间学习了java这门语言(皮毛)。当时真的是第一次尝试做项目,没有任何经验,什么都不懂,几乎所有的功能点都是靠搜索来实现的。
花了大概一个月的时间,影评网站完成了,交上去参赛。比赛结果也不用猜测,连初选都没有通过。
但是那一次比赛却让我开拓了很多的知识视野,让我明白了前端和后端的差异,从那次比赛结束之后我就开始渐渐明白自己比较擅长的是后端开发这一技能了,于是就专心开始了自己的后端研发学习道路。
大二
开始接单子,打比赛,自己就很认真的学了Android,这一次的学习时间跨度直到了现在。
大学期间幸运的是遇见了相守一生的人
高考最美好的地方不是得偿所愿,而是阴差阳错
17年12月 女朋友过生,为了准备礼物,绞尽脑汁,终于在一天刷 B 站的时候有了个主意。当时刷到一个用代码实现一个 3D 爱心的视频,于是跟着视频自己做了一个,在生日那天送给了女友。
虽然到现在那个爱心不知道丢到了哪个角落,但是那颗爱心让我坚定了编程之路。
毕业
为了好好学习Android,
当时拿出了假期的工资和打比赛的钱,给自己报了个培训班。在三本这样的学校老师教的与行业脱节严重,只好寻求外援。
于是生活又回到了之前从早到晚,脚不沾地的样子。白天上课,晚上上培训班。虽然日子很忙,但心里有了方向也就能咬牙坚持了。
忙碌的日子持续到了19年。
碰壁
过了一年苦修的日子,虽然知道还有很多知识没掌握,但毕竟还是少年,想掂量掂量自己的斤两。于是开始投起了简历,一开始就是往大厂,大城市投,意料之中的是,所有简历都没有回音,毕竟大学实在有点拉。
就选了一个小公司。
大厂之路
在小公司半年后又开始投简历,这次约到了阿里和腾讯的面试,不由一喜。
还没来得及高兴,两盆凉水就泼到了脸上。不出意外,阿里和腾讯的一面挂了。在面试时能明显的感觉到面试官已经没啥能问的了(啥都不会还问啥)
面试挂了过后,消沉了一小段时间。但生活还得继续,痛定思痛之下开始反思失败的原因。主要在两点:
- 缺少项目经验
- 对知识的深度理解有限
于是针对这两点,我开始有意识地补充这方面地能力。缺少经验就去问培训老师要项目自己一遍一遍的复盘。
对知识的深度理解有限,听从老师的建议就去看Android Framework 底层源码,刚刚开始不会看,也看不懂。也是不断的请教和翻阅社区大佬的文章。
此外继续面试积累经验(又被腾讯挂了一次)
就这样又一年过去了。
柳暗花明
时间来到了19年,我继续投几家大厂的春招。相比之前已经有了肉眼可见的进步,最多的一次面到了美团的四面,但还是没能上岸(后面才知道跟美团八字不合)
没办法,继续沉淀吧。
终于,经过五轮面试拿到了科大讯飞 的 offer。
现在已经记不清当时到底有多开心了,但想来应该是挺开心的。
文末
如果想要达到一个目标,好的习惯比坚韧毅力重要,好的方向比闷头努力重要,好的方法比恶意竞争重要。
给Android进阶的朋友分享一份《Android Framework源码开发揭秘》。
由于文档内容过多,因此为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的看文末有免费的获取方式!(文末还有使用ChatGPT机器人小福利哦!!大家不要错过)
《Android Framework源码开发揭秘》
本学习手册深入剖析了Android系统源代码,详细讲解了Android框架初始化过程及主要组件的工作原理,旨在通过实例和案例介绍 Android Framework 的核心概念和技术,从而帮助开发者更好地理解 Android 应用程序的设计和开发。
该手册适合具有一定 Android 应用开发经验的程序员,希望能通过深入学习 Android Framework 来帮助开发者更好地理解和掌握这一技术。
第一章 系统启动流程分析
Android系统完整的启动过程,从系统层次角度可分为 Linux 系统层、Android 系统服务层、Zygote进程模型三个阶段;
知识要点:
第一节 Android启动概括、
第二节 init.rc解析、
第三节 Zygote、
第四节 面试题
第二章 跨进程通信IPC解析
Binder作为Android进程间通信的机制,可以看做是一个驱动。在Android中,常见的进程间通信例如系统类的:打电话、闹钟等;自己创建的:像WebView、视频播放、音频播放、大图浏览等。
第三章 Handler源码解析
第一节 源码分析
第二节 难点问题
第三节Handler常问面试题
有需要的朋友扫描下方二维码领取!!!!
同时这里还搭建了一个基于chatGPT的微信群聊机器人,24小时为大家解答疑难技术问题。