前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >努力学计算机四年,终于进腾讯了!

努力学计算机四年,终于进腾讯了!

原创
作者头像
程序员鱼皮
发布2021-05-07 20:56:04
1.1K0
发布2021-05-07 20:56:04
举报
文章被收录于专栏:鱼皮客栈

大家好,我是鱼皮,20 届本科毕业,目前是鹅厂的一名全栈应用开发。

前几天在某乎上看到一个问题:大学计算机系最努力的同学都是如何学习的?

看了几个高赞回答后,真的是感同身受,也想和大家分享一下自己大学的学习经历,算是给自己一个继续前行的动力吧。

与君共勉!

我的大学四年

论努力,我不会输给任何人。

认识我的朋友都知道,即使目前在鹅厂的高压下工作,我也依然坚持利用午休和下班后的时间创作,每晚都是接近 2 点才上床休息。

朋友们总劝我,你别肝了,我说:大学的时候,可比这累多了。

下面分享一下我通过自学,最终拿到大厂 offer 的故事。

前言

我是上海一所 211 学校的本科生,网络工程专业,虽然学校不算太差,但在各种 985 面前,是没有竞争力的,只能说学历不拖后腿。

我从小就对计算机很感兴趣(主要是喜欢打游戏),由于高考时失利严重,所以在进入大学前,就给自己定下了一定要进大厂的目标,决定要好好努力,不输其他名校的同学,我要证明自己不比他们差。

不过现在回想起来,当时确实是年少轻狂啊,也没有想到零基础学习计算机,竟然需要那么漫长的努力。

还好,虽然在追求目标时走了一些弯路,但总体还算顺利。

下面分享我大学四年的学习和求职经历、方法、技巧经验,在最后精心总结,建议大家收藏,并定期和自己的现状来对比,按照我的经历,每位同学都可以进大厂!

大一

其实,我的大一比较滑水,新鲜的事物太多,让我渐渐忘了入学前的目标,忽略了学习的重要性,不过这也应该是大多数同学的真实写照吧。刚入学时我加了很多社团,每天就是和兄弟姐妹们开心滴玩耍,完全不在意自己的成绩。但幸运的是,我加入了一个给学校开发网站的工作室,老大给我布置了一些学习网站开发的任务,因此上学期也学到了一点课本之外的知识,但专业课的成绩着实一般。

寒假回家跟名校的朋友交流后,我意识到自己忘记了曾经的目标,于是决定洗心革面,发奋图强。和朋友的交流中,我意识到想要学好编程,仅通过学校的计算机课程是远远不够的。于是,我买了几本书,在大学的第一个寒假,学完了 Java 这门编程语言、数据库理论和 MySQL 数据库的使用。刚开始自学的确比较困难,所以整个寒假 每天早上 8 点钟爬起来就是学习,一直学到晚上,那段时间几乎是 闭门不出,所以感觉时间过的很快。自己对这个寒假也没有什么深刻的记忆了,有时 因为一个 bug 熬到半夜 的郁闷心情。

在刚开始学 Java 时,我看书上的例子是看一遍忘一遍,看了半天啥也没学会。于是,我就跟着书本敲代码,把每一个例子,每一行代码都理解、啃头,认真完成课后练习,并且将练习的代码结合自己的想法做了些修改,试着自己开发了一些小软件,比如整人儿程序,打开软件后就会在屏幕上出现无数个关不掉的窗口。自己开发和设计程序的过程是非常爽的,没有课本和作业的束缚,让我渐渐对编程产生了兴趣,也为后面持续努力自主学习埋下了种子。

在大一下学期,我首先端正态度,开始认真学习学校的计算机专业课程,希望能得到一个好的成绩。除了学校教的基础课外,我在网站开发工作室中学习了更多网站开发知识,主动承担校园网站建设任务,并且用学到的技术手动为自己开发了个人博客,来记录自己的学习过程。

随着前端学习的逐渐深入,我开始好奇前端页面背后的请求逻辑,于是开始自主学习 Java 后端的知识,刚开始接触后端,感觉像是打开了新世界的大门,我意识到, 握草,编程真的是这辈子都学不完啊,然后开始更努力地学习。

与此同时,在这学期,我抓住了两个机会,首先是作为队长申报了国家级大学生创新创业项目,这个项目的申报属实不易,我被老师拒绝了好几次,他每拒绝一次,我就重新提一个想法、设计一个方案,最终终于成功抓住了机会,带领团队开发了一个一站式校园信息整合系统。做这个项目的时候,正是课程最繁忙的时候,那段时间,光是做课程 oj,就让我很头疼了,但还好有责任心驱使我前进,每天晚上肝到 2 - 3 点,我也能够将项目做好。

参与创业项目学习
参与创业项目学习

第二个机会是,我加入了导师的研究生团队一起做项目,机会是靠自己争取的,简单的说就是毛遂自荐,虽然当时我只学了简单的 Spring 后端开发,但我相信自己能够通过爆肝,虽不奢望追上师兄们的步伐,也要不拖大家的后腿,为项目多做贡献。

光通过做项目,我就赚到了几万块钱,做到了经济独立,同时也积累了一些经验,在专业课上取得了不错的成绩。

当时的我,天真的以为,照这个节奏努力下去,已经足够了。

但随着我看到了身边更多优秀的人(比如我表哥,在清华,大一发论文,他是我最优秀的榜样),学到了更多的知识,我发现,自己还是太嫩了,那个时候的自己,根本谈不上努力,只是个沉迷学习的傻子。

大二

大二这一年,除了担任班长,我还当了学生会部长、社团部长、网站开发工作室的负责人,因此,除了专业课学习外,还有非常非常多其他的事情要处理。但是,不论其他事情要处理到多晚,我都始终坚持每天留给自己几个小时用来自学技术,哪怕熬夜到凌晨三四点,然后第二天 8 点接着醒来上课。课上犯困的时候,我会做一些相对不用动脑的工作,比如记录一些实验课的报告。然后等回了寝室,躺在床上,把电脑放被子上,我便会打起精神,开始自主学习编程。

虽然此前我已经学了很多编程语言,但是,从大二开始,我坚定地选择 Java 作为自己的主语言。

大二上学期,我几乎每天都是在教学楼、学院楼或是图书馆度过的。为了巩固自己的 Java 基础,我不仅上网看了一套完整的 Java 视频教程,还读了《 Java 核心技术卷》这一经典书籍。为了检验自己的学习成果,我自主报考了国外的 Java 等级认证,特地办了张跨境银行卡来支付报名费,还好通过努力复习,高分通过。Java 基础打扎实后,我开始学习主流的 Java 开发框架、微服务技术等。我的记性比较差,但还好学编程不靠死记硬背,背代码的肯定是比不过自己做项目、多写代码的。因此我学编程知识时有个特点,就是边学、边敲代码做项目,每学完一个技术,我都会独立开发一个项目,比如团队协作系统、CRM 管理系统、校园通讯系统、即时聊天系统等。

哦对了,那会儿,之前的网站工作室负责人毕业了,临走时,把工作室托付给了我,当时工作室成员不多,光我自己,就独立做了 5 个以上的网站。在老师的推荐下,我还去给其他学院的老师开发系统,而且那段时间,在上数据结构和算法这门课,我还在研究 ACM 方面的题目,所以有时会忙到连中午吃饭的时间都没有,直接待在其他学院的老师办公室吃盒饭。

我会整理自己做过的项目,慢慢地竟也积累了不少,有一些项目改造改造,拿去完成课程大作业,或者参加比赛,都非常不错。

我也经常在自己写作的地方分享自己做过的项目和经验,欢迎大家看一下。

大二寒假,我参加了一个计算机作品竞赛,有幸找到一位很优秀的学长,他做后端,我做前端,我们一起开发了一个大学二手置换平台。在这个过程中,我学到了很多团队开发的技巧,也从学长身上学到了很多编程小姿势。学长校招拿到了阿里的 offer,也是给我带来了不少的鼓励吧。

这个寒假,除了开发作品外,我看了一些计算机网络方面的书籍,补充自己的理论知识,基本也是全天都在学习,只有晚上跟朋友出去玩玩桌游,即使在玩时,可能抽空还会想想白天遇到的难题,痛并快乐着吧。

学院楼自习
学院楼自习

通过不断开发作品,我意识到自己的前端网站开发效率好像不太高,于是在大二下学期,我开始学习前端框架 Vue,比 jQuery 更加高效地开发体验带给我极大的学习兴趣,一口气学了一个多月,看完了 2 套 Vue 完整教学视频,并且自己动手写了几个 Vue 完整项目,同时还学到了很多打包工具,自己也实践了他们的配置方式。

当时觉得大二暑假好像没什么事做,就计划要不用技术赚点钱吧,因此我没有选择去做兼职,而是想找一份和自己职业目标相关的实习,于是我开始跑到大公司的官网去投递简历,即使简历上什么内容都没有。结果可想而知,像阿里巴巴这种一线大厂根本就不鸟我,朋友们觉得真实么?

没办法一次进大厂实习,那就一步一步往上爬吧。那我就在各种求职网站去海投简历,终于有幸在实习僧上收到了几家公司的面试邀约,基本都是要坐几个小时地铁的公司,但肯定也都要去试试吧。当时自己虽然做了不少网站,但由于面试准备不充分,屡战屡败,结果只有一家公司肯要了我,岗位正好是 Java 后端开发。

于是那年暑假,我每天早上 6 点就要起床赶高铁去上班,学校在郊区,我要先骑着我的小、小电动车去地铁站,然后坐地铁,换乘 2 次,再走老长一段路,来回四个小时的车程。后来,为了省时间,我发现了一条更精妙的路线,公司在高铁站附近,那我干脆就坐高铁去!于是,每天可以节省近一个小时的时间来学习。

实习的地方夜景
实习的地方夜景

当然,在车上的时间我并没有浪费,而是利用这些零碎时间用手机刷 Java 等知识的练习题、看其他同学的面经、或者阅读公众号上的技术文章。我给自己定了一个每日任务,每天读 4 篇文章,刷 30 道牛客 Java 题目,经过两个月的时间,题目刷通了两遍,也学到了很多技术知识。

那段时间,我白天在公司上班,晚上还要回到学校去接着跟老师做项目或者自主学习,弥补面试时发现的自身的不足。

即使在工作中没什么活的时候,我也会刷算法题,带薪刷算法题,绝对不让自己闲下来,因为我怕我一放松,就会懈怠。等我走的那天,刷了估计也有几十题了。不过有一说一,那会儿网上的算法教程和经验分享都不多,所以我也走了很多弯路吧。给大家整理了一些学算法的资源,希望大家不要像我刚开始一样,随缘刷题,低效又无趣。

还好,整个实习真的非常愉快,虽然只有两个月,但我真的收获爆表。

学到了很多技术和业务知识,开拓了眼界,也明确了我今后的职业发展方向;学会了团队沟通和协作,懂得了诚信的重要,也收获了人脉。当然,最重要的是收获了人生一段难忘的回忆。

当时的工位
当时的工位

这也是为啥我建议大家在学了一些技术后,趁早去找一份实习,不用担心自己的经验不足,通过面试和企业工作的磨练才能让你积累更多的经验和技术,也能帮助你明确自己的目标。

不过遗憾的是,到最后也没赚多少钱,饭钱自己掏,高铁费齁贵,哈哈。

在今年,为了解决学了就忘的问题,我开始使用一种新的学习方法 —— 费曼学习法。每次学到一些知识,我会尝试用自己的方式进行复述,并和其他同学进行分享。只有能清晰地讲述所学知识,并让他人能够理解,才算是真正学会了。用这种方法,我不仅加深了对知识的印象,语言表达能力也得到了很大的提升,还有了更多给学院同学分享的机会,开过几场讲座,而这些都对我今后的面试非常有帮助!

让我欣慰的是,自主学习课外技术竟也帮助我理解了一些学校的课程,因为很多理论知识之间是有关联的吧,所以今年的成绩还算不错,拿到了国家奖学金。我用奖学金的钱,再加上之前做项目的钱,买了配置更高的电脑和设备,激励自己学习。

自己赚钱买的电脑
自己赚钱买的电脑

大三

在之前的几次面试失利中,我感觉自己的编程知识是缺斤少两的。一方面我要学习更多且更深层的后端知识,不能仅停留于 “会用”,而是要 “活用”。因此在大三这一年,我又学了像消息队列、搜索引擎等企业后端必备的技术,以及 MySQL 优化、虚拟机调优、Redis 底层,并且通过阅读源码,自己搞了一些框架。另一方面,我意识到了数据结构和算法的重要性,开始刷算法题目,每天早上花 2 - 3 个小时搞几道题,坚持了近一年,总共搞了 1000 道题吧,也顺便考了一些算法类证书。

学的技术越多,我越发现啊,学编程还真是得靠敲的!光说不练假把式,其实很多视频教程中的小 Demo 都蛮不错的,要注重积累,并试着将重复的代码进行抽象,避免重复造轮子。很多技术都是因为有实际应用需求,才被人创造,才需要你去学习,比如你要做一个支持用户登录的 APP,你就要学习登录机制;要做即时通讯,你就要了解 RTC、Socket;性能低了,你就要去优化;担心网站被黑了,你就要做安全措施;懒得写重复代码,你就要学低代码、大前端等等。

直到现在,我依然是一名兴趣驱动型 coder,会经常带着小伙伴们一起做一些好玩轻松的项目,提升兴趣的同时学到不少编程小技巧,欢迎朋友们来看看。

正因为明白兴趣和实践的重要性,所以我大三一整年都沉迷于做项目、找实习、参加竞赛,乐此不疲。

上学期先是在实验室跟着老师研究区块链技术,不得不说,实验室的环境更适合学习,从早上起床就来实验室,直到晚上十点多甚至是十一点才走,感觉真是很充实!几个月过去,终于开发出了落地应用并出版了一本教材(个人编写占比超过 50%),也是这段时间的研究让我浮躁的内心渐渐变得平静。

在寒假前我向字节跳动投递了简历,在一份实习经历和坚持刷算法题的加成下,我很顺利地成功通过了面试,开始了日常实习生活,在不敲任何一节课的情况下,每周上班 3 ~ 4 天。(好奇为啥没翘课还能一周上这么多天班么?后面详细给大家分享,欢迎关注我呀!)

实习部门是个新部门,地铁每趟要近 2 个小时。虽然使用的是自己不太擅长的 Php 和 Go,但学习起来很容易,导师和上级非常好,给我绝对的发挥空间,从入职起就参与项目的需求评审,甚至后来是自己一个人负责了一个项目的后端,和其他部门的同事打交道也非常多,成长非常非常非常快!而且字节跳动的待遇真的没话说,全员 Macbook +免费三餐零食下午茶。

后来快离职了,导师和上级也没给我安排什么任务,除了解决下之前写的 Bug 外,我不会闲着,有空就坚持刷算法,LeetCode、交大 OJ、浙大 OJ、牛客、PAT、北大 OJ,我都刷了几十道题,其中 LeetCode 刷了 600 多道!顺带一提,在来回四个小时的车程中我依然会看技术文章、背单词、看面经、或者刷刷面试题目。不得不说,字节跳动真的是一家很好的公司,他的价值观(字节范儿)也带给了我很大的激励吧,共勉。

字节范儿(当年是 5 条)
字节范儿(当年是 5 条)

实习四个月后,我跑路了,原因是自己还在纠结到底是保研还是就业,不妨两者都试试,到时候再选择一个更优解。所以回到学校后,为了丰富简历、给上海落户凑一些积分,我参与了一些大型竞赛,像挑战杯、互联网+、三创赛,在所有团队成员共同努力并让我抱大腿的情况下,也获得了一些奖项。

后来,某天在校溜达时,我突然收到了腾讯的电话面试邀请,总共只有两轮面试,都是些后端问题,还好我每天都在看面试题,有备而来,所以答得还行,也就顺利搞到了暑期实习的 offer。

大三这一年,我专门搞新技术的时间并不多,但是通过不断做项目、刷算法、不断发现和解决问题,我的基础和技术能力都有了很大的进步。有了更多的知识积累,在学新技术时,我可以将一些新知识和以前的知识对照和串联,从而理解的飞快!比如学过前端 Vue 框架后,再学习 React 框架就轻而易举,我的技术栈也越来越丰富了。

大四

大三暑假,我开始了在腾讯的实习生活,刚开始还是挺不适应的,总是在简单的工作上翻车,但后来多花了些时间学习,也渐渐能独立完成工作了。后来,我在实习转正答辩中取得了同组第一的成绩,顺利搞到了不错的 offer,并成功签约。不知道小伙伴们是否需要我出一期实习转正的视频呢?

整个大四,我基本都在腾讯实习,每天依然是坐地铁往返学校和公司,在路上坚持学习。疫情期间,我就在家里远程实习,下班的时间除了做毕业设计、写论文之外,我还独立开发和上线了一个完整的小程序【面试君主】。

等毕业证搞到手,我已经在腾讯实习了近一年,后面的转正也都非常自然。

不过转正之后,激动的同时,身上的责任和压力也大了许多。想了解我转正经历的朋友,请点赞后在评论区告诉我吧,让我知道有人看了几千个字后,来到了这里~


这就是我的大学生活,一段平凡的奋斗史。

当然,想要进大厂,只靠努力还是不够的(但不能不努力),我认为进大厂还需要以下要点:

  1. 兴趣,学自己喜欢的,这是你前进的主要动力
  2. 目标,有目标才有规划,才能避免像我一样走了弯路浪费了些时间
  3. 自学,只有持续自学,你才能看到更大的世界。其实现在网上好的学习资源非常多,为了帮助大家发现优质编程资源,我花了 200 个小时开发了编程导航,还整理了免费编程资源大全。
  4. 实践,纸上得来终觉浅,对编程来说更是如此,必须要多加练习
  5. 机会,在我的故事中看似有很多的幸运,但其实每一个机会都是要自己争取来的,你变强了,更多机会和幸运才会眷顾你。而每个机会都可能会改变你的命运。
  6. 突破,打破自己的舒适圈,这样才能给自己多一点选择,多一点成功的可能性。
  7. 时间,珍惜你大学的时间,这段时间的努力会在未来,给你带来更大的价值
  8. 生活,保持健康规律的生活,不要像我一样因为常年熬夜,记性越来越差,头发掉的越来越快。

最后再给在校的同学们一些建议。

建议

给目标直接就业同学的建议:如果时间还多,那么就按照自己的节奏和兴趣去学习技术并实践,心无旁骛。你要知道研究生也才多一年多的做项目和研究时间,如果本科你把别人准备考研的一年用于学习技术,那么技术实力完全不输于研究生!

给考研同学的建议:提前了解目标院校考察的专业课,并在该门课初学时就多下功夫。所有的实践课要好好学,平时有空也多上牛客等平台认识更多的朋友,了解找工作常用技术和其他同学的情况,避免考研失败后春招完全小白。

给保研同学的建议:如果 一心决定读研,担心保不到好的学校,也可以准备下考研,顺便也能复习到一些面试知识。

总之,给自己 多一个选择,多一条后路


我的座右铭:相信自己有能力,那么你就真的会有!

希望这句话可以鼓舞到更多的同学吧。

另外,很多同学对知识博主的生活可能比较好奇,我是怎么做到 连续日更不中断、同时维护两个公众号、又做视频、又写文章、又做直播,又能作为项目主负责人,和小伙伴们一起持续开发自己的网站【编程导航】的呢?

我工作之后的日常,可以看这篇文章:聊聊最近的生活

因为热爱,所以坚持!

我是鱼皮,大家有问题可以联系我,一起加油吧!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 我的大学四年
    • 前言
      • 大一
        • 大二
          • 大三
            • 大四
              • 建议
              相关产品与服务
              云数据库 MySQL
              腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档