8090年代顶级编程挑战
周五晚上,我在 Twitter/X 上看到 Chamath Palihapitiya 发布的一条公开帖子,宣布由他的新公司 8090 Solutions 主办一场开放的 Top Coder 挑战赛。任何人都可以参加。挑战将在第二天举行,只持续 8 小时,并且需要仅凭历史数据和几次员工访谈,对一个黑盒遗留系统进行逆向工程。
我决定加入!
到那天结束时,我很荣幸地在 425 名工程师中获得了 第 7 名。你可以在 这里 查看排行榜,也可以在 这里 查看这次挑战的代码。不过,我不会撒谎,我当时其实只是希望能在这么短的时间里完成点什么,所以能登上排行榜对我来说是一个惊喜,也是一个巨大的个人胜利。
这是一场个人挑战,目标是复刻一个已有 60 年历史、却没有源代码也没有文档的黑盒差旅报销系统。我们得到了一些材料,包括产品简介、员工访谈记录,以及一个包含 1,000 个历史输入与期望输出示例的公开数据集。基于这些内容,我必须推断报销金额是如何计算的业务逻辑,并实现一个现代版本,尽可能产生相同的结果。提交内容会在一个单独的隐藏数据集上进行评估,该数据集包含 5,000 个测试用例,而不是最初的 1,000 个。这个更大的私有数据集最终决定了你的最终得分和排名。评分系统奖励准确性,分数越低,表示你的解决方案与原始系统隐藏行为的匹配程度越高。
为了应对数据中的不确定性和模式,我结合了经典机器学习技术、基础启发式方法和程序化逻辑。这是数据分析、特征建模以及基于不完整线索的规则近似之间的一种谨慎融合。
以下是我在公开的 1,000 条数据集上的 评估 分数:
✅ 评估摘要
------------------------
总案例数 : 1000
完全匹配(<$0.01): 0
接近匹配(<$1.00): 17
平均误差 : $31.15
分数 : 3214.93
如果没有那些让我能够快速探索、整合和测试想法的 AI 驱动工具,要在 8 小时内为这样一个挑战开发出解决方案几乎是不可能的。
这感觉就像把软件考古和一场现场编码冲刺结合在了一起。毫无疑问,这是我做过的最紧张、也最有收获的技术挑战之一。
感谢 Chamath Palihapitiya 和 Arjun Krishna 组织了这样一场富有创造力和启发性的挑战。
链接: