大一
我的本科是东华大学网络工程专业,大一刚入学时加了很多社团,每天就是和兄弟姐妹们开心滴玩耍,完全不在意自己的成绩年薪五十万需要付出多少。但幸运的是,我还加入了一个给学校开发网站的工作室,老大给我布置了一些学习网站开发的任务,因此上学期也学到了一点点课本之外的知识。寒假回家跟朋友交流后,我意识到想要学好编程,仅通过学校的计算机课程是远远不够的。于是,我买了几本书,在这个寒假,搞了 Java 这门编程语言和数据库。在刚搞 Java 时,我看书上的例子是看一遍忘一遍,看了半天啥也没学会,不知道其他同学是不是这样。
后来,我就跟着书敲代码,结合自己的想法做些修改,搞出了一些小软件,比如一个整人儿程序,打开软件后就会在屏幕上出现无数个关不掉的窗口。在自己搞这些程序的过程中,没有课本和作业的束缚,感觉特别爽,我渐渐对编程产生了兴趣,第一次想多了解她一点。
在大一下学期,在学校教的基础课外,为了搞到工作室的经费,我学习了更多网站开发知识,为自己做了个人博客,来记录自己的学习过程。
另一方面,我开始好奇网站背后的请求逻辑,于是搞了些 Java 后端的知识,第一次接触后端的感觉就像是踢开了新世界的大门,那种感觉真的很奇妙。
与此同时,在这学期,我抓住了两个机会:
1. 作为队长申报了国家级大学生创新创业项目
2. 和研究生团队一起做项目
怎么抓住这些机会的呢?很简单,举手报名!
通过做项目,我搞了一点钱,做到了经济独立,同时也在专业课上搞到了不错的成绩。
大二
大二这一年,除了担任班长,我还当了学生会部长、社团部长、网站开发工作室的负责人,因此,除了专业课学习外,还有非常非常多其他的事情要处理。但是,我始终坚持每天留给自己几个小时用来自学技术,哪怕熬夜到凌晨三四点。
虽然此前我搞了很多编程语言,但是,从大二开始,我坚定地选择 Java 作为自己的主语言。
大二上学期,为了巩固自己的 Java 基础,我搞了一遍 Java 核心技术卷,并且报考了国外的 Java 等级认证。搞了主流的 Java 开发框架、微服务技术等。我的记性比较差,但还好学编程不靠死记硬背,背代码的干不过写代码的。因此我学知识有个特点,就是边学、边敲代码做项目,通常一个技术学完了,一个项目也就做完了。我会整理自己做过的项目,慢慢地竟也积累了不少,有一些项目改造改造,拿去参加个比赛,给老师开发个系统,是非常 happy 的!
大二寒假,我参加了一个计算机作品竞赛,有幸找到一位很优秀的学长,他做后端,我做前端,我们一起搞了一个大学二手交易平台。在这个过程中,我学到了很多团队开发的技巧,也从学长身上学到了很多编程小姿势。学长校招拿到了阿里的 offer,也是给我带来了不少的鼓励吧~
通过搞这个作品,我意识到自己的网站开发效率好像不太高,于是在大二下学期,我开始搞前端框架 Vue,发现特别好使,贼开心,一口气花了一个多月看视频学完了,同时学到了很多打包工具。
当时觉得大二暑假好像没什么事做,就计划要不搞点儿钱?我没有选择去做兼职,而是想找一份和自己职业目标相关的实习,于是我开始跑到大公司的官网去投递简历,简历上都没有什么内容,果然,像阿里巴巴这种一线大厂鸟都不鸟我,朋友们觉得真实么?
好吧,那我就在各种求职网站去海投简历,有幸在实习僧上收到了几家公司的面试邀约,基本都是要坐几个小时地铁的公司,但肯定也都要去试试吧。结果呢,只有一家公司要了我,岗位正好是 Java 后端开发。于是那年暑假,我在这家公司学到了很多实际的开发经验,理解了计算机技术的应用,确定了职业发展方向,也让简历终于不再空白。每天来回四个小时的车程,值得!当然,在车上的时间我并没有浪费,而是利用这些时间看一些文章,接触到了更多知识;或者在牛客平台刷刷题目,让我的基础更扎实。
在今年,我开始使用一种新的学习方法 —— 费曼学习法。
费曼学习法_百度百科
baike.baidu.com/item/%E8%B4%B9%E6%9B%BC%E5%AD%A6%E4%B9%A0%E6%B3%95/50895393?fr=aladdin
每次学到一些知识,我会尝试用自己的方式进行复述,并和其他同学进行分享。只有能清晰地讲述所学知识,并让他人能够理解,才算是真正学会了。用这种方法,我不仅加深了对知识的印象,语言表达能力也得到了很大的提升,还有了更多给学院同学分享的机会,而这些都对今后的面试非常有帮助!
让我欣慰的是,自主学习课外技术竟也帮助我理解了一些学校的课程,很多理论知识是有关联的,所以今年的成绩还算不错。
大三
在之前的几次面试失利中,我感觉自己的编程知识是缺斤少两的。一方面我要学习更多且更深层的后端知识,不能仅停留于 “会用”,而是要 “活用”。因此在大三这一年,我又学了像消息队列、搜索引擎等企业后端必备的技术,以及 MySQL 优化、虚拟机调优、Redis 底层,并且通过阅读源码,自己搞了一些框架。另一方面,我意识到了数据结构和算法的重要性,开始刷算法题目,每天早上花 2-3 个小时搞几道题,坚持了近一年,总共搞了 1000 道题吧,也顺便考了一些算法类证书。
学的技术越多,我越发现啊,学编程还真是得靠敲的!光说不练假把式,其实很多视频教程中的小 Demo 都蛮不错的,要注重积累,并试着将重复的代码进行抽象,避免重复造轮子。很多技术都是因为有实际应用需求,才被人创造,才需要你去学习,比如你要做一个支持用户登录的 APP,你就要学习登录机制;要做即时通讯,你就要了解 RTC、Socket;性能低了,你就要去优化;担心网站被黑了,你就要做安全措施;懒得写重复代码,你就要学低代码、大前端等等。
因此,我大三一整年都把重心放在实践上。上学期先是在实验室跟老师搞区块链,开发落地应用并出版教材,这段时间的研究让我浮躁的内心渐渐平静。在寒假前我向字节跳动投递了简历,在一份实习经历和坚持刷算法题的加成下,我很顺利地成功通过了面试,开始了日常实习生活,每周四天,在来回四个小时的车程中我会看看技术文章、或者搞面试题目。
但在实习四个月后,我跑路了,原因不明。回到学校后,为了给落户凑积分并且丰富下简历,我参与了一些大型竞赛,像挑战杯、互联网+、三创赛,在所有团队成员共同努力并让我抱大腿的情况下,也搞到了一些奖项。
后来,某天在校溜达时,我突然收到了腾讯的电话面试邀请,总共只有两轮面试,都是些后端问题,还好我每天都在看面试题,有备而来,所以答得还行,也就顺利搞到了暑期实习的 offer。
大三这一年,我专门搞新技术的时间并不多,但是通过不断搞项目、搞算法、解决问题,我的基础和技术能力都有了很大的进步。有了更多的知识积累,在学新技术时,我可以将一些新知识和以前的知识对照和串联,从而理解的飞快!比如学过前端 Vue 框架后,再学习 React 框架就轻而易举,我的技术栈也越来越丰富了。
大四
大三暑假,我开始了在腾讯的实习生活,刚开始还是挺不适应的,总是在简单的工作上翻车,但后来多花了些时间学习,也渐渐能独立完成工作了。后来,我在实习转正答辩中取得了同组第一的成绩,顺利搞到了不错的 offer,并成功签约。
整个大四,我基本都在腾讯实习,每天依然是坐地铁往返学校和公司。疫情期间,我就在家里远程实习,下班的时间就搞毕业设计。等毕业证搞到手,我已经在腾讯待了近一年了,后面的转正也都非常自然。
以上就是我混进腾讯的故事,最后总结几个进大厂拿高薪的要点:
兴趣,学自己喜欢的,这是你前进的主要动力
目标,有目标才有规划,才能避免像我一样走了弯路浪费了些时间
自学,只有持续自学,你才能看到更大的世界。其实现在网上好的学习资源非常多,为了帮助大家发现优质编程资源,我花了 200 个小时开发了编程导航,还整理了免费编程资源大全。
实践,纸上得来终觉浅,对编程来说更是如此,必须要多加练习
机会,在我的故事中看似有很多的幸运,但其实每一个机会都是要自己争取来的,你变强了,更多机会和幸运才会眷顾你。而每个机会都可能会改变你的命运。
突破,打破自己的舒适圈,这样才能给自己多一点选择,多一点成功的可能性。
时间,珍惜你大学的时间,这段时间的努力会在未来,给你带来更大的价值
生活,保持健康规律的生活,不要像我一样因为常年熬夜,记性越来越差
我将自己和身边一些大厂同学的学习和求职经历整理成了一套方法,希望能帮助到大家!