加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

三年,足以完成从双非到互联网大厂的跳跃

发布时间:2019-09-23 22:49:36 所属栏目:评测 来源:syAries
导读:本文转载自微信公众号「码农皮邱」,转载本文请联系码农皮邱公众号。 01 近年来,有些读者会问我一些形形色色的问题,让我很难去回答,甚至给不出建设性的意见。 举个例子: 1.我学习什么能进入优秀的互联网公司工作? 2.我想做研发我应该学习什么? 众所周
副标题[/!--empirenews.page--]

三年,足以完成从双非到互联网大厂的跳跃

本文转载自微信公众号「码农皮邱」,转载本文请联系码农皮邱公众号。

 01

近年来,有些读者会问我一些形形色色的问题,让我很难去回答,甚至给不出建设性的意见。

举个例子:

1.我学习什么能进入优秀的互联网公司工作?

2.我想做研发我应该学习什么?

众所周知,这问题就像你问学霸你为何如此厉害一样让人难以回答。我作为一个双非软工本科学生,经过大学自己摸索和不断试错,毕业开始在百度从事研发工作。其实,我当时也有很多的疑惑,在这里给大家讲讲我的踩坑历程。

记忆中,我当年逛知乎、求助高人、甚至我的导师,都无法给出一个可操作的建议。除此之外,在我那种二本学校,知名企业都不会去咱学校校招,我和学长们对春秋招的概念微乎其微,进大厂是件很困难的事情,概率与踩狗屎不相上下。

作为探路者,求助知乎和论坛,给出的结论几乎都是好好学习数据结构/算法、现在大数据很火你应该学学Hadoop/Spark、你要是会微服务、docker、k8s一定会很加分。

让我想起了我当年问学霸题目如何解?学霸说:这个题目是来源于第X章第X例题,你这样解,答案就出来了,很容易的。至于为什么他能想到,鬼也不知道。

当时,我真的是花里胡哨的啥都学,啥都去倒腾,不知道是不是梁静茹给我的勇气。前端、后端技术栈、Hadoop/Spark、docker/k8s这些几乎都实操过,只是很多只是入门并没有深入研究,效果自然也十分有限。

这些概念,对于小白或者在校生来说,这仿佛在对说你不用学了,除非你天生技术欲望特别强烈。这对于大多数普通人来说,明显是劝退的节奏,可操性十分有限,几乎没有参考价值,不知道从何下手。

其实,道理是没有错的,多研究底层和热门技术栈是有益的。但是,脱离实际情况谈技术就是扯犊子,就像让中国男足拿世界杯冠军显然不符合实际,更应该是根据实际情况,做产出最大的事情,否则会信心全无。

接下来,我系统性拆分问题,在不同阶段应该「学什么」、「如何学」、「学到什么程度」,重点讲我当时遇到的问题,还有我是如何去思考的,最终如何解决的,思路比结论重要。

02

根据问题归类来看,主要在我自己的角度谈谈普通本科如何实现进入Top级互联网工作?

首先,说说在大厂工作都是些什么样的人,他们当年都是背着什么光环混进去的?

经过我的调研和分析,重点说一下在校招中面试官看中和考察的东西。

1.学历/专业、扎实专业基本功

2.有成果的科研经历

3.省/国家级软件设计大赛

4.丰富互联网公司实习经历

5.小有名气的开源项目经历

大概思路就是,要么你证明你令人信服的天赋如逻辑系统思维、聪明,让人觉得你可以被快速培养;要么你有丰富的工程实战经验,证明你具备优秀工程师的潜质。

当然,你可能会说这么多要求,恐怕神仙也做不到啊,简直太苛刻了。在这里,并不是上述要点全部满足,只是满足其中两项证明你的实力即可,毕竟面试时间十分有限,要有点让人信服的东西,否则谁愿意花时间跟你逼逼没用的。

举个例子:

1、假设你是上海交大、浙江大学等学校毕业的学生,有名校学历在后面背书,你可能只需要重点复习数据结构/算法等专业知识,辅之把学校的科研经历说一下,大概率能进入阿里华为百度等大厂,专业知识对于你们来说自然不在话下。

2、假如你是双非大学毕业的学生,那么你必须用国家级大赛、开源项目、互联网公司经历证明自己。总之,多做项目,专注于技术本身,让自己更早具备职业软件工程师的实战技能。

简而言之,你没有光环,那就比别人多努力点,提前做好职业规划,把时间投入技术本身不要投机取巧。

03

鉴于上述分析,知道需求是什么?对于我们来说,主要把精力投入在技术本身。

接下来,我们将面临一系列问题。

1.我应该做什么方向?(方向)

2.我应该学习什么内容?(规划)

3.我如何学这些内容?(方法/策略)

4.我应该学到什么程度?(量化)

5.如何把理论用到实际项目/产品中?(产出)

不同方向,意味着不同领域不同,学习的知识和实战项目有共性也有差异。在这里,我主要讲一下通用的思路。重点拿我擅长方向举例,其他方向可按照同样思路举一反三。

根据我的经验,可将内容分为原理、应用、擅长方向三个纬度。原理和应用纬度必须学习,方向纬度根据自己擅长方向深入学习。

三年,足以完成从双非到互联网大厂的跳跃

原理:计算机网络、操作系统、数据结构/算法,这些东西都是专业课好好学即可,数据结构/算法可以偶尔刷题。校招的时候再重点复习,初级阶段不必花太多时间深究。

应用:它是最基础的内容,不管你从事什么领域都将离不开它们。这也是小白入门重点花费时间的地方,你将在这里不断与程序斗争如调试、验证、异常、解决。

方向:不同方向本质上就是在基础应用上扩充,发挥它们擅长领域和特性去解决特定问题。在这里,简单列一下涉及的技术栈。

1.后端开发:消息队列、缓存、rpc、微服务。

2.大数据开发:Hadoop、Spark、Storm、Flink

3.自动化运维:elk、ansible、zabbix、docker、k8s

04

基于上述分析,主要讲了整体思路,大家可能会觉得有点不太好理解。接下来,拿我当时遭遇的处境进行举例阐述,这样让不同水平或时期的同学有不一样的体会。

假如有时光机让时间往后倒退3年,时间来到我刚上大二的时候,作为一枚小萌新开始学习JAVA走上后端开发之路。

对于我来说,操作系统原理、计算机网络先战略性放弃,毕竟刚接触编程,看高大上的原理,每次上课都想睡觉。当然,数据结构/算法我还能好好听听,毕竟我数学功底还行让我不排斥。

为什么不先学习基础性原理?

举例:假设你学骑自行车,你是直接上去就蹬?还是先把轮子拆下来研究清楚原理再去学习怎么蹬?

重点:根据我的经历,在新手阶段不管是接触新的语言,还是新的方向。最快的方式就是先把自行车蹬起来,等你蹬熟练了再去研究轮子是怎么造出来的。

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读