你们好,我是鱼皮,20 届本科毕业,目前是鹅厂的一名全栈应用开发。前端
前几天在某乎上看到一个问题:大学计算机系最努力的同窗都是如何学习的?面试
看了几个高赞回答后,真的是感同身受,也想和你们分享一下本身大学的学习经历,算是给本身一个继续前行的动力吧。算法
与君共勉!数据库
论努力,我不会输给任何人。编程
认识个人朋友都知道,即便目前在鹅厂的高压下工做,我也依然坚持利用午休和下班后的时间创做,每晚都是接近 2 点才上床休息。小程序
朋友们总劝我,你别肝了,我说:大学的时候,可比这累多了。后端
下面分享一下我经过自学,最终拿到大厂 offer 的故事。安全
我是上海一所 211 学校的本科生,网络工程专业,虽然学校不算太差,但在各类 985 面前,是没有竞争力的,只能说学历不拖后腿。前端框架
我从小就对计算机很感兴趣(主要是喜欢打游戏),因为高考时失利严重,因此在进入大学前,就给本身定下了必定要进大厂的目标,决定要好好努力,不输其余名校的同窗,我要证实本身不比他们差。markdown
不过如今回想起来,当时确实是年少轻狂啊,也没有想到零基础学习计算机,居然须要那么漫长的努力。
还好,虽然在追求目标时走了一些弯路,但整体还算顺利。
下面分享我大学四年的学习和求职经历、方法、技巧经验,在最后精心总结,建议你们收藏,并按期和本身的现状来对比,按照个人经历,每位同窗均可以进大厂!
其实,个人大一比较滑水,新鲜的事物太多,让我渐渐忘了入学前的目标,忽略了学习的重要性,不过这也应该是大多数同窗的真实写照吧。刚入学时我加了不少社团,天天就是和兄弟姐妹们开心滴玩耍,彻底不在乎本身的成绩。但幸运的是,我加入了一个给学校开发网站的工做室,老大给我布置了一些学习网站开发的任务,所以上学期也学到了一点课本以外的知识,但专业课的成绩着实通常。
寒假回家跟名校的朋友交流后,我意识到本身忘记了曾经的目标,因而决定洗心革面,发奋图强。和朋友的交流中,我意识到想要学好编程,仅经过学校的计算机课程是远远不够的。因而,我买了几本书,在大学的第一个寒假,学完了 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 多道!顺带一提,在来回四个小时的车程中我依然会看技术文章、背单词、看面经、或者刷刷面试题目。不得不说,字节跳动真的是一家很好的公司,他的价值观(字节范儿)也带给了我很大的激励吧,共勉。
实习四个月后,我跑路了,缘由是本身还在纠结究竟是保研仍是就业,不妨二者都试试,到时候再选择一个更优解。因此回到学校后,为了丰富简历、给上海落户凑一些积分,我参与了一些大型竞赛,像挑战杯、互联网+、三创赛,在全部团队成员共同努力并让我抱大腿的状况下,也得到了一些奖项。
后来,某天在校溜达时,我忽然收到了腾讯的电话面试邀请,总共只有两轮面试,都是些后端问题,还好我天天都在看面试题,有备而来,因此答得还行,也就顺利搞到了暑期实习的 offer。
大三这一年,我专门搞新技术的时间并很少,可是经过不断作项目、刷算法、不断发现和解决问题,个人基础和技术能力都有了很大的进步。有了更多的知识积累,在学新技术时,我能够将一些新知识和之前的知识对照和串联,从而理解的飞快!好比学过前端 Vue 框架后,再学习 React 框架就垂手可得,个人技术栈也愈来愈丰富了。
大三暑假,我开始了在腾讯的实习生活,刚开始仍是挺不适应的,老是在简单的工做上翻车,但后来多花了些时间学习,也渐渐能独立完成工做了。后来,我在实习转正答辩中取得了同组第一的成绩,顺利搞到了不错的 offer,并成功签约。不知道小伙伴们是否须要我出一期实习转正的视频呢?
整个大四,我基本都在腾讯实习,天天依然是坐地铁往返学校和公司,在路上坚持学习。疫情期间,我就在家里远程实习,下班的时间除了作毕业设计、写论文以外,我还独立开发和上线了一个完整的小程序【面试君主】。
等毕业证搞到手,我已经在腾讯实习了近一年,后面的转正也都很是天然。
不过转正以后,激动的同时,身上的责任和压力也大了许多。想了解我转正经历的朋友,请点赞后在评论区告诉我吧,让我知道有人看了几千个字后,来到了这里~
这就是个人大学生活,一段平凡的奋斗史。
固然,想要进大厂,只靠努力仍是不够的(但不能不努力),我认为进大厂还须要如下要点:
最后再给在校的同窗们一些建议。
给目标直接就业同窗的建议:若是时间还多,那么就按照本身的节奏和兴趣去学习技术并实践,心无旁骛。你要知道研究生也才多一年多的作项目和研究时间,若是本科你把别人准备考研的一年用于学习技术,那么技术实力彻底不输于研究生!
给考研同窗的建议:提早了解目标院校考察的专业课,并在该门课初学时就多下功夫。全部的实践课要好好学,平时有空也多上牛客等平台认识更多的朋友,了解找工做经常使用技术和其余同窗的状况,避免考研失败后春招彻底小白。
给保研同窗的建议:若是 一心决定读研,担忧保不到好的学校,也能够准备下考研,顺便也能复习到一些面试知识。
总之,给本身 多一个选择,多一条后路。
个人座右铭:相信本身有能力,那么你就真的会有!
但愿这句话能够鼓舞到更多的同窗吧。
另外,不少同窗对知识博主的生活可能比较好奇,我是怎么作到 连续日更不中断、同时维护两个公众号、又作视频、又写文章、又作直播,又能做为项目主负责人,和小伙伴们一块儿持续开发本身的网站【编程导航】的呢?
我工做以后的平常,能够看这篇文章:聊聊最近的生活
由于热爱,因此坚持!
我是鱼皮,你们有问题能够联系我,一块儿加油吧!