Google Girl Hackathon Season V - Beijing 游记

好久没有机会写游记了。这次北京之旅体验真的超级棒啊。趁着这次机会,面基了几个高中朋友,还有某位的女朋友2333。回到正题,Google的工作理念、工作环境真的太棒了。TA大概是我永远的白月光了,真心希望暑假EP实习可以过啊。和我一组的妹子超级厉害,而且超级奈斯,没写过工程的我,好多C++的基本用法都不懂,他们都会耐心地给我讲,超棒啊。下面流水线开始——

Day -1

比赛日的前两日的晚上到的北京,但是主办方不给这天提供住宿,所以住了我爸单位。说起来这天也是很惨了。在学校上完最后一节课坐机场大巴去机场,晕车体质坐大巴从来都很难受,到了机场呼吸两口新鲜空气就进去了。等了两个小时左右上了飞机——我下次绝对不买这么垃圾的飞机了。座位特别特别特别挤,佛了,还给了一个特别难吃的飞机餐。最后还晕机了,降落的时候出一身汗,想吐的感觉。当天晚上吐了好多次……晚上11点多到的北京,身体很不舒服了,见到了我爸。开车去他公司路上想起来智障的我忘打印行程单了,又折回去打印的。(后来发现事后邮寄给他也可以。。。我可以让高铁管家给我邮来的。。。而且报销直接给报了,没有价格限制的样子)最后两点多才到他单位。我和一个姐姐睡一屋,不过回去太晚+第二天起得太晚,根本没看见那个姐姐的脸。。。

Day 0

提前来一天就是想找高中朋友浪一浪的。之前就和XH提了我要来来着,所以就先和她约了一顿。然后还约了MG、XX、DMW。10点多起的床,我爸工作上有点事,就让我等一会才能送我去海淀和朋友玩。进城的路上就感受的了大都市的魅力。1点多到的餐馆,大概和她wx上聊得也不少,所以感觉见面很正常。吃饭的地方旁边开了一家JYCLUB,JY开的。记得有好长一段时间,我都很喜欢看狼人杀直播呢,但是狼人杀最近有点凉了,我们本来想去玩的,但进去发现这家店也是坑的一匹,每种桌游10块钱,还要付桌费188,抢钱吧。(后知后觉:这难道是在暗示Hackaton?)

她学校和MG学校离得很近,我们就问了MG,还和他说想见他女票嘻嘻嘻。MG当时有点事,我们就混入了清华校园。这就是我大清华叭,这样的校园谁不想要?我感慨一路,XH说我土鳖。呵。MG忙完了,XH最后一节课有课,我就一个人去找MG(和他女票)去了。和MG好久不见,MG居然,没有了东北味。他带我逛了逛清华,不过清华是逛不完的大概,太大了。MG表示有的地方他都没去过。还有就是!MG一路!拉着女票的手!秀的雅痞!有点甜呀!99999

晚上MG有晚课,所以我也就溜了,晚上约的XX,她和DMW一个学校,DMW晚上有点事,忙完了才能来。拉了行李走了一天,把行李放在了酒店,就去找XX了。他们学校离我住的酒店很近,我骑车去的,不到半个点就到了,然后就和他去吃饭啦。不得不说这两顿油腻大餐隔的也太近了,这也可能间接导致了这天晚上我又很恶心,又吐了T。T但这是后话了。和XX聊了好久,DMW来了,还带来了她朋友圈里经常出镜的妹子。啊,好久好久不见DMW,她还是那么帅气。和他们胡侃,东聊西聊,最后还去DMW宿舍转了一圈,她宿舍养了一只可爱的小仓鼠。在我去看的第二天还丢了,最后发现在她室友鞋里找到的,绝了。

最后11点左右回到了宾馆,胃肠有了反应,呕吐几次就睡了。。。和我一屋的妹子,到最后也没有来。也幸亏这样不然本土大学的学姐,就没地方睡了嘻嘻。

Day 1

正式活动的第一天。我们到的算是很早的了。上午的事情主要是咕咕介绍,活跃气氛,做游戏,了解咕咕这些。和Hackathon没啥关系。印象比较深的当然就是咕咕食堂了。8说了,放图。

在咕咕工作减肥就不用想了,这比市面自助都好吃的工作餐,这谁顶得住呀。怪不得fls说他咕咕实习胖了好多。食堂还有鲜榨果汁的机器,放入水果就行。蓝莓芝士也很好吃,xmsl,哦对了,还有下午茶,各种蛋糕 三明治 水果,也太幸福了。同组的实习学姐说正常只有周一和周三有下午茶的。酸了酸了。

还有几个Googler给我们介绍了Google的理念与工作方式。有一个大姐姐引出了一个话题——为什么女性工程师这么少。这个问题从多个方面可以有不同的考虑。我打算下周英语课关于Gender的演讲上来讲这个话题。

还参观了咕咕各种工作室 会议室 健身房之类的,怪不得说咕咕适合养老。

午休的时候我在我们呆的屋子里看见了三盒「璀璨宝石」,一款我寒假和朋友去桌游吧玩过好多局的桌游。想到LYS和我说上海Hackathon有一个用意面、棉花糖、胶带来搭建一个稳定的结构,棉花糖要在最上边,越高越好,我以为我们的团建是玩「璀璨宝石」呢,还想我肯定血虐他们啊。谁会想到我和这款桌游的缘分那么的深。。

结果团建还是搭意面。但我也没多思考「璀璨宝石」是干嘛的。我们搭了45cm,倒数水平2333。

然后Judge开始宣布题目了。

看到题目我惊了。这不是我玩过的那款桌游吗。任务是写AI。我真的惊了。讲真我觉得「璀璨宝石」在游戏时长和交互上都是很适合朋友聚会玩的一个游戏。不过我每次都是凭感觉玩,从来没想过要写一款AI。

Judge介绍了好久游戏规则,大家听的云里雾里,除了我。我同组的朋友为了了解游戏规则玩了一把游戏,不懂得规则我来解惑,同时我就上Youtube上去看了「璀璨宝石」攻略。发现大致分为三类:

  • 拿分流:以拿分为目的,这不用多说了。

  • 保守流:以攒红利为目的,这样后期可以免费拿好多卡。

  • 恶心人流:别人想拿什么你就扣下那张牌。

想了一下,我大概走的是一个保守流派,输的倒不是很多。但是有一些问题,就是什么时候算前期、中期,分牌具有随机性,是否可以什么时候都使用这个策略。

一个学姐提出了Minimax搜索算法,这是写棋盘双人博弈的一个经典算法。

经过讨论,我们觉得自己写一个评估函数,用Minimax搜索算法来实现可行,并且使用C++来实现。

对于没有工程经历的我来说,根本不知道从哪里下手,尤其是我们的输入输出是json格式的,我丝毫不懂。学姐说先把框架构建出来。先来定义类、类中的方法/功能,后来我感觉就是软构课上老师说的Spec优先吧。

然后回宾馆了,路上又晕车了,在北京这几天,感觉一直在晕,佛了。

中午吃的太撑了所以晚上没吃。

晚上8 9 点我们才再次开始搞。

框架写好了,我被分配的只是几个简单的模拟,就是每轮我们可以做的操作,比如拿三个钻石之类的。

半夜两点,回去睡了,学姐去我的空床睡的。

Day 2

第二天了。

这一整天都是Hackathon。

今天是周六,员工休息,食堂不开。所以Google给我们订的外卖,挺好吃的。同时还有咖啡、零食,我吃了好几袋薯片。

其实我们在很早,大概下午一两点的时候,就已经把除了json输入、输出的部分写好了,然后两个学姐在搞json读入/输出。

Judge说测评环境是在Linux,只有我有Linux虚拟机。于是我就搭了一下环境,主要是安装jsoncpp,同时适应学姐写的Makefile。

回宾馆前的json读入/输出还没弄好。

回宾馆写好后,放在一起跑,有bug,然而我们此时UI也没做呢。

于是一个学姐去搞UI去了,我们来找bug。

其实我摸了好久的鱼,因为晚上天王山之战。。。

好吧,摸了好久好久。

半夜睡之前也没找到bug,而我在沙发上倒下了睡了一夜。

学姐搞UI搞了一夜没睡,另一个学姐也就睡了一会就debug去了,但是debug并没任何进展。

Day 3

代码还是有Bug。

昨天太累了。我们9点半才到咕咕。

而距离提交只有一个半小时了。

啊 果然是DDL圣斗士。

到了咕咕,我也开始debug。

找了一圈,觉得主函数没什么问题,可是每一轮的可行操作经常为空集,什么原因呢。

我去看读入,MD,他给的读入是驼峰式的符合变量名,我们写的是带下划线的那种。因为他说输出是下划线的,读入是驼峰的,而我们都没有注意到。

这时只有半个点就截止了,再次感慨我这个DDL圣斗士。

我们用我们的AI和Judge提供的AI打了一下,哇,爆锤啊,我们写的是runawayGem。

说起来也很奇怪,sample_AI的策略大概是,预约-攒钻石-预约-攒钻石……这样下去,不知道为什么遇到我们的AI就完全GG。

然后提交给Judge,Judge搭了好久环境,才能编译我们的程序。

接着presentation,我们的UI没有做完,所以答辩应该很一般的样子。

马上接近尾声了,公布结果之前,有一位面试官给我们模拟了一个咕咕面试,给我们讲了点小tips。

然后公布结果的时候到了。

14个队伍Battle我们居然排名第二???

哇,完全没想到性能这么好!!!

不过可惜的是,只有第一的有礼品,综合排名前三的有礼品,综合测评看pre、代码风格、battle结果,所以我们都没有。

真是可惜啊。

晚上8点多的卧铺回哈尔滨了。我爸送我去火车站,我调侃说从中关村回”哈村”了。

路上我和我爸说的最多的话就是,大城市真好啊,咕咕真好啊之类的。

卧铺上也有点晕车,不过睡的还可以,大概是这几天太累了。

FINAL

这次北京之行真的太棒了,旅了游,见到了朋友,认识了大佬,学到了技术,找到了「白月光」,爱了,爱了。