大厂竞争这么激烈,为什么还是挤破头都要进,小厂不香吗?

现在不是大厂竞争很激烈吗?再说大厂的薪水待遇也没有比一些二线公司更好呀,既然如此,那为什么我们还要挤破脑袋进大厂呢?

今天就和大家闲聊几句,以下说的仅代表我个人的看法。如果有不同观点,欢迎在评论区留下您的看法。

金字招牌
前几年阿里在校招的时候,打着的旗号就是叫“阿里大学”。把阿里巴巴这家企业比作了学校,我们进去不是为了赚钱,也不是为了打工,而是另外一个层面上的学习和深造。所以内网当中很多离职的小伙伴发帖都说自己不是离职,而称自己“毕业了”。

但你仔细想一下就会发现,除去企业宣传的目的和手段之外,还真的有那么几分道理。每年都有大量的工程师从BAT离职,进入各行各业大小公司当中继续发光发热,某种程度上来说互联网产业的发展所需要的大量人才正是这些大企业提供的。当你去面试,当你去找工作,你简历当中BAT的工作经历,就像是清华北大的文凭一样,不说100%面试通过,但至少可以给你争取来一个面试的机会,不至于倒在简历关。

今年我在申请新加坡国立大学的在职硕士的时候,就一直在犹豫。因为我想来想去,觉得对我的简历而言,这个文凭有和没有其实没多大区别。我以后要是跳槽,面试的职位一定不是靠文凭就可以争取得到的。既然如此,又何必费钱费力呢?虽然我最终还是决定继续申请,但我心里也清楚,我这么做只是为了学点东西,而不是真的指望它可以给我在职业发展上带来多大的帮助。

很多贩卖焦虑的人士一直在宣传35岁淘汰论,但我知道的几个35+从大公司出来的程序员,他们并没有被淘汰,依然混得不错。

通关地图
很多人很排斥大企业,经常说的一句话就是“面试造火箭,进厂拧螺丝”。

的确如此,大厂由于分工非常明确,工具非常完善,使得大多数岗位的活非常没有技术含量,就是按照一个标准继续往下做就好了,没有惊喜也不大会有改变。我自己亲身体验过,我在阿里两年,就写了两年业务,今天功能A,明天功能B。

我之前一直觉得在这两年当中,我应该什么都没有学到,所有的技能都是靠我自己业余自学的。我也一度有些后悔,觉得当初自己是不是选错了,不应该去阿里。但我来了新加坡不久之后就完全颠覆了这个看法,因为我发现我并不是什么都没有学到,有点像是冰山理论,我看到的只有水面上的一点,大部分都藏在水下。

什么意思呢,我就用拧螺丝举个例子好了。比如你在一家造航母的大公司当中做一个螺丝工,今天拧拧这个螺丝,明天拧拧那个螺丝。有一天你受不了离职了,到了一家小船厂。你一进去就发现小船厂的厂房顶太低了,现在造小船还好,有朝一日要造大船的话就不够用了。过了两天,你又发现现在拧螺丝的扳子不对,耐久度非常差,只能拧某一个型号的螺丝。又过了两天,你发现建造的船设计也有问题,居然不是流线型……

你在来小船厂之前你以为你只是拧了两年螺丝,什么都没学到,其实你已经看到了通关地图。我现在有的时候也还是会后悔,但我后悔的不再是当初的选择,而是后悔当时有机会的时候,没有把通关地图看个仔细,导致遗漏了不少。

大佬云集、资料丰富
当初我在阿里认识一个非常非常资深的前辈,他在阿里十来年了,但因为各种原因级别不是很高。我当时问他,既然你对现状如此不满,为什么不想着离开寻找更好的机会呢?

他沉思了片刻跟我说,他说我现在在这里虽然待着不顺心,但是我接触到的人都是非常优秀的。我遇到问题,还可以和你们讨论讨论。我如果出去了,我要是再遇到问题,可能连一个讨论的人都没有。

我当时听听只是觉得有道理,现在再回想起来,感受非常深刻。三观、格局、能力,能够进入大公司的,这三个方面一般都不会太差。别的不说,就拿个人能力而言,我出国以后见识了许多各种海外名校的同事,和当初阿里的同事相比说真的也不过如此。我也不知道是不是我的偏见,但就我感受下来,国外的工程师格局相对偏小。

除了优秀的同事之外,大公司里往往还有丰富的内部文档和资料。我当时在阿里内部看到了很多优秀的文章,也有很多优秀的技术沙龙和分享。现在想起来两年下来,也没有去过几次,文章和资料看得也不算多,现在想想颇为遗憾。别的不说,就拿推荐领域而言,近些年质量不错的论文往往都来源于大公司尤其是国内的大公司,以阿里、华为和头条为主。除了公开的论文,公司内部还有很多技术相关的资料和文档,这些真的可以说是有价无市,非常珍贵。

不断学习提升
都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。
技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家
Android相关的书籍包括《Android权威编程指南》、《Android开发艺术探索》等,进一步的还可以去阅读Android相关源码,配合《Android源码设计模式解析与实战》等书籍,对阅读源码大有裨益。
那么如何构建完整的知识体系,深挖Android技术?

Android架构视频+BAT面试专题PDF+学习笔记

以下分享一下我6年来具体的学习路线及笔记文档,希望能帮助到有心提升技术的朋友!
目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。

知识要点:
1、Java序列化、泛型、反射
2、虚拟机底层原理
3、Android内存原理
4、Java高并发原理详解
5、编译时技术掌握与实战
6、JDK高级动态代理
7、高级数据结构与算法
8、Java IO操作

Android R Frame Work源码与UI

在Android中,Framework泛指系统架构层。Framework的中文意思是“框架”,在软件开发中通常指开发框架,在一个系统中处于内核层之上,为顶层应用提供接口,被设计用来帮助开发者快速开发顶层应用,而不必关心系统内核运行机制,通常Framework都会隐藏main函数等应用程序必须的组件,开发人员只需把精力放在功能代码的实现上。说简单点,Framework具体的工作也就是为android应用开发的开发人员提供了一系列的服务和API的接口。
UI其实并不是单纯指用户看到的效果。因为在Android开发中,每个控件背后都有一套深层次的体系在支撑,自然而然,会UI不单纯指的是会自定义控件,我们还应该知道自定义控件背后的执行流程,包括从Activity的创建,XML的解析,到每个控件的测量、布局、绘制。当然在中间还夹杂着比如动画、事件分发机制、嵌套滑动机制等知识点。还有谷歌提供的一些UI框架也使我们要掌握的对象,比如Jetpack组件库、Material Design等。

知识要点:
1、FrameWork源码解析
2、Android常用组件深入解析
3、UI的深度剖析与自定义
4、Jetpack全家桶
5、Android R
6、RXJava响应式编程框架设计

360°全方位性能调优

性能优化是针对整个app开发而言的。一个好的项目被开发出来,不单是产品要好,开发者也需要知道,为什么我开发的这个app能够在绝大多数的手机运行,为什么用户在使用的时候绝大部分的手机不会出现bug。我们的apk文件可以优化到很小的,比如你做一个项目,打包之后可能是10m,但是经过优化之后可能就只有8m,甚至更小。另外,我们做的项目安全性如何?我们凭什么断定我们做出来的app安全性好。这都是性能优化中会涉及的。

1、设计思想与代码质量优化

一个app的性能好不好我们需要从两个层面努力。第一个层面:从写代码的时候就需要注意,让自己的代码是高性能高可用的代码,这个过程是书写高性能代码;第二个层面:对已经成型的代码通过工具检查代码的问题,通过检查到的问题来指导我们进行代码的删改,这个过程被称为调优。

如何写出高性能的代码呢?那就需要我们具备深厚的代码功底,这就是代码的基础,如:数据结构达到可以根据应用场景写出符合当前场景的特殊结构,比如google针对Android平台特征研发了sparseArray替代HashMap。另外,对常用的算法有自己独到的见解,leetcode上有刷个上百道题,这样差不多可以达到精通最常用的排序查找动态规划等算法的能力。再者,高效的算法以及节省内存的数据结构如果配合优秀的符合应用场景的设计模式,那么,这些就为高性能的代码提供了实现依据。

另外一个就是对写好的代码进行调优,那么调优的方向就是使用Profiler工具进行测试和检查,看哪里有性能消耗大的操作,然后分析对于代码的问题。调优的方向就变成了如何对内存调优,对耗电调优,对网络流量调优,当然,还有对启动速度,页面切换效果与速度,开机白屏体验,闪屏方面的原因等进行分析和调优。最后再加上一个屏幕适配相机适配。

2、程序性能优化

启动速度与执行效率优
化布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK大小优化

3、开发效率优化

分布式版本控制系统Git
自动化构建系统Gradle

4、项目实战

启动速度流畅度抖音在APK包大小资源优化的实践优酷响应式布局技术全解析网络优化手机淘宝双十一性能优化项目揭秘高德APP全链路源码依赖分析彻底干掉OOM的实战经验分享微信Android终端内存优化实践

  • 对标腾讯T3.3架构师必备技术

Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。

Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。

本篇知识要点:
1、架构师必备的代码设计准则
2、组件化架构设计
3、插件化架构设计
4、热修复设计
5、开源框架源码解析与实现

image

  • 高级音视频(音视频系列)

从未来的大趋势来看,随着5G时代的到来,音视频慢慢变成人们日常生活中的必需品。除了在线教育、音视频会议、即时通讯这些必须使用音视频技术的产品外,其它的产品也需要加入音频、视频元素。

正是因为这样一个大的趋势,现在除了各大厂之外,其它一些小厂也开始寻找音视频人才。

一名稍好点的音视频人才现在可能会有3-4家公司抢着要、挣着要。对音视频人才的需求从小众变成了大众,这更多的是大家对未来市场预期的结果。

音视频人才为什么难得?

音视频知识庞杂,通俗易懂的资料非常少;

网上博客,视频充斥着大量的错误信息,使得很多初学者掉到坑里就爬不出来了。

举个例子,按照传统的音视频学习方法:首先接触大量的音视频开源库,如FFmpeg、MediaCodec,往往这些API就已经把脑袋弄大了。停留在使用API,不能让你适应不断变化的需求。最开始的方向错了,不管如何努力,都学不好音视频。

本篇知识要点:
1、基础语法
2、H264视频编码
3、H265编码原理
4、H265编码应用
5、MediaCode

  • Android相关源码解读
    只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

由于篇幅原因,以上完整学习笔记pdf,或者完整大纲如有需要,这里免费领取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值