龙空技术网

大厂的人自带光环,但光环是从哪儿来的呢?

Android面试通 157

前言:

此刻小伙伴们对“java光环”可能比较珍视,看官们都需要剖析一些“java光环”的相关内容。那么小编也在网上网罗了一些关于“java光环””的相关内容,希望我们能喜欢,咱们一起来了解一下吧!

人人都想进大厂,一方面,大厂能够让人有机会得到更大的锻炼,另一方面,大厂出来,未来一片光明。

理想与现实

大厂的人自带光环,当他们走出大厂的时候,光环还在吗?我先给你讲个小故事:

怀揣着改变世界梦想,老张结束了自己十几年的外企工作,和几个老同事一起开启了自己的创业之旅。最初的几个人都是干劲十足,项目也取得了不错的进展,于是,老张决定扩大团队团队规模。

不过,令老张意外的是,好不容易有候选人通过了他们按照外企招聘标准进行的面试,人家却拒绝了他。要知道,当年在外企的时候,能通过面试的候选人可都是乐呵呵地就来了,而且很多人为了加入这个公司,甚至不惜降薪。

老张想不通的是,加入一个公司不就是为了和一群人一起工作吗?我们这群人都是从那个外企出来的,招聘流程也是和那个外企一样,甚至招聘用到的话术也是一模一样的,候选人也很认可我原来工作那家外企,怎么到最后就把我们给拒了呢?

在人才市场上,大厂的人非常抢手,如果有机会抢到手,然后呢?真的很值得吗?我再给你讲个小故事:

老王的创业公司挺过了最初的阶段,业务在不断地增长,相应地团队规模也在增长。为了让自己把更多的精力放在公司的业务拓展上,老王决定找一个 CTO 把技术团队搞好。这个 CTO 一定要有格局,见过世面,老王决定找一个从大厂出来的人担任这个 CTO。

老王发动了自己的各种渠道,终于迎来了一位大厂出身的 CTO。这个 CTO 拥有的不仅是大厂履历,还是实打实做过很多重要项目,老王觉得公司马上就要起飞了。

然而,好景不长,新的 CTO 和技术团队之间慢慢地出现矛盾,官司打到了老王这里。技术团队认为 CTO 不了解实际情况,一天天瞎指挥。CTO 认为团队能力不行,无论是系统的改造还是流程的改进,自己的很多构想根本贯彻不下去,自己原来在大厂很多优秀的实践在这里没办法执行。

两边说的都挺有道理,老王心生困惑,CTO 人家是大厂锻炼出来的,想法思路应该都没问题,咋就到咱这就做不下去了,这问题到底是出在哪了呢?

老张也好,老王也罢,之所以遇到问题,根本原因在于,他们没有弄清楚一个关键点,大厂的人虽然自带光环,但这个光环到底是从哪来的?

光环属于谁?

老张在外企的时候,之所以能够招来优秀的人,甚至人家可以接受降薪,一个关键点是有这个外企品牌的背书。老张虽然在这个外企工作了十几年,但外企品牌的优势并不在他身上。所以,当他出来创业,一切都归了零。作为一个普通的求职者,人家可以相信一个在行业中存在了多年的外企,但凭什么相信你这个人。在外企工作时,老张所拥有的其实是这个外企的平台能力,而老张错把它当做了自己的个人能力。

同样,老王找到的那位大厂 CTO,他确实在曾经的工作中做出了优异的成绩,但问题在于,在大厂时,他所拥有的团队是以大厂品牌为背书构建起的优秀团队,那可都是百里挑一的优秀人才,再者,大厂本身的制度建设相对也很完善了,开发流程也已经很规范了,这些都是一家普通的创业公司难以拥有的优势。这个 CTO 按照他之前习惯的方式做事,强求一个创业的草根团队达到一个大公司团队的要求,这无异于刻舟求剑。老王和这个 CTO 都没想明白的点就在于,这个 CTO 之前拥有的能力一部分是大厂自身平台提供的能力,而不是是单纯他个人的能力。

错把平台能力当做个人能力,这是问题产生的根源。

一个人在大公司做出很大的成绩,原因有很多:

可能是因为一个人很牛,像 Anders Hejlsberg 这种人,在 Borland 做出了 Turbo Pascal 和 Delphi ,在微软做出了 C# 和 Typescript,都是顶级的成就可能是双方互相成就,像张小龙带队做出了微信,送给了腾讯一张移动互联网时代的门票,让腾讯得以不断开疆拓土也可能是平台自身的能力,一个研发团队开发出拥有上亿用户的产品,可能是因为有另外一个产品帮它导流,一个销售能够拿到订单,可能是因为平台品牌的背书

人们愿意相信英雄传说,所以,无论是内部,还是外部,都更愿意把一个项目的成功归因到人的身上,但真实情况是,成功很大的一部分原因在于平台。一个人在大公司做出了成绩,只能说明他能非常好地利用这个平台给他提供的机会。

谁的能力

弄清楚了光环从何而来,我们便无需迷信大厂光环,大厂就像名牌大学一样,只能说明出优秀人才的概率比较高,并不代表大厂出来的人真的具备相应的能力。选择与大厂出来的人合作,我们要分辨清楚,自己真正需要的是这个人的能力,还是他与平台结合的能力。

或许你会说,我也不是一个公司的负责人,知道了大厂光环从何而来,对我有什么用呢?

作为个人,我们都希望自己有个好的发展,但问题是,我们应该积累的到底是什么。显然,平台的能力你带不走,只有个人的能力属于自己。理解了这一点,我们就应该清楚地知道,自己积累的究竟是在这个平台上的能力,还是个人的能力。

有人说,什么是教育?把在学校里学到的所有东西全部忘光了之后留下来的东西才叫教育。那什么是个人能力?离开了一个平台,还在身上的东西才是个人的能力,比如:

我能够很好地写 Java 代码,即便换了公司,我也能写 Java 代码,这就是我的能力一个公司内部的各种框架,离开了这个公司,行业里没有其它公司会用,这就是平台的能力离开了这个公司,我还组起这样一个水平的团队吗?如果能,这个组队的能力就是我的,反之,就是平台的一个软件的开发流程流程是什么样的?我是按照公司的要求在做,还是真的自己已经了然于胸,这就是不同的能力

对于每个人来说,为公司努力工作是一种本分,但自我提升,也是一种个人成长的述求。我们之所以要弄清楚自己积累的能力到底是建构在哪里,一个重要的原因是,我们不能假设平台一直是稳固的

对于现代人,尤其是在大城市工作的人来说,从一而终地在一个公司工作的场景越来越少了。一方面,一个人在不同的成长阶段会有不同的诉求,一个公司未必都能够满足,当双方的发展不匹配时,离开就是一种必然的选择。另一方面,公司能不能长期存在,给我们提供一个稳定的平台,这是一个需要打问号的问题。

作为一个在老工业基地长大的人,我生长的环境一直有一种对于稳定的向往,但是,在成长的历程中,我见识到了那种稳定的崩溃,一份几十年的稳定工作突然没有了。前几年有个视频,一个三十多岁的高速公路收费员要下岗,哭诉自己除了收费一无所长。在我看来,这只是看到多年前的一幕幕重演而已。

每个人都渴望成功,拥有一个好平台是迈向更大成功的台阶。用好平台能力,积累个人能力,一步一步地坚定走下去,毕竟,路还长。

打铁还需自身硬

没有技术能力的大厂背书就是耍流氓,我的话说完了,谁赞成?谁反对?不管你以前以何种方式何种身份进入到了大厂,但如果你走出了大厂,仅仅只是靠个大厂光环和背书,而没有相对应的技术能力,短时间内确实会成为猎头和企业眼里的“紧俏货”,但时间长了用我的一句家乡话说就是“马屎表面光,里面一包壤”。

就拿我自己来说,已经是在字节跳动做Android开发相关工作的第五个年头了。从去年开始,几乎每个月都会收到2-3个猎头的跳槽邀请,而且条件都是非常诱人的。但我每次我都在反思:他们看中的是我的能力,还仅仅就是一个大厂架构师的名头?当然,结果不管是什么,我都不会选择离开字节,离开这个成就了我的公司。

说了这么多,最后给大家做些干货分享吧。分享一下我这5年在字节的学习进阶路线,以及一些笔记资料,有需要的朋友可以评论区留言或私信我获取!

架构师筑基必备技能

目前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终端内存优化实践

360°全方位性能调优

Android框架体系架构

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

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

本篇知识要点:

1、高级UI晋升

2、Android内核组件

3、大型项目必备IPC

4、数据持久与序列化

5、Framework内核解析

Android框架体系架构

NDK模块开发(音视频系列)

NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。

在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。

本篇知识要点:

1、NDK开发之C/C++入门

2、JNI模块开发

3、Linux编程

4、底层图片处理

5、音视频开发

6、机器学习

NDK模块开发

Flutter学习进阶

2019 年无疑是 Flutter 技术如火如荼发展的一年。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

本篇知识要点:

1、Flutter跨平台开发概述

2、Windows中Flutter开发环境搭建

3、编写你的第一个Flutter APP

4、Flutter Dart语言系统入门

......

Flutter学习

微信小程序开发

微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点:

1、小程序概述及入门

2、小程序UI开发

3、API操作

4、购物商场项目实战

微信小程序开发

Android相关源码解读

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

Android相关源码解读

Android相关源码解读部分内容

由于篇幅原因,以上完整学习笔记pdf如有需要,可以点赞+评论支持下,然后评论区留言或私信我获取!

标签: #java光环