做 android 开发一直不相信 35 岁危机,好像被自己遇到了,android 系统开发面试
中年危机的话题,这几年非常火,我们看到这个词,心里都不免咯噔一下。毕竟,除了身处其中的中年人,对其最关心的,莫过于二十多岁的职场青年人了。
我未到中年,身边熟悉的不少朋友,从事互联网行业,年龄在 35 岁附近。常常,我通过观察他们,想象自己的未来的样子。
这些朋友,更准确的说,是我的老师,师兄,前辈,在三十多岁的年纪,人生境况各不相同。
有位师兄,打拼多年,现在的职级是阿里 P9。这一两年和他联系较多,主要是作为晚辈后生请教问题。阿里集团有十万员工,在 P9 职级的员工只有寥寥千人,所能够获得的工资和股票,远远超过了普通人的期望。我问过他,怎么看待这几年愈演愈烈的中年危机话题。他没有多说,只淡淡的提了一句,「其实不是像大家讲的那样紧张,如果三四十岁,职级还是 P6,能不中年危机吗」,这里需要说明一下,阿里的硕士入职定级一般是 P5。
我们来品品这句话,是有一定信息量的。诚然,以这位师兄取得的成绩和社会地位,中年危机对他来说,可能是没有亲密接触过的。但从以往的交流中,我知道师兄热爱思考,也热爱与人打交道,甚至对我这样一位寂寂无名的晚辈后生都经常保持联系。所以他对社会百相是有着高于一般人的认知的。他之所以这样说,其实是想告诉我,在他的观念里,与其说职场中年危机是一种现象,倒不如说是一种结果。
何出此言,从毕业后的二十多岁,到可能出现中年危机的三四十岁,这十几年里,有些东西的改变是我们无法阻止的,例如身体机能的下降,精力明显没有青年时旺盛了。但有些东西,是我们可以争取的。
像师兄说的,如果一个程序员,人近中年,还在相对而言较低的职级位置上,这十几年的时间,基本是处于一种原地踏步的状态,过着温水煮青蛙的日子,技术深度和广度都停滞不前,当公司的效益下滑时,很容易成为优化的目标。
那如果,十几年如一日的专研技术,在技术上有所沉淀,能够避免职场中年危机吗,相信这个问题,也是很多热爱技术的朋友一直苦苦思考的。
我曾经很自以为是的认为,中年危机可能是很多人为自己年轻时候的不努力找借口,是在品尝年轻时碌碌无为种下的恶果。后来了解的人和事越多,越发觉得自己的认知过于简单了。
有一位我十分佩服的前辈沈世钧,他是一家著名外企的技术专家。我们知道,计算机领域的知识更新迭代非常快,很多人会不断的学习新出来的知识,更新自己的技术栈。在这一点上,沈老师做的更为出色,他每年都会更新自己的简历,去市场上面试一波。
这样做有两个理由,其一是更清楚市场更关心哪些技术,更加了解技术趋势。其二是想弄明白自己的市场竞争力如何。
从 30 岁到 40 岁,沈老师年年如此,这种方式一次鞭策着他不断的追踪前沿技术,屹立在技术前沿,与年轻人同台竞技。
然而,事情的发展,可能会与自己的预期大相径庭。原以为自己这般超越常人的努力,日积月累,能够不断提升自身的市场竞争力,结果随着这些年面试的进行,一种窘境越发明显了。
一年一年,面试的结果每况愈下,如果从技术上来说,沈老师的表现是逐年提升的,唯一的问题很简单,就是年龄。
2019 年初,沈老师参加了一场面试,前几轮状态非常好,一路过关斩将,当时心想这个 offer 十拿九稳了,结果却在总监面惨淡受挫。
推门而入的那一刹,总监的脸上表现出了些许的惊诧和失望,草草问了数据库并发处理的问题,就结束了面试。
这次面试,即使是事过数月,我依然清楚的记得那位总监脸上的表情,他期待的显然不是一个奸滑,油腻的中年大叔,而是一个血气方刚,听话,能加班的精壮小伙。
前辈们的苦涩经历,甚至让我们怀疑「努力」二字的价值和意义。但,我们的努力没错,只是有时候,我们过于沉浸于努力所带来的充实感,在不断的前进中自我麻痹。
现实很美好,现实很骨感,现实很残忍,选择更好的方向去努力,更为重要。
技术是程序员安身立命的本领,很多人崇尚技术,但技术并不能给我们带来数十年的安稳。
不知道大家有没有思考过,为什么现在计算机应届生的起薪,要远远高于其他行业,比如物理学、生物学、航天学。为什么呢,是因为计算机的技术更高级吗,还是因为我们这些从业者更努力。想必我们心知肚明,都不是。我们能够拥有不错的机遇,是因为计算机行业还处于上升阶段,我们幸运的遇上了互联网的行业爆发式增长。
曾经的能源、机械、土建行业,也经历过这样的过程,但不幸的是,计算机领域的发展速度,是历史上任何一个行业前所未有的。身处这个领域中,从完全竞争阶段到寡头垄断阶段的过程,所需的时间非常短。阿里腾讯从摇摇欲坠,到跻身全球十大互联网公司,仅仅花了十几年时间。
速度越快,需要的新鲜血液就越多,更新迭代就越快,竞争力弱了,自然很容易被优化。也许我们的技术还在,精力还在,但当社会开始嫌弃年龄大了的中年人,我们也无法独善其身。
说了这么多,都是在阐述中年危机的背景和现状,关于解决办法,我自然是说不出来,也不可能在这里胡诌一通。我只想聊聊自己的预防方法。
[](
)预防建议
我想多给自己一些选择,将潜在的风险分散开来。
试想,如果家庭的收入,仅仅是自己的一份工资,那连生病都是一种奢侈。但好在,这个社会很公平,压力很大,机会不少,我可以对自己进行各种投资。
首先是职场投资,我喜欢专研技术,喜欢与前辈交流,请教职场经验,了解专业领域的前景,避开吃力不讨好的坑,保证自己的主业不要走岔路,稳定发展。
我自己做 Android 开发已经是接近八年,2013 年 java 转到 Android 开发,在小厂待过,也去过华为,OPPO 等大厂待过,19 年 5 月份进了字节跳动一直到现在。
字节跳动除了优秀的同事之外,大公司里往往还有丰富的内部文档和资料。同时我在内部看到了很多优秀的文章,也有很多优秀的技术沙龙和分享。现在想起来 2 年下来,也没有去过几次,文章和资料看得也不算多,现在想想颇为遗憾。别的不说,就拿推荐领域而言,近些年质量不错的论文往往都来源于大公司尤其是国内的大公司,以阿里、华为和头条为主。除了公开的论文,公司内部还有很多技术相关的资料和文档,这些真的可以说是有价无市,非常珍贵。
以下分享一下我近八年抗战 Android 的具体学习路线及笔记文档,希望能让程序员放下自我,**[不断学习交流](
)**帮助到有心提升技术的朋友!
而作为一名 Android 程序员,如何破局!构建属于自己的一套架构知识体系就显得尤为重要了!
[](
)一线互联网大厂 Android 架构进阶学习路线
架构师筑基语言基础
目前 Android APP 开发主流语言就是 Java 语言,Java 语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用 Java 语言来进行编写的。
知识要点:
1、深入理解 Java 泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java 虚拟机原理
6、高效 IO
设计思想解读开源框架
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个 g 那么大。
所以,当今的 Android 移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava 响应式编程框架设计
360°全方位性能调优
在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。
另外,随着产品内容迭代,功能越来越复杂,UI 页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对 APP 进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。
知识要点:
1、设计思想与代码质量优化
2、程序性能优化
启动速度与执行效率优化
布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK 大小优化
3、开发效率优化
分布式版本控制系统 Git
自动化构建系统 Gradle
4、项目实战
启动速度
流畅度
抖音在 APK 包大小资源优化的实践
优酷响应式布局技术全解析
网络优化
手机淘宝双十一性能优化项目揭秘
高德 APP 全链路源码依赖分析
彻底干掉 OOM 的实战经验分享
微信 Android 终端内存优化实践
评论