前言
转眼间,2020 年已过去一大半了,2020 年很难,各企业裁员的消息蛮多的,降职,不发年终奖等等。2020 年确实是艰难的一年。然而生活总是要继续,时间不给你丧的机会!如果我们能坚持下来,不断提高自己,说不定会有新的机会。
面试中,网络(http, https, tcp, udp), jvm, 类加载机制等这些基础的知识点是高频出现的,每个程序员都能说上好多。但不一定说到重点,以及理解背后的原理。
我在面试的过程中也经常被问到,于是总结记录了下来。千万不要小瞧这些基础,有时候,你算法,项目经验都过了,但是基础答得不太好。结果可能会通过,但这肯定会影响你的评级,这是特别吃亏的。所以,不如花点时间背一下,理解一下背后的原理。
举一个简单的例子, https 连接过程是怎样的,使用了了哪种加密方式,可以抓包吗,怎样防止抓包,你是否能够对答如下。
废话不多说,开始进入正文。
01、
最近这个程序员所在的圈子里发生了一件天大的事。有个“胆大包天”的家伙在 GitHub 上发起了一个名为“996.ICU”(工作 996,生病 ICU)的项目,号召被压榨的程序员们联合起来抵制互联网公司的996工作制。
多说一句,GitHub 虽然是代码托管平台,但这个项目和代码没有半点关系,但绝对和写代码的程序员有天大的关系;甚至和程序员的家庭也有很大的关系。
这个项目之所以会火,我想原因是这样的:
海明威在《钟为谁鸣》说过这么一个意思:所有人是一个整体,别人的不幸就是你的不幸。所以,不要问丧钟是为谁而鸣——它就是为你而鸣。
王小波在他的杂文里也表达过这个意思:在德国的纳粹时期,有一个德国牧师,他说,那些人抓犹太人,我不说话,因为我是雅利安人;后来他们抓天主教徒,我不说话,因为我是新教徒……最后他们来抓我,已经没人能为我说话了。
我虽然是“沉默王二”,也不在 996 的行列里,但对于这件事,我并不打算保持沉默。
02、
我老婆是一名画建筑图纸的工程师。但她的情况似乎比 996 要糟糕得多,为什么这么说呢?
- 公司规定,早上上班的时间是 8 点 20,迟到 10 分钟扣 50 块钱。
- 公司规定,晚上下班的时间是 6 点,但因为工作量太大,几乎要加班到 9 点以后,没有加班费。
- 公司规定,周末至少上半天班,但因为工作量太大,几乎周末两天都要加班,没有加班费。
工作占据了她绝大多数的时间。幸好我们家离她公司不远,不然真的是:“进公司的时候太阳刚刚升起,走的时候月亮高高挂起。”
我时常劝她学聪明点:干活不要那么积极,该休息的时候适当休息一下,毕竟身体是自己的。
她表示非常无辜:领导天天盯着你的进度,你怎么休息,有时候催得我一天连水都喝不上一口。况且,我如果不拼命干的话,发年终奖的时候肯定少很多。我们家这么穷,以后还要赡养四个老人,我们还有一个娃娃要养。
我记得有一次,老婆加班到很晚,半夜一点多还没有回家,打手机没人接,发 QQ 没人回,打公司电话也没有人接。那一刻,我真担心她猝死了。实在是联系不上她,我只好抱着熟睡的女儿,开车去了她的公司,一路上担惊受怕。最后发现她和几个同事还在加班,领导就站在旁边盯着。
同事和领导见到我后,笑她有一个好老公。而我,看到她安然无恙,终于松了一口气。
后来,她给自己买了一份保险。她怕自己真的会猝死!
03、
程序员世界里的大佬曹政说:
996 是市场选择,不是某个企业家或者某个企业决定的,没有谁可以只手遮天。给他们底气的,是那些排队等 offer 的应聘者。这很不正确,但这是事实,事实经常不正确。
出于对曹大佬的尊重,我极不情愿地没有送上一句脏话。但这样的言论,真是够气人的!曹大佬一定很有钱了,也财务自由了,也时间自由了——所以他并不能饱尝 996 背后的辛酸。
我们人,并不像风和水那样浑然无觉,不知疲倦。如果 996 真的是市场选择的话,那我们干脆回到“吃大苦、耐大劳”的时代吧。我们为什么要发展经济?为什么要解放生产力呢?我们程序员编写的程序难道不是为了让这个世界变得更美好、更智能、更幸福吗?
再说,给“他们”(应该是它们)底气的,根本不是那些排队等 offer 的应聘者,而是资本的贪婪。也许,曹大佬的本意并不是这样的,他也想体恤广大的程序员朋友们,他也恨 996,但为了让文章吸引更多人的眼球,引来更多的批评,他便靠着自己的雄辩站在了对立面。
记得我刚参加工作的那会,项目忙的时候也经常加班。差不多每天至少要加班到晚上 10 点多,周末也没有休息天,非常的累。但公司是不强制加班的,也有加班费。项目如果不忙的话,晚上 6 点下班就走也是可以的。我没有遇到过项目非常忙但就是不加班的程序员,大多数的程序员都是敬业爱岗的。
但如果公司非要强制 996,逼迫员工加班,那就是雇主在仗势欺人了——我们是人,不是机器,每周工作 5 天,每天工作 8 小时是我们拼尽全力争取到的权利(为数不多);我们除了工作,还要生活。
托马斯·杰佛逊(美国第三任总统)曾说过:“我生命中最幸福的时刻就是在家庭的温暖怀抱中度过的那些时光。”但我从没听过有人说,我生命中最幸福的时候就是在公司的 996 工作制中度过的那些时光。
04、
有人在知乎上问:“除了利用 GitHub 发起抗议,还有哪些巧妙的方案来抵制 996 ?”
安晓辉前辈给出了一个我不敢苟同的答案:
- 确认自己不需要通过 996 拿更多薪水过更丰裕的日子。
- 从今天起抵制 996,挺起来,不加班。
- 如果因为抵制 996 和公司闹得水火不容,那就果断离开。
我不敢苟同的原因是:
- 拿更多薪水过更丰裕的日子和 996 有什么必然关系吗?
- 如果不加班能解决问题的话,还需要利用 GitHub 发起抗议吗?
- 为什么雇员被欺负了,还要委屈地承担后果,而不是雇主呢?
在我看来,利用 GitHub 发起抗议是程序员力所能及的最巧妙的方案——139947 个 star 中我贡献了一个——我相信,我们善意的举动一定会带来一些积极的变化。
05、
有人说:服务人员比程序员更惨,他们没有一丁点儿的休息时间。他们都没吭声,你们程序员到叫起苦来了。
我反对!我们来到这个世界上,难道是为了比谁过得更惨吗?
特斯拉 CEO 埃隆·马斯克说:要想“改变世界”,人们每周需要工作大约 80 到 100 个小时。我自己是每周工作 120 个小时,所以特斯拉人每周至少也要工作 100 个小时。
我反对!不是每个特斯拉人都热衷于移民火星的,也不是每个特斯拉人都能拿马斯克那么多股份的。
任正非说:伟大的背后,皆是苦难。
我反对!也许在我们的文化里,只认为生命是好的,却没有把快乐啦、幸福啦、生存状态之类的事定义在内;所以就想当然的认为,只要大家都能活着就好,不管他们活得多么糟糕。
文末
初级工程师拿到需求会直接开始做,然后做着做着发现有问题了,要么技术实现不了,要么逻辑有问题。
而高级工程师拿到需求会考虑很多,技术的可行性?对现有业务有没有帮助?对现有技术架构的影响?扩展性如何?等等…之后才会再进行设计编码阶段。
而现在随着跨平台开发,混合式开发,前端开发之类的热门,Android开发者需要学习和掌握的技术也在不断的增加。
通过和一些行业里的朋友交流讨论,以及参考现在大厂面试的要求。我们花了差不多一个月时间整理出了这份Android高级工程师需要掌握的所有知识体系。你可以看下掌握了多少。
混合式开发,微信小程序。都是得学会并且熟练的
这些是Android相关技术的内核,还有Java进阶
高级进阶必备的一些技术。像移动开发架构项目实战等
Android前沿技术;包括了组件化,热升级和热修复,以及各种架构跟框架的详细技术体系
以上即是我们整理的Android高级工程师需要掌握的技术体系了。可能很多朋友觉得很多技术自己都会了,只是一些新的技术不清楚而已。应该没什么太大的问题。
而这恰恰是问题所在!为什么别人高级工程师能年限突破30万,而你只有十几万呢?
就因为你只需补充你自己认为需要的,但并不知道企业需要的。这个就特别容易造成差距。因为你的技术体系并不系统,是零碎的,散乱的。那么你凭什么突破30万年薪呢?
我这些话比较直接,可能会戳到一些人的玻璃心,但是我知道肯定会对一些人起到点醒的效果的。而但凡只要有人因为我的这份高级系统大纲以及这些话找到了方向,并且付出行动去提升自我,为了成功变得更加努力。那么我做的这些就都有了意义。
喜欢的话请帮忙转发点赞一下能让更多有需要的人看到吧。谢谢!
以上系统大纲里包含的所有技术资料,我这里都有的。可以免费分享给有需要的朋友!
领取方式扫描下方二维码:
且付出行动去提升自我,为了成功变得更加努力。那么我做的这些就都有了意义。
喜欢的话请帮忙转发点赞一下能让更多有需要的人看到吧。谢谢!
以上系统大纲里包含的所有技术资料,我这里都有的。可以免费分享给有需要的朋友!
领取方式扫描下方二维码: