当前位置: 首页 > news >正文

拿下 ACM 金牌!

大家好,我是厂长。

昨天自费给大家送了一块3060显卡,想免费领显卡的同学可以看一下:

3060显卡,真香!!!

今天和大家分享我的一个朋友他是如何从双非,拿到ACM金牌,再拿到字节跳动、旷视科技等大厂offer,保研985的经历。以下的我:指作者小鱼

五年前的我进入双非院校,曾经觉得自己的一辈子就和普通大学一样,注定普通。

五年后我拿到ACM金牌、字节跳动、旷视科技等大厂offer,保研985。

在字节和旷视的工牌

坎坷的大学

我本科是一所双非院校,专业是软件工程,高考失利,进入到了一所不想去的大学,曾经觉得自己的一辈子就和普通大学一样,注定普通,无法像重点大学的同学实现人生理想。

但我后面的故事告诉我,高考是结束,也是开始,我的人生并没有完蛋

大学开始

大一上学期我和刚入学同学一样,平常偶尔上课划划水,但我对写代码很感兴趣,从 “Hello World”A+B 问题,我觉得写代码很爽。

一次偶然的机会我知道学院有算法实验室,简单的从网上了解了一下ACM比赛,当时还不知道这么难,就勇敢的找算法实验室的学长询问如何学习算法、参加竞赛。

学长耐心的告诉我如何入门:  可以先学习C++基本语法、然后去算法平台刷简单的基础题(HDUOJ第11页),其次学习算法与数据结构知识,再刷题巩固。

就这样踏上了算法竞赛的"不归路",从入门到秃头,有时候一道题要花一天的时间。

就这样一边学习一边刷题,我通过了算法实验室的选拔,成为了ACM队员,也找到了最开始的队友。

努力是一切的开始

很多同学上了大学都开始无所事事,过上了神仙生活,我身边也有很多这样的同学。

但我却保持自律,每天坚持学习算法与数据结构和刷题,甚至逃了很多课,只为了去实验室多刷两道题,每次看到题目通过Accepted,我都开心的像个孩子一样。

现在回想起来,与其说我是上大学去了,不如说: 我去学习算法,顺便读了个大学。

前期碰壁

努力学习的时光度过的很快,我很快到了大二,去参加了我算法竞赛生涯的第一场比赛,虽说可以预料到过可能拿不到铜奖,但当成绩出来的时候,失望和难过的心情,却没有因此而减退。

如果努力还不够,就更努力

初站失利后,我回去更加的努力训练刷题,了解ACM竞赛的同学应该知道,每场比赛都有很多难题。

我的策略是: 先搞定铜牌题(ACM基础题),就这样刷了很多题,大三上我又参加了一次ACM邀请赛,又一次落榜!

说实话,这次真的打击到我了,我开始怀疑: 我是不是不是这块料、脑子不行、双非学校是不是不应该选择打ACM竞赛...

坚持是成功的秘诀

在连续经历了两次失利后,虽然有过自我怀疑和否定,但内心的不甘和不服输的决心很快的将自我怀疑驱逐,我选择了坚持!

这次我将所有ACM考点根据专题分了类,去学习每个专题的对应的算法与数据结构,然后刷对应的题目进行巩固和加深理解。

曾经一度找到一个空的房间,整天除了吃饭都在空荡荡房间里训练刷题,是的你没听错,是除了吃饭,因为晚上是在实验室睡的。

雨后终有彩虹

终于在大三下的ACM区域赛,拿到了我人生的第一块ACM奖牌,虽然是一块铜牌,但对那时的我意义非凡。

我依旧记得比赛结束的那天,太阳正好、天也很蓝。

学习算法之路

这篇文章分享了 算法小白如何一步步向ACM金牌进阶,在知乎上得到了几万浏览、数千收藏!

旷视我人生第一份工作

大三上的期末拿到ACM铜牌后,在朋友的内推下投递了旷视科技的算法实习生,因为是算法组,面试主要考察了算法与数据结构,第一次面试很紧张,好在题目都做出来了,有惊无险的通过了面试、拿到了Offer,后面约定好入职时间,寒假就去实习了。

遇到了人生中重要的人

我所在的是旷视科技的算法组,组内全是大神,大多数同事都是高中保送都是 上交ACM班的,Leader是ACM亚洲区域赛的冠军,还有本科中顶会的、Kaggle竞赛大神、还有项目大佬、数学大神..., 一开始知道大家这么厉害,弱鸡的我还不太敢说话,后面一起吃饭、团建,慢慢和大家熟悉了起来,发现大家人也很nice、很好相处。

就这样我遇到了我人生第一批同事,后面也成为了我人生很重要的朋友。

实习工作

在进入旷视之前,我在学校没有做过任何大项目,只写过大作业,都还很水。

旷视的工作氛围整体很友好,给了我这个小白入门的时间和空间,比如常见的git协作开发、项目的框架、编译工具、业务的场景、代码... ,了解了基本的东西后,就给了我一个简单的任务,可以看出是为了锻炼我的,可能并不会真实上线的。

现在我还记得,写完代码提交后,mentor给了我很多中肯的建议,有抽象上面的、有代码风格上面的,并给我修改建议,学到了很多在学校接触不到的东西,现在想到这些心中还很感动。

后面逐渐熟悉了后,开始承担一些复杂的开发需求,但还是有mentor一起带着的,在这个过程中也收获了很多东西。

再战一年

大三下拿到ACM铜牌后,我的两个队友就退役了,我就去旷视实习了,我也考虑要不要退役,还是和下一届的学弟再战一年,再战一年的话意味着我没有时间准备秋招,如果没有拿到更好的成绩可能找不到工作。

就在我犹豫的时期,我的Leader,也是我的好朋友hanyuan鼓励我再战一年,向更好的成绩发起冲击,突破自己。

因为好朋友的鼓励,加上自己内心也确实不甘心算法竞赛以铜牌结束。

我选择和两个学弟再战一年,因此我平常实习下班就会继续刷题,学习新的知识。

秋招上岸

意外也是努力的结果

我是拿的字节跳动秋招提前批的offer, 七月份一次意外的水群,了解到字节跳动秋招提前批开始了,之前知道字节跳动主要考察算法与数据结构能力,自己对这块还是有点信心的,就投递了。

宇宙条果然效率奇高,第二天就约了我面试时间,因为我想暑假回学校和学习一起为了下半年的ACM亚洲区域赛做准备训练,所以就立马面试了,当时是现场面试,从上午十一点开始,一共三轮技术面+一轮hr面。

上午面了一轮技术面,主要问的是算法题,中午在hr小姐姐的带领下,在头条食堂吃了午饭,真的不错!

下午面了两轮技术面+一轮hr面,二面是交叉面,问了基础知识,就回答了一些知道的东西,面试官可能看出我主要打竞赛,没有准备过八股文,后面就问了两道算法题,有惊无险的都答上来了。

三面是技术Leader面,主要问了之前在旷视做的项目,还有算法题。

可以看出字节跳动面算法题还是非常多的,所以想去字节的读者们,一定要好好刷题呀!

最后一面就是hr面,简单聊了聊常见的问题,女朋友在不在异地、意向的薪资.... 一天就全部走完了所有流程,宇宙条的效率YYDS。

7月12号,我不出意外的拿到了字节跳动秋招提前批的意向offer,我上岸了!

人生第一个竞赛冠军

字节面完试,我就从旷视请假回学校训练,准备大四也是我最后一年的比赛,这是我参加算法竞赛的最后一年了。

还记得暑假很热、学校人也不多,所以我早上起的很早,吃完早饭就去实验室刷题,那段时间我的竞赛状态也很好,一般能想到的题目,都能通过。

当时正好江西省举办第一届CCPC省赛,正好是我大四那一年,我和学弟一起组队报名了,因为我大三下主要在外面实习,还比较担心团队合作的问题,但好在大家都自己刷了不少题。

比赛那天也很顺利,基本上是看一道题,有思路了,上去写,写完就能通过,我们距离比赛最后一小时的时候已经是省内第一名,此时比赛已经过去了四个小时,剩下的题目有些难度,学弟开始吃点东西,考虑要不要不做了,感觉省内冠军可能性已经很大了,我鼓励了学弟继续做,我选择了一道题,我们三个合力思考、讨论、商量解法。

最终最后十分钟的时候通过了!冠军稳了!

我拿到了冠军,三年来的坚持在那一刻觉得很值得。

CCPC省赛冠军

保研985

省赛夺冠后,我们对下半年的ACM亚洲区域赛充满信心,我们相信一起努力训练,一定可以创造学校的历史。

暑假刷题的时间匆匆,转眼就到了九月开学,年级群发了推免的通知,我想了想我要不要也试一试呢,我平时成绩还行+竞赛获奖的加分,也有机会试一试。

正好暑假拿到了华东师范大学的夏令营优秀营员(后面会发文讲讲这个经历),我就提交了材料,进入候选了。

期间知道专业只能保两个人的时候,觉得自己无望了,后面发了公示的时候,看了下自己加完分正好第二,复试表现还行,最终的保研名额也是第二,成功拿到了保研资格!

后面我毕设老师,介绍了他的好朋友,在电子科技大学,因为之前去过华东师范大学,也算有点了解,加上自己想去大城市,所以后面就表示了婉拒和感谢。

最终保研了华东师范大学,我神奇的有研究生读了。

说实话,自己也不是很兴奋,因为我刚进大学的时候,就没太想读研,因为我平时也不太喜欢上课,并不喜欢学校的束缚,当时相比之下,更加喜欢工作,此时因为我已经有了字节秋招offer,我当时更加倾向于毕业了直接进大厂。

ACM金牌

保研后,已经快10月,我们选择了两个ACM赛区,就开始了认真准备比赛,那段时间每周都要一起组队训练好几次,赛后补题。

十月我们踏上了比赛的征途,这次我们拿到了意想不到的成绩,ACM亚洲区域赛金牌(金牌最后几名、赛区相对容易,有运气成分),这是我们学校、也是 江西省的第一块ACM亚洲区域赛金牌,我真正的创造了历史!

ACM亚洲区域赛金牌

字节工作经历

入职

打完比赛,我就回老东家旷视办了离职,和朋友们告了别,就去字节跳动提前实习了,去办理入职的时候,发的是最新款的MacBook Pro,并且很多一起入职的人,可以看出字节真的发展很快,

上午办理完入职,吃完午饭,下午就去工位了,有一个入门要学习的文档,按着文档一步步来就行。

快节奏

字节跳动整体上工作节奏要快很多。我大概熟悉一周后,就开始接手一些简单的需求了,字节的基础架构做的很好,业务方的后端开发,不需要考虑框架的问题,公司都有现成的轮子,整体上开发的速度要快很多。

同时公司的文化也是坦诚清晰,一般有问题会拉个群,群里@一直对方,一般都会得到对方的解答。

因为我之前在旷视是算法实习生,工程上的经验比较少,在字节是后端开发,因此很多东西都是从0开始学习的,比如: golang、框架、工具、字节云....

后面随着工作需要,慢慢的也得心应手了。

人生重要选择

实习期间,我也考虑过我到底是要在互联网大厂工作,还是去读研,这个问题真的纠结了很久,我一开始是更倾向于工作的,我不是很看重学历,自己也更想做比较接地气的事情,在公司的成长速度比较快的。

但不可回避的是,在互联网大厂工作确实也很累,每天10点半左右上班,晚上十点左右下班。

到了家洗个澡,整理下家里,就快十二点了,却也总想找一些娱乐去对抗忙碌的生活,因此一刷手机就刷到了一两点,早上九点多起床,吃个早饭就去上班了,开启了打工人新的一天。

期间父母也无数轮劝说,自己也开始动摇了,在互联网大厂一直工作下去,放弃读研以后会不会后悔,最终我选择了读研。

字节跳动离职短信

总结

五年的经历给了我许多感悟,我总结了以下几点,分享给大家,希望能帮助大家少走弯路。

多和上进的人同行

如果你身处的环境不好,身边大多数人都不学习,那我建议你去认识一些上进努力的同学、朋友,比如加入学校的实验室,不管是做开发、还是学习算法... 选择一个自己感兴趣的,多向上进的人学习,一段时间过后,你可能已经悄悄惊艳所有人。

勇敢

罗翔老师把勇敢称为最高级的词汇。

勇敢帮助我从普通迈向不凡的第一步,没有勇敢的参加实验室,没有勇敢的向学长请教,没有勇敢的参加实验室选拔,可能所有后续的故事都不会发生。

所以请勇敢迈出第一步吧,迈出第一步的你也许会发现,一切也没有自己想象的那么困难。

坚持

坚持是成功的秘诀。刚进入一个新的领域,肯定会四处碰壁和遇到困难,这是很正常的。如果你认为自己在正确的路上,那么遇到困难,不要停下来。

雨后彩虹可能很快就会到来。

收集信息

如果是去工作,多去了解哪些公司的哪些部门正在招人,不要小看消息,选择一个hc多、缺人的部门,可以大大增加你面试通过的概率。

如果是去读研,多向读研的学长学姐请教,问问他们有什么东西要准备。早点开始准备,学好专业课,选好目标院校,看看专业课考哪几门,可以重点复习,同时多去问问复试考察的哪些内容,可以增加上岸的几率。

多利用身边的资源

现在网上的资料很多,学习什么方向,可以在知乎搜到很多攻略、学习资料,大家一定要好好利用这些学习资源,可以帮助你少走很多弯路,这里我把自己学习时用到资料,免费送给大家。

有了学习资料,要坚持学习,才能不断提高,看到更远的地方。

多尝试

人在面临选择时,常常会陷入迷茫。

如果当前阶段,还没有想清楚入海还是读研深造、工作岗位选择算法、还是后端、还是前端...,我建议都去了解了解,都去尝试一下,看看自己对那个更感兴趣,更加擅长什么方向。

尝试过后,选择一个最适合自己的方向,然后朝着这个方向努力。

结尾

五年过去了,我从本科双非,到拿到字节跳动、旷视科技等大厂offer,到ACM金牌,再到985研究生,我完成了一系列不可思议的成长与蜕变

由于篇幅限制,这次就写到里,后续我会分享在985读研的经历、以及有了那些新的体会、放弃大厂选择读研后不后悔 等,欢迎持续关注。

感恩一路上帮助过我的人。离开了他人的帮助, 若非命运的加持,自己可能什么都不是。

我会尽力演好命运所给自己的人生剧本,演好我的角色,尽可能的帮助更多的人。

靠着努力逆袭会成为传说,而因为放纵堕落就只是常事。

福利

我建了一个程序员资料分享社群,里面包含各种学习资料,包括计算机基础、数据结构与而算法、python、Java、C/C++、Linux、GO、设计模式、人工智能、数据库以及面试相关等方面的书籍,基本上涵盖了程序员所需要的所有书籍,此外还包含不少经验教程、学习视频,欢迎大家扫码加入!

相关文章:

  • 2021下半年,我只想用Python搞钱!
  • 阿里学长整理的技术面试题!爱了爱了
  • 从双非到应届大厂ssp offer ,再到万能博主,我是怎么做到的?
  • 深圳一普通中学老师工资单曝光,秒杀程序员,网友:敢问是哪个学校毕业的?...
  • 面了一个大佬,明显感觉到他背了很多面试题
  • 36岁,我失业了!
  • 这种公司不去也罢!
  • 程序员为什么要学习算法?
  • 这3款Chrome 灵魂插件!爱了爱了!
  • 看了阿里P7的工资单:懂点算法,就这么香?
  • 室友靠这个拿到了字节50万年薪,太牛逼了…
  • 世界第三大浏览器正在消亡
  • 硬核
  • 知乎热问:国家何时整治程序员的高薪现象?
  • 别人家的大学,来了!
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Android框架之Volley
  • css选择器
  • java中具有继承关系的类及其对象初始化顺序
  • js作用域和this的理解
  • k8s如何管理Pod
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • vue自定义指令实现v-tap插件
  • WebSocket使用
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 基于遗传算法的优化问题求解
  • 七牛云假注销小指南
  • 前端面试题总结
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 微服务框架lagom
  • 微信小程序设置上一页数据
  • 自制字幕遮挡器
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • $.ajax()
  • (1)虚拟机的安装与使用,linux系统安装
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Java)【深基9.例1】选举学生会
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (力扣)1314.矩阵区域和
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .Net CF下精确的计时器
  • .Net Core和.Net Standard直观理解
  • .net 使用ajax控件后如何调用前端脚本
  • .Net的C#语言取月份数值对应的MonthName值
  • .net反编译的九款神器
  • .net实现客户区延伸至至非客户区
  • @GlobalLock注解作用与原理解析
  • @javax.ws.rs Webservice注解
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [ NOI 2001 ] 食物链