先前收到通知,需要接受一次毕业访谈,内容做成微信推送,并且会挂在学院网站上。
既然有了这个机会,我就想把大学四年的感想用文字永远被保留下来,于是写了一篇文章,里面包含了我真实的想法,每一点背后都是有真实的事情发生在我头上的。
目前微信推送已被封杀。
再次声明,本文仅为个人观点。在我自己的博客里抒发一下真实感想,总不会有问题吧?
以下为原文:
算法爱好者周甄陶:只与同好赏风雅
本期人物
周甄陶
人物简介
ACM算法竞赛爱好者
获得国内外多家企业算法工程师的offer(今日头条、微软、京东……)
曾就职于在京东集团AI与大数据部
(协助京东提出一种全新的发票识别解决方案,并成功上线运行)
受电商创业公司拼多多毕业首年45万年薪诚邀
目前签约了国内互联网独角兽企业——今日头条(推荐算法工程师)
中国风音乐爱好者、曾经的魔术爱好者、德云社忠实观众
偶像有李玉刚、许嵩,非常喜欢李玉刚、许嵩、银临演唱的中国风歌曲。
所获荣誉
2018 第三届中国高校计算机大赛-团体程序设计天梯赛 团队一等奖
2017 第四十二届ACM国际大学生程序设计竞赛亚洲区域赛东亚洲大陆总决赛 银奖
2017 第四十二届ACM国际大学生程序设计竞赛亚洲区域赛西安站 金奖
2017 第八届蓝桥杯全国软件人才大赛Java全国决赛B组 一等奖(全国总排名第二)
2017 第四十二届ACM国际大学生程序设计竞赛西安站邀请赛 金奖
2017 第十四届浙江省大学生程序设计竞赛 金奖
2017 第二届中国高校计算机大赛-团体程序设计天梯赛全国高校 银奖(个人排名38/869)
2017 第八届蓝桥杯全国软件人才大赛Java省赛B组 一等奖
2017 第二届中国高校计算机大赛-团体程序设计天梯赛(个人排名70/4724)
2017 浙江省政府奖学金
2016 第四十一届ACM国际大学生程序设计竞赛东亚洲大陆总决赛 银奖
2016 第四十一届ACM国际大学生程序设计竞赛亚洲区域赛沈阳站 银奖
2016 第四十一届ACM国际大学生程序设计竞赛亚洲区域赛青岛站 银奖
2016 第二届中国大学生程序设计竞赛合肥站 铜奖
2016 首届“中国高校计算机大赛-团体程序设计天梯赛”总决赛 进阶先锋队
2016 首届“中国高校计算机大赛-团体程序设计天梯赛”总决赛 一等奖
2016 中国大学生程序设计竞赛中南地区邀请赛 金奖
2016 第七届蓝桥杯全国软件人才大赛C/C++全国决赛B组 一等奖(全国总排名第二)
2016 第十三届浙江省大学生程序设计竞赛 金奖
2016 第七届蓝桥杯全国软件人才大赛C/C++省赛B组 一等奖
2016 浙江省政府奖学金
2015 第四十届ACM国际大学生程序设计竞赛亚洲区域赛东亚洲大陆总决赛 铜奖
2015 第四十届ACM国际大学生程序设计竞赛亚洲区域赛北京站 荣誉奖
2015 第四十届ACM国际大学生程序设计竞赛亚洲区域赛长春站 银奖
2015 第六届蓝桥杯全国软件人才大赛C/C++全国决赛B组 二等奖
2015 第十二届浙江省大学生程序设计竞赛 金奖
2015 第六届蓝桥杯全国软件人才大赛C/C++浙江省赛B组 一等奖
(从左至右:王瑞洲、吴天棋、周甄陶)
以下为正文,阅读时间约10分钟,如果你有兴趣,希望你看完能受到一点点鼓励。
风乍起
吹动一池春水
高中,由于我不喜欢学英语,我的高考英语分数是不及格的。可以理解为我是费了吃奶的劲,才有机会来到这所学校。和其他同学相比,我似乎显得格外珍惜每一天。大一时,在导师陈琰宏老师的《C语言程序设计基础》课程中有幸结识ACM。大一国庆回家,第一次做作业就遇到了斐波那契数列,至今我还清晰的记得,第一次写斐波那契数列,向厉伟键学长和沈雯学姐求助,整整花了5个小时,经历了无数的Wrong Answer之后,终于Accepted了,在获得Accepted的那一瞬间,心情是无比激动的。从那时开始,我的兴趣就被完全点燃了。之后,在恩师益友王瑞洲、吴天棋、厉伟键、陈铭洲、陈海杰等前辈的帮助下,我渐渐了解和喜欢上了算法竞赛。和各种爱好者一样,喜欢思考的我,孜孜不倦的寻找提升能力的途径,不断前行,每一天都投入到学习、训练以及比赛中。
全身心投入、专注、持之以恒
兴趣被点燃之后,我就加入到了集训的行列中。从参加集训到今天,我总结了如下几点:
1.参与训练是一件极其需要毅力和耐力的事。从大一开始几十号人一起集训,到大四结束剩下我们队伍三个人,同路的好友渐渐稀疏,有些同学因为抵挡不住外界的诱惑而放弃,有些同学因为一个算法学了一天发现学不会而放弃,有些同学因为打铁了而放弃… …事实上,我觉得毅力和耐力也是ACM竞赛选拔人才的一部分,因为一个没有毅力的人,做任何事情都会半途而废的,不仅仅是参加这个竞赛。那些因为缺乏毅力而选择放弃的人,即使他智力再高,也做不成大事。
2.不能抱着功利的心态来参加训练。有些人听说“ACM搞得好以后找工作年薪都很高”、“ACM拿个奖以后做XXX有很大的好处”。如果抱着这样的心态来参加训练,我建议还是不要参加了,因为你训练了几个月,去参加一个比赛,然后打铁了,这时候你往往会选择放弃,因为你心里肯定会想“参加这个竞赛性价比太低了,投入了那么久的时间还不能获奖,还不如去参加一些XXX,至少能混个奖或者证书”。换句话说,如果你为了去参加一个比赛,仅仅在赛前几个月突击训练一下,那是不可能取得好成绩的。因为和你同台竞技的人都是每天在那训练的,有些人从初中开始,有些人从高中开始,往往有一大批世界级选手和你在同台竞技,就好比人家是职业电竞选手,你是网吧路人队。所以,我认为,要参加ACM,就必须放弃一些无意义的事情,鱼和熊掌不可兼得,把眼光放得长远一些,每天坚持训练、学习,水平达到一定高度之后,奖牌自然就会来。往往需要投入很多时间才能有所收获的事情,才是真正具有含金量的。
上面是心态方面的,以下几点是我个人对竞赛以及参赛者的认识:
3.ACM算法竞赛是无界的。如果你觉得参加竞赛和参加期末考试是一回事,那就大错特错!往往期末考试前,老师会给你划重点,跟你说这个要考,那个要考,然后大家就回去认真复习几周,背一背题库,做一做例题,然后高高兴兴去参加考试,拿到一个很好的成绩开开心心回家过年,还能凭这个优秀绩点去申请优秀学生奖学金、各种优秀称号。但是竞赛不会是这样的,竞赛是拿来选拔真正有实力的精英的,而不是让大家开心一下的。
4.ACM算法竞赛是考验思维分析能力的。很多新手包括我入门的时候往往会进入一个误区:以为学了XXX算法之后,下次碰到好像类似的问题套用一下就可以了。这个想法是绝对错误的!我们学会一个算法后,这个算法就成为了我们的工具,当我们在比赛中看到一个问题时,第一步需要做的是对问题进行分析,发现某一步需要用某个算法来进行优化,才可以拿出来使用,而不是看到一个问题就去套现成算法模板。总的来说,这不是一个套模板的竞赛,而是一个考察你临场分析能力的竞赛。竞赛是拿来选拔会灵活运用知识、会分析问题的人才的,而不是选拔照本宣科的书呆子的。
5.ACM算法竞赛不是一个写文档答辩的竞赛。其他竞赛我没有参加过,不好做过多的评价,可能会产生误会。但ACM竞赛是一个实打实的竞赛,一个问题抛给你,对就是对,错就是错。比赛成绩非常客观,不会夹杂人为主观因素。我个人认为,大学期间理工科专业的学生,是有必要多参加ACM这类比较客观的竞赛的,它会锻炼你的真本领,而不是提升你吹牛忽悠人、排版抄文档的技巧。
6.ACM算法竞赛不是培养程序员、码农的竞赛。如果你认为ACMer都是程序员、码农,那我只能说你对算法竞赛完全不了解。上面也提到了,算法竞赛更注重培养思维分析能力,而不是培养代码的搬运工。就算法竞赛而言,代码是思维的载体,最重要的还是思维能力。
7.ACMer永远不会自我膨胀。所谓自我膨胀就是觉得自己很屌,从我观察来看,凡是ACMer,很少有自我膨胀的人,因为每次比赛结束后,肯定有人排名比自己靠前,因此屌不起来,有时候不但屌不起来,反而会被各种强校吊打。所以,多走出校门参加比赛,多看看强校的同学都在做什么,都是怎么学的,多找一下和大佬们的差距,会使我们知道人外有人,保持谦逊态度去不断向强者学习,去提升自己的能力,而不是窝在学校里争取绩点、奖学金、荣誉称号然后自我膨胀,更不是窝在寝室里整天打游戏撩妹混吃等死。
业余生活
其实我的业余爱好挺多的,但似乎都是冷门爱好。
在上大学以前,我非常喜欢扑克牌魔术,如果我不负责任的吹牛逼的话,我的纸牌魔术手法在业余魔术爱好者里面能排到比较靠前的水平。因为初中放学回家的第一件事情就是拿起扑克牌对着镜子开始练习手法,就这样差不多练了三年,23333。大一的时候在一元钱工程、新加坡某学校交流活动上进行了一些表演,好像效果还是很不错的。之后入了ACM的坑,觉得大学还是有必要学习一个新的技能,所以渐渐的不摸扑克牌了。其实现在一想,我觉得学习算法和学习扑克牌手法本质上好像并没有不同。
由于我从小喜欢中国风的音乐,初中的时候先后崇拜上了许嵩、李玉刚。喜欢许嵩的入坑曲是《如果当时》,我觉得许嵩仿佛一个世外隐居高人,没有听到过任何绯闻,也没有参加过娱乐节目,专注于做音乐本身,我觉得仅此一点就足以令我敬佩。李玉刚是一个很有毅力的人,他的《霓裳羽衣舞》足以体现出他背后的付出,应该是常人难以想象的。我觉得他们对艺术的态度,为人处世的态度都是我学习的榜样。
来了大学之后,发现了新大陆——听德云社的相声、小曲儿,听相声就是纯粹乐呵一下~~,其实德云社挖掘了很多好听的北京小曲儿,安利一下郭德纲的《照花台》、张云雷的《探清水河》、岳云鹏的《送情郎》,这些都是非常好听的。
工作就业
找工作事实上就是寻找同类人的过程。我欣赏对方,对方也欣赏我的情况下,大家才能在一起愉快的做有挑战的事。很多人在找工作之前,会研究即将面试的公司想要什么样的人,面试喜欢问什么问题;而从来不研究自己是什么样的人,自己会什么。国内诸多互联网公司研发工程师的面试,喜欢一问一答计算机基础知识,很多人选择在面试前疯狂背一背,看一看,然后成功拿到offer。我不喜欢迎合别人,既然对面招聘理念和我不符,我又何必去迎合他,他会认为我学的东西没用,我认为他不懂程序设计。正如许嵩说的那样:“终究而言是因为你表达真实的自己,而因此吸引来了喜欢你的朋友,而不是你一味的去讨好大家,这样的话你可能一时的可以因为投其所好而获得一些什么,从更长远的一条线上来讲,你自己可能会后悔,因为你花了很长的时间在满足别人的趣味”。我没有必要采取一些措施去迎合所有人,没有必要去追求所有人的认可。世界之大,总能有几个能懂你的;而不懂的,彻底不感兴趣最好,一知半解反而麻烦。
相比于研发工程师,我更喜欢于我而言更有挑战的算法工程师岗位,因此我找工作的时候,会偏向于算法岗,我觉得我学了那么多的经典算法与数据结构,又对AI充满了好奇,所以工作就应该做通过人工智能算法改变人类生活的事情,这也成为了我今后的目标。
非常棒的一件事情是我有机会去京东AI与大数据部门工作,我的leader是ACM打入世界总决赛的男人!我觉得他很强,他觉得我很有潜力,就这样找到了同类人。既然他要了我,我就得努力为他效力,在京东的那段时光,很难忘,和leader、同事们一起没日没夜地完成了发票识别OCR项目,并成功上线运行,我在这个项目中提出了一些新的idea,对识别结果的准确性做出了重要的贡献,一方面我感到很有成就感,另一方面我很荣幸能为京东解决一个问题。目前,京东员工报销发票的时候,不需要手动打字录入信息,取而代之的是对发票拍照之后算法自动矫正图片、识别信息。京东的发票识别技术在业界目前也处于领先水平,最后leader给了我很高的评价。这个项目结束后,我觉得在冲向目标的路上已经启程了。
与此同时,我两次去微软进行面试,面试全程是手写算法题,非常注重分析能力,面试体验非常棒,不愧是Microsoft。面试反馈均为positive。在探星夏令营的活动中,我结识了很多大佬,听了大佬发表的paper,他们都是我学习的榜样!在Microsoft的会议室里,循环播放着微软的技术帮助残疾人解决一些生活问题的视频,视频中留给我记忆最深刻的一句话是“什么是技术?技术就是让绝望的人看到希望”。我觉得在这个时代,技术已经不再局限于文本、图像信息的传播,技术已经逐渐和人类融为一体,通过人工智能算法,能帮助人类减轻工作量,把一些曾经看起来不可能的事情转换成无限的希望。就是这个视频,又结合在京东做的项目,让我更加坚定了要成为算法工程师的信念,我更加觉得我的目标是正确的、有意义的!
关于今后几年中的正式工作,我最终选择了今日头条的推荐算法工程师岗位。头条招聘理念似乎和微软、谷歌类似,非常注重算法和编码能力,至少我遇到的情况是这样的,因为公司里面很多是和我同类的ACMer,之后不出意外的顺利通过了面试,邀请我去参加了Open day活动,在Open day上聆听了CEO张一鸣讲各种故事,给我留下印象最深刻的一句话就是:“什么样的工作叫好工作?并非这个企业目前要人尽皆知,而是和优秀的人一起做有挑战的事”。在考量了个人工作岗位、工作内容、工作回报、头条近几年的发展趋势以及最重要的一点——推荐算法又是头条整个企业的核心技术,因此决定今后几年在这里做通过人工智能算法改变人类生活的事。
一些拙见、思考与建议
01
来大学之前,我眼中的优秀大学生是上课认真听讲、积极举手发言,期末考个好成绩,争取各种奖学金、荣誉称号的人。这也是很多学生、很多家长、很多老师眼中的优秀学生。但是在我参加ACM竞赛的过程中,去外面开过眼界之后,我对优秀大学生的定义完全变了,我现在认为,在某一方面有所造诣的才是优秀的,而不是面面俱到但面面不深入。相声演员郭德纲说过一句话:“每个人端好自己手中的那碗饭就可以了,不要总想着别人碗里的”。我觉得他大概也想表达这个意思吧。我绝不会因为一个人是三好学生、XXX奖学金获得者然后拿他作为我学习的榜样,但我会拿凭借自己不断的努力在某方面取得成就的人作为榜样,我会拿在学术上有所造诣的人作为榜样,我会拿许嵩、李玉刚这样专注、追求完美的人作为榜样。可以在各方面都有所了解,但必须要有一技之长。
02
我曾经去上过一些课,发现一些老师自己都不会,但是还是非常有勇气地开了课,上课前又点点名,逼迫学生来上课,课堂上不懂装懂的从头到尾点完PPT,学生期末的成绩还是这样的老师给的,那么这样的行为究竟是诲人不倦还是毁人不倦?
03
从我个人角度考虑,在学生会、社团中不要花费过多的时间,适可而止。花合适的时间去参加学生会,能提高自己的交流、沟通、交友的能力,但花过多的时间,就好像进入了娱乐圈一样。因为我见过不少因为参加学生会、社团而变得浮躁的人,碌碌无为。大学期间,学点真本领、真技术才是王道。
04
找到一件自己感兴趣、有意义的事情坚持下去,千万不要因为遇到了困难而放弃,当你克服这个困难后,你会发现了你变强了。
05
如果想在大学有所成就,就必须自学,课堂上学不到深入的东西。跟着课表念完了大学,不做别的事情,那就真的完了。细想一下,课表上的课程全部都是有意义的吗?我真的搞不懂为什么为软件工程专业设置了一大堆金融学、经济学这样的课,可能有人会告诉我:目的是培养复合型人才。我觉得我们现在连软件都没摸到门,更别说金融了,有什么资格说自己是复合型人才,感觉我们目前的状态用复合型逗逼来形容比较贴切。大学期间,自己想学什么就立马大胆去学,不要等着老师给你来讲课,那样节奏太慢了,必须超前自学。另一方面,真正对专业技能有帮助的的课程,课表上全都有了吗?显然课表是存在非常多的bug的。
06
我曾经看过一些人的简历,满页都是各种学校赋予的荣誉称号、各类校内竞赛的获奖经历,缺乏某一方面出色的成就,这样的简历去应聘别的岗位我不清楚,但是互联网企业的技术岗绝对不需要这样的人,因为你缺乏专业技能,简单来说就是不会干活儿。
07
关于找工作。我觉得我们对自己的工作定位需要高一些,而不是局限于杭州或其他地方不知名小企业,应该往大企业,或者优秀的独角兽创业公司走,只要你有实力,百度、阿里、腾讯、网易、京东、微软、谷歌、今日头条、美团、滴滴出行、商汤科技、旷视科技、依图、Pony.ai……都是你的选择。那样你的眼界才会开阔,对个人的成长非常有利。一般大三下的春天,也就是现在这种时候,国内外各大互联网企业都在招聘实习生,到了秋天,就会招聘正式工,也就是在你毕业前一年,就能签约三方。毕业直接入职就可以了,而不是到了毕业再去找工作。我找工作的时候四处碰壁,没有任何一个人教过我应该怎么做,连现在这种时候是投简历面试的时机都没人告诉我,庆幸的是我的自己摸索出来了。所以大家找工作不要寄希望于老师帮你找,需要自己大胆投简历,大胆出门去面试,只要你是千里马,你一定能遇到伯乐,但并非所有人都是你的伯乐。
08
关于考研。我本人没有尝试过考研,下面的理解可能会存在bug。如果你是抱着“我本科毕业找不到工作,随便考个学校的研究生,混个硕士文凭后就能找到工作了”这样的心态去考研,我劝你还是别考了,等你硕士毕业后你会发现你能拿到的offer的质量还是如此的低。如果你是真心想搞研究,在学术上有所造诣,而不是拿现成的paper拼拼凑凑,那么就要奋发图强考个强校,跟着强的导师去做研究,探究一些未知的事物,我觉得这是非常有挑战、有激情的一件事。
满手回忆
沙沙作响
大一的时候和同学们一起开心地刷校OJ的场景我还记着,努力了几个月第一次参加院赛被吊打后沮丧的场景我还记着,暑假集训由于寝室没空调晚上和同学睡在九号楼的场景我还记着,调试了半天的代码终于在凌晨一点得到了AC的场景我还记着,为了把校赛带向全国和张海栋、王豪没日没夜的准备的场景我也还记着,键盘的敲击声在我耳边还不断的回荡着,但一转眼大学四年就快结束了,我可以自豪的说:这四年我一天都没有白费。ACM竞赛带给我的不仅仅是几个算法、几个数据结构,更多的是它让我见识到了世界各地的强者,让我学会了保持谦逊态度去不断向他们学习,让我拥有了自主学习的能力,让我知道了什么样的事情是真正有意义的,什么样的东西是徒有虚名的,让我对优秀两个字有了新的定义,让我结识了很多志同道合的朋友,总的来说,它改变了我的价值观、改变了我的生活。算法和数据结构可能会让我遗忘,但是剩下的东西,我觉得已经无法从我身上被夺走了。
又打开了自己的博客,不由自主地从第1406篇博文翻到了第1篇,点开了三年前第一篇记录的代码,仿佛又看到了当时对大学满怀希望、内心充满激情的我,我想对三年前的自己说:你的坚持是正确的。
感谢导师陈琰宏老师让我知道了ACM/ICPC竞赛。
感谢恩师益友王瑞洲、吴天棋、厉伟键、陈铭洲、陈海杰等算法竞赛前辈们在我这几年学习的过程中对我莫大的帮助。
感谢所有嘲讽过我的人,以及所有帮助过我的人,也感谢这几年勤劳的自己。
许多念念不忘,只是一瞬;
许多一瞬,却是念念不忘。
谢谢你能把这篇流水账看到这里,请思考一个问题:以你现在的状态持续到毕业会怎么样?
周甄陶
2018年04月21日
原文地址:https://www.cnblogs.com/zufezzt/p/8965063.html