陆明:“大家下午好。”

两点整,另外两个候补也进来了。五个人到齐。

林浩在群里发言:“大家好,我是horizon。感谢各位参加第二轮测试。本轮测试是实时编程,我会出三道题,大家在两小时內完成。工具自备,语言不限,但需要能运行出结果。完成后將代码发到群文件。现在开始第一题。”

他复製粘贴了第一题:

“题一:在文本中查找所有邮箱地址。输入:一段包含文字、数字、符號、邮箱的文本。输出:所有邮箱地址的列表。要求:自己写正则表达式,不能用库函数。时间:20分钟。”

这题考基本功。正则表达式是文本处理的必备技能,能看出一个人的代码严谨性和边界情况处理能力。

群里安静下来。林浩看著屏幕右下角的时间,一分一秒地走。

十五分钟后,第一个提交:半夏。代码很简洁,正则写得完美,考虑了各种边界情况。测试用例全过。

十八分钟,楚飞提交。正则有点瑕疵,但整体能用。附了一句话:“这题没意思,考记忆力的。”

二十分钟,陆明提交。正则正確,但代码里加了个小功能:把找到的邮箱按域名分类统计。超出了题目要求,但很实用。

另外两个候补,一个超时,一个正则写错了。

“题二。”林浩发了第二题,“实现一个简单的http伺服器,能响应get请求,返回请求的文件。要求:支持多线程,有基本的错误处理。时间:40分钟。”

这题难度上来了。2002年,很多人还没接触过网络编程。而且“多线程”在flash里不好实现,需要用到一些技巧。

群里沉默了很久。二十五分钟后,半夏提交。代码用的是java,实现了一个完整的、可运行的http伺服器,支持多线程,错误处理完善。还附了一个测试脚本。

三十二分钟,楚飞提交。代码是c++,也实现了,但用了些奇技淫巧,绕过了多线程,用异步io模擬。附言:“flash做不了多线程,我换语言了,不算违规吧?”

林浩回覆:“不算。看结果。”

三十八分钟,陆明提交。代码是python——2002年python还不流行,但他用了。实现很简单,但巧妙地用单线程+事件循环模擬了並发。附言:“轻量级方案,適合资源有限的环境。”

另外两个候选人,一个没提交,一个提交的代码跑不起来。

“题三。”林浩发了最后一题,也是最难的一题,“设计一个游戏存档系统。要求:1.存档可加密,防修改。2.支持增量存档,节省空间。3.存档损坏可部分恢復。4.有版本兼容性设计(新版游戏能读旧版存档)。不需要实现,写设计文档,包括架构图、核心算法、关键数据结构。时间:60分钟。”

这题考系统设计能力。不只是写代码,而是思考一个完整系统的方方面面。

群里彻底安静了。只有雨声,从窗外传来。

林浩起身倒了杯水,站在窗边看雨。雨中的县城灰濛濛的,远处的山隱在雨雾里。他想起2028年,华为的架构设计评审会,会议室里坐满了顶尖的工程师,为了一个设计方案爭得面红耳赤。

而现在,他一个人在2002年,用qq群面试几个可能成为伙伴的年轻人。

命运真是奇妙。

五十分钟,半夏提交。文档极其专业,用latex写的,有完整的架构图、流程图、状態机。加密方案用了非对称加密+签名,增量存档用差异算法,版本兼容用適配器模式。每个设计都有理论依据和实现考量。

五十五分钟,楚飞提交。文档是纯文本,但思路清晰。加密方案用了简单的异或+校验和——他备註:“复杂加密在客户端没用,反正能被破解,不如做防篡改检测。”增量存档用简单的二进位差异,版本兼容方案很粗暴:每个版本留一个转换器。附言:“工程方案,追求简单有效。”

五十八分钟,陆明提交。文档图文並茂,手绘了架构图,虽然不专业但生动。他提出了一个有趣的想法:存档不上传伺服器,而是在本地用算法生成“种子”,伺服器只存种子。这样节省带宽,也保护隱私。版本兼容方案是“向后兼容,向前不兼容”——旧版不能读新版存档,但新版永远能读旧版。

时间到。

林浩回到电脑前,看著三份文档。三个完全不同的风格,三个完全不同的思路。

半夏是学者,追求理论正確和体系完整。

楚飞是黑客,追求实用和效率,不拘泥於规范。

陆明是创造者,总想跳出框架,找新路径。

都是人才。但horizon需要什么样的人?

他需要学者来建立技术体系,需要黑客来攻坚克难,需要创造者来打开局面。

他都要。

林浩在群里发言:“测试结束。感谢各位的参与。请半夏、楚飞、陆明三位留下,其他两位可以退群了,感谢你们的时间,稍后会有一百元参与奖金打到你们提供的帐户。”

那两个候补退了群。群里剩下四个人。

“现在进入面试环节。”林浩打字,“我会问几个问题,请诚实地回答。第一个问题:你们为什么学编程?”

片刻,楚飞先回答:“因为爽。能控制机器,能做別人做不到的事。最早是改游戏,后来是写外掛,现在是觉得……能做点更大的。”

陆明:“因为美。代码有一种结构之美,逻辑之美。我学画画,学音乐,但最后发现编程是最自由的创作方式。你能创造一个世界,哪怕只是虚擬的。”

半夏过了半分钟才回答:“因为问题在那里。数学问题,物理问题,现实问题……编程是解决问题的工具。我喜欢工具,喜欢用工具解决问题的过程。”

很真实的回答。

“第二个问题:你们对未来五年的中国网际网路,有什么判断?”

楚飞:“会火。游戏、社交、电商,都会火。但泡沫也会有,死掉的公司会比活下来的多。我要做活下来的那个。”

陆明:“会连接一切。现在电脑是电脑,手机是手机,以后都会连在一起。內容的形式会变,但人需要故事,需要美,需要连接。我要做创造连接的那个人。”

半夏:“技术会进步,但瓶颈在基础设施。网速、硬体、人才。谁能解决瓶颈,谁就能贏。我要做解决瓶颈的事。”

林浩看著这些回答,心里有数了。

“第三个问题:如果加入horizon,你们想要什么?钱?名?成长?还是別的?”

楚飞:“钱要,但不能只给钱。得让我做有意思的事,有挑战的事。如果天天写业务代码,给再多钱我也不干。”

陆明:“想和厉害的人一起,做有影响力的作品。钱够生活就行,但作品必须是我骄傲的。”

半夏:“想接触前沿问题,有资源做研究。如果有论文產出,希望能署名。钱……按市场价就行。”

都很纯粹。这是好事。

林浩最后问:“如果我说,horizon现在只有我一个人,没有办公室,没有投资,只有一台电脑和一个想法。你们还愿意加入吗?”

沉默。

然后楚飞:“你一个人做出了《细胞吞噬》?”

林浩:“是。”

楚飞:“那我加入。一个人能做出那种东西,比有团队但做垃圾的强。”

陆明:“我也加入。一个人反而自由,没有条条框框。”

半夏:“只要问题有趣,资源可以慢慢解决。”

林浩笑了。这是他在这个时空,第一次真正地笑。

“好。”他打字,“那么,欢迎加入horizon。接下来我说一下安排。”

“第一,我们是远程协作。你们在哪里都可以,按时完成任务就行。”

“第二,前期没有工资,但项目有收益后,按贡献分成。分成比例后续详谈。”

“第三,第一个项目:网吧游戏自动更新系统。我负责架构和核心代码,半夏负责算法和性能优化,楚飞负责客户端和逆向兼容,陆明负责ui和用户体验。”

“第四,一周后,我会发详细的需求文档和技术方案。这周,你们各自熟悉相关技术,准备好开发环境。”

“有问题吗?”

楚飞:“分成比例现在不能说?”

林浩:“可以私下聊。但原则是:公平,透明,多劳多得。”

陆明:“网吧更新系统……听起来不像游戏?”

林浩:“不是游戏。是工具,是入口。我们要先活下来,才能做想做的事。”

半夏:“技术栈?”

林浩:“服务端用java,客户端用c++,管理端用delphi。资料库用mysql。有困难吗?”

半夏:“没有。”

楚飞:“delphi……老古董了。不过也行。”

陆明:“我学得快。”

“好。”林浩说,“那么,今天就到这里。三位加我好友,我们单独聊细节。解散。”

群解散了。三个人分別发来好友申请。林浩一一通过,然后分別私聊,谈具体的分工、时间、收益分成。

等全部聊完,已经是晚上七点。窗外的雨停了,天边有晚霞,金红色的光从云缝里透出来。

林浩靠在椅背上,长长地舒了一口气。

团队有了雏形。虽然只有三个人,虽然还没见过面,虽然前路艰难。

但至少,他不再是独自一人了。

他打开抽屉,拿出那台黑色手机。电量:1.8%。又掉了。

“小艺。”他低声说。

屏幕亮起。

“我在。”

“记录:2002年6月25日,horizon初步团队组建完成。核心成员:半夏(算法)、楚飞(工程)、陆明(设计)。第一个项目:网吧游戏更新系统,正式启动。”

“已记录。恭喜。但电量已降至危险水平,建议在下次充电前,不再进行大规模查询。”

“我知道。”林浩说,“休眠吧。等需要的时候,我会叫你。”

屏幕暗了。

房间里安静下来。只有电脑风扇的嗡嗡声,和远处街道上偶尔传来的车声。

林浩坐在黑暗里,看著窗外的晚霞。

第一步,迈出去了。虽然很小,虽然很慢。

但方向对了。

他起身,打开灯,坐回电脑前。开始写第一个项目的需求文档。

键盘声响起。嗒。嗒嗒。嗒。

沉稳,坚定,像心跳。

这一次,不再是独奏。

是合奏的开始。

玄幻魔法小说相关阅读More+

伪装魔法少女:无上力道大宗师

佚名

逆子荒年拋弃我,我通现代粮满仓

佚名

科研系统,开启无双科技!

佚名

盲眼剑圣,我杀穿了求生副本世界

佚名

灾年重生:开局拯救资本家大小姐

佚名

方人修仙传

佚名