美文网首页Android开发Android开发经验谈Android技术知识
Android技术生涯里:大厂履历意味着什么?如何进大厂?

Android技术生涯里:大厂履历意味着什么?如何进大厂?

作者: 不正经的创作者 | 来源:发表于2020-09-24 20:52 被阅读0次

前言

最近几天,有几个朋友想要投递大厂,于是找我帮忙 Review 简历。所以我顺便问了下他们,为什么想要投递大厂,反馈的大概出发点是:

追求高薪资

相对小厂而言,大厂的薪资水平会更高不少。具体数字区间就不细说了,但是大厂整体会大方很多,只要你能够通过面试,30%甚至更高的涨薪都有机会拿到,更何况,大厂的年终奖也不会被“无良”老板随意克扣。

追求稳定

去年整体大环境不行,很多公司裁员,尤其是不太盈利的中小厂,比如某团、某滴。而对于大厂而言,裁员的概率会小很多,毕竟裁员带来的收益远比不上因此带来的负面效应和股价下跌。

追求职业发展

近两年很多发展快的企业以 double 薪资去BAT挖人,比如头条、拼多多之类的。因此,从长远的职业发展角度考虑,BAT 的工作背景就相当于清北毕业的学生一样抢手。有了 BAT 的背景,未来无论跳槽还是晋升、成为技术经理或者架构师,自己都具有足够的主动性。

正好我既参与过快速增长的创业型公司,也在阿里经历过集团式的规范研发流程。因此今天和读者分享下我对于大厂的看法。


大厂里都是螺丝钉吗?

有些人一提到大厂,就会立即说去里面只能当个螺丝钉,每天重复一样的工作。其实这样的想法是很片面的。

传统的大厂一般是层级森严的,要做的事情也高度重复化、机械化。那是因为那些领域已经成型,缺乏创新的动力,所以很多人都被迫成为了螺丝钉,只需要保证机器能够运转就够了。

但互联网大厂并非如此,我们身处其中,应当知道互联网技术日新月异。大家都在喊“学不完”,马爸爸们也天天说要创新才能适应时代。在这样一个瞬息万变的行业里,恐怕你想仅仅当个螺丝钉并非易事。

在阿里内部,大家都习惯了拥抱变化。变化意味着业务变化、技术更迭、人员交替。在这么高速变化的环境里,你如果只想做个螺丝钉,每天重复一样的机械工作,那要么是你缺乏进取心,要么是你甘心做螺丝钉。当然,螺丝钉往往也拿不到好的绩效。


大厂员工接触的技术面很窄吗?

当然,也有人说了,“我所谓的螺丝钉并非做重复机械的工作,而是说只能接触到一小块业务或技术点,无法接触到系统的全貌”。

这个确实是事实,毕竟大厂有非常多的研发人员。所以一般会将一个复杂的系统拆散成多个零部件,每个小组或每个人做其中一块。

但我想说的是,只接触其中一块领域,你就不能成长了吗?

大厂和小厂的最大区别是什么?是用户量级

一般的小厂是十几万或几十万的 DAU,而大厂往往是上千万甚至上亿的 DAU,同样一段代码,在小厂里能良好运行,但到了大厂,就会发现里面存在非常多问题。

大厂求精通,求深度;小厂求速度,求广度。

如果你在大厂,就应该尽可能深入去研究你参与的模块,多想想如何把你所做的模块优化到极致,在巨大的用户量面前依然能够稳定运行。相信我,这样的一份经验可以成为未来无数次面试的一大亮点。


小厂能接触各种新潮技术,而大厂不行?

确实,对于新技术的态度这方面,小厂往往比大厂更加开发。毕竟船小好掉头。

相信不少读者也有类似下面的“有趣”经历:

本来好端端在研究 Java 里范型是啥东西,突然同事跑过来说:“Java 已经 Out 了,大家都在用 Kotlin 呢!爽得飞起”。

于是,你研究了下发现,Kotlin 这么多语法糖,而且看起来比 Java 聪明多了。

因此你鼓捣全团队一起来学习 Kotlin,分享各种 Kotlin 的新奇用法,团队其乐融融,一起享受技术成长的快乐。

过两天,小组长跑过来说:“你们还在写 Android 啊,大家都在用 React Native 呢,一份代码两端同时运行!”。

于是,你又研究了下,RN 确实好东西啊!写一份JS代码,就能同时在 Android、iOS 两个平台运行了,太方便了。而且很多知名企业如 Airbnb 都在用呢。

因此你又鼓捣全团队放弃 Kotlin,一起来学习 RN,分享着 RN 热更新等新奇用法,于是团队又一次其乐融融,一起享受技术成长的快乐。

又过两天,网上大佬喊话了:“RN 性能太差了,我们要回归 Native,Native 才是王道”。

这时你没作过多思考,因为你也觉得RN性能确实不好,而且你听说 Airbnb 也已经放弃 RN 了。

于是,你又回去写 Java 了。

后来,又有人和你说,快去学 Flutter 吧,再不学就晚了,Android 迟早要凉啊。

你:呵呵。

上面的段子可能大家或多或少接触过类似场景。当然,这里主要想说明的是,小厂的技术面确实更广,技术选择多样,因为即使选错了,也能随时调头重新换。

但我想说的是,就算你接触过了这么多种技术,最终静下心来想想,你学到的又有多少呢?除了花里胡哨的“新潮名词”,你真正收获了什么呢?这样的技术面真的对技术生涯有帮助吗?我并不认为。

大厂里,有人花大半年时间,研究如何在相同机器资源下,承受更高的并发量;研究如何在复杂移动网络下,保持最快的网络连接速度;研究 React Native 内部的 JsCore 如何优化以提高运行速度。

当然,我想说的绝不是不要学习新技术。

作为技术人员,保持对新技术的敏感和敬畏是非常好的,但绝对不要盲目崇拜、跟风新技术,觉得新的就一定是好的。这只会让你陷入漩涡,一遍喊着学不动了,一遍身体不知主的跟着风跑。


那么,如何才能进大厂?

1.了解大厂需要的人才

要想进入大厂,我们必须先了解大厂到底需要什么样的人才

从上面这则招聘信息我们可以清楚的了解到,腾讯的任职要求需要熟练掌握:

JAVA,Android SDK,Android 的 UI/网络/数据库框架,App 开发的主流框架和开发模式,flutter等系统的高级技术。

经常出去面试的朋友就知道,大厂面试官喜欢问底层问原理,不问到你无话可说绝不罢休。

2.了解大厂需要的技术

为了帮助大家能够在短时间内突破自身的瓶颈,我在这里也为大家整理一份进阶65W+年薪,Android高级工程师成长曲线,文末附有学习资料(如看不清,可以私信我获取清晰大图)

3.如何系统化学习?

(1)学习Android项目开发必备底层知识,如;

Android虚拟机内存原理
Android10.0虚拟机源码分析
高级并发原理
线程实战
编译时高阶技术
JDK高级动态代理
高级数据结构与算法

面向底层方向发展,突破底层瓶颈的想和同行拉开差距,保持核心技术优势的人群

(2)学习腾讯内部调优

高效文件IO与网络IO
微信全面调优
内存与网络

贴近实战之问题优化

.对腾讯开发的Android系统框架想深入学习.企业上追求原生性能的体验的人群

(3)Android Q FrameWork源码与UI新技术

UI绘制与新技术
AndroidR新技术
Android Q下的FrameWork源码(SDK 29)
深入虚拟机源码
AndroidStudio编译Apk源码分析

微信核心技术掌握

对于原生UI自定义控件想要更加深入了解,想进入大型BATJ公司,对项目的运行效率不是特别满意的人群

(4)掌握腾讯T3.3架构师开发技能

架构筑基技能
手淘组架构设计
开源架构手写实现

一线大厂架构核心进阶

想进入大型BATJ公司的人群

(5)高级音视频技能

C语言基础与混编实战

增量更新与Gif渲染

H264视频编码专题

MediaCodec硬编码

视频编辑之剪影实战
抖音特效实战

FFmpeg万能播放器

视频直播推流

图形渲染与识别

Webrtc音视频会议

物以稀为贵,现在音视频开发最高月薪达到了50K,越是底层的东西懂的人越少,而且短视频正式兴起的时候

(6)Kotlin实战技术

Kotlin入门到实战

Kotlin进阶

喜欢本文的话,不妨顺手给我点个赞、评论区留言或者转发支持一下呗~

相关文章

网友评论

    本文标题:Android技术生涯里:大厂履历意味着什么?如何进大厂?

    本文链接:https://www.haomeiwen.com/subject/tnbgyktx.html