分享到微博 分享到人人 分享到LinkedIn 分享到Email
2016编程之美挑战赛“封神榜”分享系列——朱睿

主讲人介绍

朱睿

北京大学信息科学技术学院12级学生, 曾在14年编程之美挑战赛中凭借着优秀的算法能力和demo展示能力在众多选手中脱颖而出,获得了最佳demo奖,并且通过编程之美挑战赛获得了到微软实习的机会。本次分享中,朱睿将与大家分享他提升算法能力、做demo的小技巧,并结合自己的实习经历给大家一些建议。

比赛经验小结

小美:

男神gg你是什么时候开始学习编程的?

朱睿:

严格来讲我从小学六年级就开始学习编程了,因为我的父亲是一个计算机硬件工程师,他在小学的时候就教过一些C语言方面的知识,到了中学时候,我就更加专业地接触一些竞赛方面的知识,系统了解一些算法。高中的时候参加了全国的奥林匹克竞赛然后保送到的北大。来到北大之后,我们有一些有趣的专业课还有课题,还有非常多的社团,让我有很多意想不到的收获。

小美:

男神gg你参加过那么多比赛,能不能分享一下你的参赛经验呢?

朱睿:

我们一般会把这些比赛分为两种:一种是比较偏重算法的,他们的特点就是对选手的算法要求能力很高。另一些比赛 ,是对团队合作能力要求比较高,需要团队的有效配合。而编程之美是很好的结合了这两种比赛,首先在初赛时候会有些算法上的考量,在复赛和决赛时候会有团队合作进行项目开发,这一点是非常好的。

小美:

今年编程之美从复赛开始就将采用团队赛的形式,大家可以自由组队,基于云计算平台来解决一些实际的问题。男神gg你能给今年的参赛选手提一些建议吗?

朱睿:

我觉得团队赛,首先个人算法能力是要有的,其次就是要想好怎么分工合作,当时我组队的时候是和我的好基友陈立杰一起组的,陈立杰的编程能力非常强,代码写的非常好,所以他就是主内啦。但是呢他可能表达方面不如我那么流畅,所以就需要我来主外,把我们的项目推出去,这样我们就很好的弥补了对方的缺点。

 

编程之美决赛经验分享

小美:

男神gg能不能分享一下你决赛的题目呢?

朱睿:

好的,实际上我们那年遇到的就是当时比较前沿的机器学习算法。我那一年的比赛题目一共有两个,第一个是给定你一些城市的天气预报呀,风向呀,风力呀这些数据信息,然后让你去预测未来24小时内的空气污染指数的变化。

小美:

那另一个呢?

朱睿:

第二个问题是一个比较开放的问题,设计一个有关智慧城市的一个APP。我们当时选的是第一个问题,结合了svm和deep learning的算法作为我们预测结果的一个先验知识,然后在网上找了好多这样的数据,从网上拿下后将我们的模型进行训练再加权将这两个模型的预判结合在一起。这样做的优势还是很明显的,我们把分的比较开的deep learning 和svm结合在一起,成为一个很大的卖点,做了一些前人没有做过的事情。

朱睿:

对于deep learning和svm的东西,我发现学习需要比较深的数学功底,我数学就很差(大一的时候数学分析学的就很痛苦),不过如果只是要读懂svm和神经网络的一些原理(不包括证明)需要的数学内容也不是特别多,而这两个东西本来就是属于“能用就行”。我觉得数学好当然是一个非常好的特质,有了它可以事半功倍;但是我觉得编程最主要的是对问题和解决方法有一定的敏感性,遇到了什么问题就立马知道大概的方向是什么。这个可能需要一定量的问题来训练~

小美:

决赛现场常常有许多大神出没,那你能偷偷告诉我们大神是怎样养成的吗?

朱睿:

恩,我印象比较深的是清华一个同学研发的一个项目。他选择的是第二个问题,他提出了一个idea,就是和我们现在看到的丁香医生很像,根据你输入的感受或者症状,给你一些疾病类型或者应该吃哪些药之类的建议。虽然当时来说想法可能还是很简陋的,但是这个同学的厉害之处就在于,在当时就能有一个这样好的一个全局观,想到这样一个idea,这是非常棒的。

小美:

男神gg你demo做那么棒,是不是有什么小诀窍呢?

朱睿:

我觉得做demo这个事情,其实要说也没有什么技巧,主要就是对自己做的项目有100%自信。 其次,就是能够表达清楚自己的算法优势在哪里。就像我说的,我们结合了两个传统的算法,比较能够吸引大家眼球,所以说我就是通过自信和对自己算法的一个了解才做出了不错的demo。我在做demo和项目开发过程中也接触到了一些微软的专家和工程师,他们人都非常nice,而且都很学术,来跟我们进行一些非常友善的交流。给我印象最深刻的是后来成为我在微软实习时mentor的何骏老师,他当时就很肯定我们的demo,还专门跑过来帮我们宣传,后来我来微软面试实习的时候,发现他就是面试官。

 

微软实习经验分享

小美:

男神gg你后来到了微软实习,那你是通过编程之美比赛进来的还是其他方式呢?

朱睿:

是这样的,编程之美为优秀的选手都提供了一个绿色通道,所有的优秀选手都有机会微软的预科生计划和预苗计划,可以少很多轮面试直接进入微软实习。我当时参加了两轮面试,面试官何骏老师问了我一些很简单的算法问题(这个可能是因为我是决赛选手,所以默认了我算法能力过关),我很快都解答出来了,之后我们就聊一些我们当时做的那个项目的进展情况,他也是聊了一下他的工作是怎样的,于是一个很轻松的面试就结束了。

朱睿:

当时和我一起过来实习的选手还是挺多的,大概有三分之一以上的参赛选手最后都选择来微软实习,可以说编程之美对我们来微软实习有非常直接的影响。不仅让我们知道微软有这样一个能够直接来实习的方式,还让我克服了自己的懒惰心理,感觉参加了这种比赛相当于给了你一个心理预计。

小美:

男神gg你在微软实习的主要工作内容是什么?工作氛围怎么样呢?

朱睿:

我觉得工作都还是很有趣的,大概就是和微软的工程师一起做一些有趣的事情,我印象比较深刻的是当时我们抽取了一些Twitter上面的人发的状态,然后经过 ra和我们这边工程师的算法得出了他们的一个情感分析,再通过它写的一个plsa算法的话题聚类得出人们对于某一个话题的看法是怎么样的,比如人们觉得奥巴马是好还是坏,这样的话可以得到一个很有趣的结果。还有一个事情就是,当时我们拿到了一些Azure用户的行为数据,我想根据这些用户行为来预测用户会不会未来花钱来买,预测成功的时候也会非常开心。

朱睿:

工作氛围嘛也是非常好的,首先是非常轻松,把mentor布置的任务做完之后就过来跟大家吃点茶或者其他什么的。员工福利也是非常好的,每天都有小吃啊水果之类的,同事也都非常nice,有什么锅都可以放心甩给他们(好一个心机boy啊hiahia)比较遗憾的是因为当时时间比较紧迫,所以并没有参加一些实习生活动,如果有机会的话我还是非常想参加的。找暑期实习的同学这个问题吧,我觉得主要是看你个人的一个想法吧,比如说像微软这种大公司的话,它可以给你一些日后步入职场的一些经验。创业型公司的话,会对你个人能力的磨砺更大一点。

 

全能男神养成记

小美:

男神gg你除了编程外有没有其他的兴趣爱好呢?

朱睿:

我喜欢古典吉他、弗拉门戈吉他、击剑,在击剑比赛中也获得过一些奖项,然后我自己一直在学习一些欧洲的语言。听起来这些爱好是跟编程风马牛不相及,但是我觉得直接间接的帮助都还是有的,首先它能够改变一个人的性格,有时候非常着急的去调一个bug就是调不出来,但是如果你是一个非常冷静的人的话,也许就调出来了呢。而且我觉得不能太功利性的看待编程这件事,一个人有一些自己的一些爱好才能构成一个完整的人。另外,这些爱好和编程有一个最明显的共性就是,他们都是非常美好的事物,符合我心中的美学定义。

小美:

男神gg请收下我崇拜的心!!!那么你能结合一下你的参赛经验和自己的美学定义来谈谈你心中的编程之美是怎样的呢?

朱睿:

我们比赛的名字就叫编程之美,实际上我们大家心中都有一些关于美的衡量。比如我觉得吉他击剑编程各有自己的美,大家可能觉得Python是一种比较美的语言而java不美,编程之美的比赛可以说就是为大家提供了这样一个来表达你心中的美的平台。那像现在有一个词很火叫跨学科,我觉得日后编程可能就和英语一样,成为日常交流的前提,如果你不会编程可能你就听不懂别人在说什么。

朱睿:

比如说吧我现在在做的一个项目,就是计算语言学的,这个项目就是计算机和语言学相结合的一个产物。实际上呢,这个项目是更偏向于计算机呢还是语言学呢我也是说不清楚。就是这些美在以后肯定会成为大用,逐渐淘汰那些旧的方式。所以说,我觉得计算机会和所有的学科相结合,任何学科离开计算机都是不可能独立存在的。这个可能就是日后的一个潮流,也是编程之美的一点吧。