双非渣本非科班的我是如何转行拿下BAT-offer

前言

大家好,一路走来,真的很感谢支持我的每一位读者

我的情况

95后,西安人,本科,就读于西北双非普通一本,我的专业是贴膜的(非科班),编程方面学校只开过一门C语言课程,一路基本上是纯自学过来的,现在大四,马上毕业

2017年秋招---2018年5月offer:

百度 手百feed(北京科技园)软件研发

阿里 阿里健康(北京望京)算法工程师

腾讯 OMG(深圳) 后台开发

美团 酒旅(北京)后台开发

京东 商业体系(北京北辰)算法工程师

作业帮 (北京)后台开发

好未来 学而优(北京)后台开发

盛大游戏 (上海)研发工程师

迅雷 (深圳)后台开发

西山居 (珠海)研发工程师

。。。

我2017年暑假在腾讯实习,2017年12月在百度实习,所在是策略组,就慢慢的接触了相关的知识,自己也很感兴趣,就学习了起来,在之后拿到了京东、阿里算法工程师offer

最终我的选择是去北京阿里健康,做算法工程师,说说几点原因:

1、职位:相对于后台开发,我更喜欢走算法方面,感觉以后会很吃香

2、方向:去阿里做的是互联网医疗、问诊、药品,我觉得未来几年,人们肯定会更重视自己的身体健康,前景比较好

3、薪资:不管从月薪、年薪上面比较,都比腾讯、百度薪资多

4、性格:我喜欢抗压大,加班多,技术氛围好点,成长快的

5、面试:我觉得阿里还是很有水准的,每年的应届生也是招的相当少

6、地域:虽然深圳比北京环境好点,舒服点,但我对其没有要求

本科刚毕业,我还很年轻,就想去大城市闯荡几年,快速的成长起来,性格决定命运,态度决定高度,格局决定未来,这就是我的选择,从不后悔

正文

(上)

2014年的9月,我来到了大学,那时候的自己,对以后的人生规划以及未来都没有想过,大一,我当时的想法是考研,认真的学习本专业的知识,然后考研,大一下学期,我舍友报了培训机构的C语言,在校内上课,我当时没报,主要因为:

i、家庭困难

ii、自己也不是很相信这些机构

iii、本专业的C语言课程在大二上学期开设,当时觉得学这个不重要


到大一下学期4月底的时候,我舍友说他不想去上课了,问我有没有兴趣,想50块钱将剩下的课程卖给我,当时,我觉得挺划算的,就买了这个中途的C语言课程,之后我就去听课了,在那里听的很爽,笔记记了一个本子,当时觉得自己水平很高,直到大二上学期,我记得很清楚,一个国庆假,我们在图书馆二楼补课,上几天C语言,当时,我也不知道怎么了,突发奇想,给自己出了一个编程题:3+4=7,我要计算这个,用C语言怎么编写,当时自己就懵了,我立马问了周围几个同学,他们都会编写,我当时是真的不会,瞬间觉得与别人差距怎么这么大呢,自己之前是一直记笔记,从来没有上机编程过,这次对我打击是真的很大(编程实战很重要,一定的自己动手去敲)


大二国庆假后,大一的专业排名出来,我是有转专业资格的,纠结要不要转计科/软件,但是此时的自己还是心向考本专业研,就放弃了这次机会,此后,我跟着学校开的C语言课程在学习,自己也是安装了VC++ 6.0,进入了编程实战的阶段,刚进入编程,自己总是纠结于括号怎么打(一次打一个还是打一对),为什么要写头文件这些问题,当年也是很难受的


我此时才算是真正的接触编程,在大二上学期国庆后,在别人的帮助下,写出了自己人生中的第一行代码,运行成功,当出现黑框框:hello word,当时的自己很是兴奋,跟着这学期的课程,自己也没有什么具体的规划,到期末算是学会了一点点C语言,此时的自己水平真的很菜


在大二上学期的期末,偶然机会,跟直系学长聊了一会,让我认清了自己专业的定位,基本上是什么都学,但是什么都不精,学的比较杂,建议我寒假回屋有时间可以看看编程这块的知识,当时回屋就拿了C语言跟数据结构这2本书,考研的想法,还在我的心中,只不过自己打算跨专业考研,考计算机方面的,寒假在家,自己就慢慢的摸索编程,看的是51cto上面的C语言视频,边看边练,自己此时算是决定了,要进IT,走互联网行业

在大二下学期,我就已经看清楚了我专业的未来,自己就打算转行编程或者跨考,学长建议我,要进实验室,自己的水平当时只会C语言,和一点点的数据结构,在3月初我就开始关注学校的实验室纳新,并且不断的去面试过不少实验室,一直都没进,我就下来总结了他们常问的一些,排序算法,数据结构,C基础,慢慢的总结了一些,也学会了不少,学校著名的实验室纳新,自己都没过,水平不行,等到5月中旬的时候,偶然机会,在贴吧上,看到了东 区,“2+2”实验室纳新,自己就去了,经过2次技术面试,很幸运的进入了实验室

(中)

我自己羡慕实验室的地方在于:经常见实验室通宵达旦的做项目,学习,自己渴望着有朝一日,可以加入他们,现在终于实现了,现在我还记得,当时6月份,我第一次去实验室,一个人都不认识,在台上面自我介绍,我直接问了老班长一句:这里可以住吗,晚上不想回去,默然应允之后,我就在淘宝上买了一个床,从此入住实验室


对于我的大学而言,我在大二下学期加入实验室,是我大学乃至人生中比较重要的一个转折点,在进入实验室之前,自己的编程水平只会C和数据结构,还掌握了一点排序算法,之前是通过啃书和看着视频照着敲代码,找找感觉,没有系统性的学习,在大学前2年,自己主要在宿舍、教室、图书馆中度过,之后的大学2年,基本上再也没有去过图书馆,基本上都在实验室里面了

640

我在实验室的座位


在实验室自己的几点改变:

i、开始写技术博客,并且坚持写了一年多,近200篇左右,涉及Linux、C、C++、数据结构、网络编程、算法等

ii、开始有自己的github,上面有自己一些项目和一些自己的小练习

iii、在这之前,就不会用google,也是开始接触科学上网

iv、开始自己检索资料,各种电子书、视频资料,提升了搜索的能力

v、通过做项目,对自己最大的提升是解决问题的能力和自己的思考方式


在进入实验室,我是有着自己的目标与方向的,在大二的暑假,就定制了自己的行动方案,关于考研,自己的战略是:大三下学期找一个大厂实习,并且转正留下,那么9月份回来全力备战考研,考北邮,以后搞AI,关于就业,自己的战略是:基础+算法+项目的学习,我其实是一个什么都想做好的人,既想找到一个好工作,也想考一个研究生,这就是当时自己做的决定

进入了实验室,一个人也不认识,刚开始晚上是我一个人住在偌大的实验室,很空旷,晚上很孤独,很害怕,这是真的,大概持续了半个多月,后来晚上又住了几个人,并且我们也有锅、面,晚上经常在实验室里面下面,吃火锅

640

2017年元旦在实验室吃的火锅


(下)

在实验室学习编程,本专业课程,基本上是不去的,考前复习一周,做几套卷子就行,然后年年奖学金,自己的作息规律,在实验室住了1年半左右(2016年6-2017年11),中间被学校查宿,夜不归宿,记大过2次,还有晚上有大叔赶我们走,不让晚上待,此时就得打游击战,想方设法的留下来,跟大叔搞好关系,有回他也就不管了,我就一个信念,留在实验室,充分利用这个资源,其他的都想办法克服,我大学最大的坚持,在进入实验室的第一天,到秋招结束,中间500余天,天天早上7点前起床(不论周末、过年、没有任何情况可以打断早起),也是养成了一个良好的习惯

进入实验室之后,我就首先对自己有了一个清晰的认识,基础部分:数据结构+算法,操作系统+计算机网络,Linux+设计模式等,语言层面:选择了走C++,主要是:

i、自己C语言学的比较好,所以就走了C++道路

ii、当时听过说C++比较难,学的人少,而我喜欢挑战大的(这是道听途说)

iii、自己特别喜欢C语言这种过程式,造轮子这些工作

iv、当时想进腾讯,腾讯后台都是C++

当你不知道学什么方向的时候,不妨想想自己最想去哪家公司,看看那家公司的技术栈,和相应的招聘要求,按照这个学习就好

深入方向:自己是STL源码和Linux内核源码学习,基本上,我就是按照:基础+语言+深入方向这个路线学习的,一开始并不急于去做什么项目,在于整个体系的学习

三步走战略:看视频+看书+做项目,我把100多个G的视频看了2遍(黑马的Linux C/C++相关的),早上起来就是看视频,下午看书,晚上敲,基本上从早上的7点到凌晨1 2点的样子,书是挑重点部分看,视频太繁琐的也可以快进,一心学习编程,其余学校课程、什么乱七八糟的事情都不用管,投入足够的时间,在专心的做一件事情,怎么可能不成功呢?每天中午是要休息1个小时左右的

640

实验室夏天午休的地方

我准备春招实习也是特别的早,在2016年的11月底,实验室都会有学长、学姐就业分享交流会,那天听完之后,下来我就已经开始写简历了,准备投递和面试了,在大三寒假,我回到家里面,只做两件事情:刷算法+做项目,之后,就投入到大三的春招找实习、暑假去实习,秋招找工作的过程中,这个过程也是不断的总结、反思学习,也在不断的成长

我在实验室一年多的时间里,买书就花了好几千块钱,在学习方面的投资,我基本上是舍得的,还有各种视频资源,现在对我来说,只要会利用互联网,就没有找不到的视频资源,自己解决问题的能力得到了大幅度的提升

在实验室,我是属于有清晰的战略和比较努力的那一批人,来源于经常和实验室学长,学姐交流的多,我经常主动找他们聊天,学习、生活各方面,往往轻易得到的大家都不是很珍惜,自己深知能来到这个实验室是多么的不容易,我是特别的珍惜在实验室的每一刻,就比较努力了,慢慢的习惯了这种生活方式,一旦当你优秀了,优秀就是一种习惯,贯穿于你整个人生

其实整个学习的过程中,自己也有厌学,坚持不下去的时候,出去转转,找同学聊聊,舒缓之后在继续学,也有自己解决不了的问题,先自己找,实在不行,大家讨论,这些,自己都经历过,我觉得,不放弃,慢慢做就好,心态真的很重要,我就是一步一步慢慢的走到了今天

每个人的时间都是一样的,其精力也是有限的,此时的选择真的比努力更重要,关于努力学习编程这块,一定的多动手去敲,去理解,必须的学以致用,才能对知识理解的更加深刻, 在有了清晰的战略规划,和做一件事情的兴趣之后,坚持就更容易成功


我觉的,学习的过程一定是的耐得住寂寞,忍受的了孤独,编程尤为如此,夜深人静之时,还在敲代码,调bug,都是这样过来的,我当时也加了很多的技术交流群,但是大部分都是在里面吹水的,聊人生的,谈论技术的真的很少,我希望学技术不要寄希望于加了几个讨论群这些,主要还是在网上检索资料,技术相关问题真的大部分都是可以通过google解决的,技术需要日积月累,需要长时间的沉淀,一个人必须的独挡一面,人各有志,按照自己的想法走就好,内心想要的东西只有自己知道,我相信,有追求的,那种强烈的欲望会促使你一定可以做到的


我谈谈自学2年到现在,自己对编程的认知,我举一个简单的例子:为什么好多人现在都喜欢跑步,去健身房呢?我猜大部分人肯定是为了健身、减肥之类的,带有一定的目的去做,我想说的是,我也喜欢跑步,并且1000米体测,我3分10几秒,年年满分,但是我喜欢跑步,是不带有任何的目的,纯粹是喜欢,不跑步我浑身难受,什么事情都不想干,它就跟吃饭、睡觉一样离不开,它就是我生命中的一部分,跟我学习编程一样,我现在是真的喜欢,并不是因为它挣钱多、好就业,编程已经是自己生命中不可或缺的一部分,有了极大的兴趣,就更容易成功,培养这种兴趣:找到做这件事的乐趣+自我暗示

我跟大家是一样的,也是很迷茫,并没有比任何人聪明多少,智商都基本差不多,但是我有一颗执着和坚持的心,一旦确定了一件事情,就必须做好,因为我渴望成功

我个人博客和github给大家,我都一年多没有更新了,有兴趣的可以去看看

博客:http://wait0804.blog.51cto.com

github:https://github.com/wait0804

总结

一路走来,经历了太多,其中的艰辛只有自己知道,曾经都快坚持学不下去,理解不了代码等等情况都发生过,但心态保持好,孰能生巧,反复的学习,每天进步一点点就好

1、早点准备,做什么事情都比别人早,那么成功的概率也更大 

2、有清晰的战略规划,可以让自己心中有数,不至于有时候闲的没事干

2、没有解决不了的问题,关键看你自己的心态

3、投入一定的时间,专注的做一件事情,最终一定是水到渠成

4、活人不能被尿给憋死,解决问题的方法总比困难多

5、脑子放活一点,思维打开,多想想


ps:可以看我历史文章,有写到面试准备、春招、实习、秋招,感兴趣的可关注,可以后台留言,也可以联系我:关注公众号--->联系我们--->联系我,欢迎大家一起讨论技术

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值