30万奖金花落谁家?阿里中间件性能挑战赛之总决赛观摩记!
30万现金奖励,美国硅谷游学机会,阿里中间件招聘优先推荐名额,感受并挑战双十一业务场景,以上每一条看上去都是如此的诱人,这就是2017 阿里中间件性能挑战大赛。这是一场历时3个月的挑战,主要考察选手的网络编程能力和性能调优能力。
文 | 老鱼
众所周知,中间件是阿里技术体系中非常重要的一块,承载了阿里众多业务。而作为阿里中间件(Aliware)团队举办的历史最悠久的工程视角赛事,阿里中间件性能挑战赛已连续举办三届。
7月17日,第三届阿里中间件性能挑战赛进入到尾声,也是最激动人心的阶段,总决赛答辩会及颁奖典礼。而老鱼则是有幸亲临现场观摩,也才有了大家看到的本文。
早上不到8点40分,老鱼就匆匆的赶到了杭州阿里西溪园区的总决赛会场,今天的杭州酷热难耐,虽然从酒店到大赛会场不过10来分钟路程,但老鱼早已汗流浃背。本以为早到能占个好位置,却料想不到参赛队伍到的更早,现场已经是座无虚席,所有参赛队员身着大赛限量版纪念T恤,显得精神抖擞。
老鱼从主办方了解到,本次挑战赛不仅规模创新高,吸引近2300支队伍报名参赛,而且还相当的开放,选手中既有来自Carnegie Mellon University、香港科技大学、北京大学、上海交通大学、中国科学院、浙江大学、北京邮电大学、南京大学等国内外顶尖理工科高校学生,也有来自百度、网易、滴滴、高德等一线互联网公司的工程师。官方数据显示,在TOP20的队伍中,学生占比66%,企业员工占比34%。
复赛试题
本次大赛复赛题目:《模拟阿里双十一分布式数据同步》,主要解决的是数据同步领域范畴:实时增量同步,主要的技术挑战为模拟数据库的主备复制,提供"高效"的实时同步能力。其中,程序会使用两台机器,一台作为Server机器,存放着需要重放的数据文件,一台作为Client机器,需要保存重放之后的结果文件。官方给出的例图如下:
可以看到,题目背景是基于阿里在实际业务中遇到的跨机房数据库同步问题,即将在机器A上的数据库数据同步到机器B上。题目有一定难度,但非常具有实战意义。
复赛TOP10进入总决赛
而老鱼在现场看到,参与总决赛答辩的队伍共计有10支,而这10支队伍就是复赛中排名前10的队伍。
说到这里,就不得不提大赛规则,本次大赛分为初赛、复赛及总决赛,初赛最终入围TOP100的队伍进入复赛;复赛入围TOP10的队伍将受邀参加总决赛。
总决赛由答辩会和极客PK赛组成,答辩会将在进入总决赛的TOP10队伍中产生大赛冠亚季军和优胜奖。极客PK赛为TOP10队伍选手与阿里巴巴集团内部工程师间的技术切磋赛,胜出选手将获得西行游学大奖,由阿里巴巴全程资助于10月赴美参加国际顶会,拜访硅谷知名IT企业。
总决赛-极客PK赛
本次极客挑战赛采用国际上通用的24小时黑客马拉松的形式,题目是数据库的分页排序(order by name limit offest,count),简称top(k,n)。这是关系型数据库领域中使用最广泛的一类场景,但本次赛题在关系数据库上有所拓展,解决NewSQL领域的“分布式”特性。选手需要从存储索引设计、网络传输成本、排序算法来综合考虑,同时还要兼顾磁盘I/O带来的一些不确定因素。
最终,来自南京理工的张震宇,凭借代码优异性能,耗时最少,夺得极客挑战赛冠军; Splunk上海研发中心傅宇和中科院计算所岑武斌等三位同学分获二至四名,赢得西行游学大奖。
其中,岑武斌可算是大赛元老选手,2015年入围TOP10,2016年线上排名第16,2017年线上排名第7。
暖场-阿里技术之旅
作为暖场,答辩会前,还有一场份量十足的阿里技术分享会,份量十足可不是乱说的,阿里技术岗级别相信搞技术大都不陌生,来自阿里多位P10、P8级的技术大咖:小邪,福贝,张瑞,君瑜纷纷登台做了精彩演讲。
阿里巴巴研究员小邪分享中
小邪向参赛选手介绍了过去两年间阿里技术发生的一些重大变化及大中台战略的思考。而来自存储技术部的负责人福贝分享了阿里存储技术发展之路。数据库负责人张瑞则分享了阿里数据库发展过程中的故事及对未来数据库技术发展的一些看法。最后,君瑜收尾,着重介绍了阿里中间件前世今生。
参赛选手听的津津有味
总决赛-答辩会
答辩会的答辩顺序依次从第十名至第一名进行答辩,每支队伍答辩时间为15分钟,包括代码、解题思路,5分钟评委提问时间,评委会根据参赛队伍的代码、历史成绩、评委打分, 最终排名。冠军队伍将获得10万奖金,亚军为5万,季军为3万。
评委认真倾听选手答辩
经过激烈的角逐,最终冠亚季军及优胜奖名单如下:
冠军队
亚军队
季军队
颁奖典礼上,各种奖金奖品,让老鱼看着也相当口水,不得不说,听完10支队伍的答辩后,老鱼唯一的感受就是这些队伍确实有货,年纪轻轻,不仅技术实力强,演讲水平也不赖,真是后生可畏。
奖牌
奖杯
在强者如林的总决赛中,作死小分队为何能脱颖而出?其作品又到底强在哪里?相信是所有关注大赛的人都会关注的问题,老鱼也不例外,但现场评委并没有给出详细的解答。
会后,老鱼经过一番曲折找到了大赛评委七锋,他表示,程序如果既有好的性能和通用性,势必就会有好的代码细节和算法,反之会是一个针对数据case的特征优化. 而且中间件作为技术服务能力的提供方,通用性和健壮性是基本诉求,因此我们会特别注重代码健壮性,在评审时也重点关注了这块,通过对更苛刻类型的数据复测验证了代码的健壮性,我们会根据选手们通过复测的情况作为评审打分的参考,而且线上成绩本身性能相差非常小,而比较难得的是冠军队的复测结果,在保证结果正确的同时,性能几乎可以和线上成绩保持一致,相比于其他队伍的复测结果不正确或者性能损耗,有着明显优势。
友情提示,据了解,中间件大赛TOP10队伍的代码思路会于近期在阿里云天池技术全内陆续发布,有兴趣的可以去看看。
END
延伸阅读
公众号
laoyubiji
老鱼,10年企业级老编一枚,采访过上百位CEO/CTO,你若有故事,欢迎联系!
欢迎订阅老鱼笔记
✬如果你喜欢这篇文章,欢迎分享到朋友圈✬
评论功能现已开启,灰常接受一切形式的吐槽和赞美☺