为什么我建议你一定要打这场企业算法赛

看到一个很有趣的现象:LeetCode上每天几万人刷题,但企业办的免费算法赛,报名的人反而没那么多。

 

我自己打过七八场企业赛,从被虐到拿奖,从没有面试到能帮别人看简历。想把这几年参加企业赛的真实经历写下来,包括怎么准备、有什么坑、到底对求职有没有用。

 

最近正好看到现代汽车那个Code Faster比赛开始报名了,想起自己当年打的那些比赛,有些话想说,因为我觉得这些经验可能对正在纠结的学弟学妹有帮助。

 

先交代一下背景:我是某985计算机硕士,2024届毕业,现在在一家互联网公司做算法工程师。大学期间打过ACM省赛、蓝桥杯,也参加过五六家不同企业的算法竞赛。拿过几次奖金,有一次拿到面试官的微信,还有一次通过比赛认识的朋友后来成了同事。

 

下面分四个部分,把我认为的“企业算法赛到底值不值得打”说清楚。

 

一、奖金是直接的回报,但更重要的是一种“被认可”的感觉

先说最务实的:奖金。

 

现代汽车这场,第一名15000元,前10名都有现金。对于学生来说,这不算小数目。而且前11-50名可以获得企业周边,ke既有纪念意义也实用。报名只要几分钟,尝试一下,哪怕没能进前十,也有机会拿到实物奖励。

 

但我想说的不是钱本身。

 

我2019年第一次参加企业赛,拿了个三等奖,奖金1000块。那1000块钱我请实验室同学吃了顿火锅,但真正让我兴奋的,是赛后收到的那封邮件:“恭喜你获得本次比赛三等奖,你的解题思路给我们留下了深刻印象。”

 

那是我第一次感觉到:我写的代码,被一家正经的大厂技术团队看到了。

 

这种感觉,比你闷头刷一百道LeetCode都要真实。后来我参加过奖金更高的比赛,也拿过更大的奖,但那种“被认可”的感觉,一直是我坚持打比赛的源动力。尤其对于没有实习经历、学校背景一般的同学来说,企业赛的获奖记录,就是你拿得出手的硬作品。

 

二、ACM赛制,最纯粹的技术检验

现代汽车这场采用ACM赛制。什么意思?就是纯算法、纯编程、纯逻辑。没有路演、没有PPT、没有商业计划书。你代码跑得通、效率高,你就是对的。

 

这种形式的比赛,其实特别适合用来检验自己真正的编码能力。

 

我自己有个习惯:每学期末,找一场企业赛打一下。不是为了拿奖,而是当作期末考试——看看我这学期学的动态规划、图论、线段树,还有多少留在脑子里。

 

举个例子:大三下学期我自我感觉良好,觉得算法学得不错。结果一场比赛下来,三道题只AC了一道半,第二道题被卡在TLE上,第三道题连思路都没有。那次比赛之后,我老老实实刷了一个暑假的Codeforces,从1200分打到了1600分。

 

比赛是最好的照妖镜。你平时刷题可以看题解、可以调试一小时,但比赛就是限时、不能查资料、要一次性提交。这种压力下的表现,才是你的真实水平。

 

所以,不管你觉得自己水平如何,去报个名,打一场。AC了开心,被虐了也知道差距在哪。反正初赛线上,不亏。

 

三、企业赛的“含金量”,比你想的更实用

很多同学会问:企业赛的奖,写在简历上真的有用吗?

 

我的答案是:有用,而且比绝大多数校内比赛都有用。

 

我秋招时面试过一家大厂的算法岗,面试官看到我简历上有一个“某知名企业算法竞赛Top 10%”,明显来了兴趣。他没有问那种“你介绍一下这个比赛”的套话,而是直接问我:“那道决赛题你是怎么做的?我当时也看了那道题。”

 

然后我们讨论了十几分钟的解法,气氛一下就轻松了。后来我拿到那个offer,复盘时觉得,那个比赛经历至少占了30%的功劳。

 

为什么企业赛的含金量高?

 

因为面试官也是从技术圈出来的,他们知道:企业赛的赛题质量、评审标准、获奖难度,跟校内比赛不是一个量级。而且企业赛一般会有专门的技术团队出题,题目会更有区分度,能够筛选出真正有实力的选手。

 

现代汽车这种级别的公司,全球前五的车企,技术布局覆盖自动驾驶、智能座舱、大模型、机器人。他们办的比赛,技术含金量只会高不会低。你获奖了,意味着你被这样级别的技术团队“认证”过。

 

所以,别小看简历上那一行字。它可能比你的GPA更有说服力。

 

四、时间成本极低,但可能带来“蝴蝶效应”

最后说说投入产出比。

 

这场比赛的初赛是7月中旬线上,决赛7月末。时间点非常巧妙:大部分学校刚结束期末考试,正是你脑子还清醒、时间又相对自由的时候。

 

你不用请假、不用出差、不用准备材料。报名花3分钟,赛前花三五天刷刷题、熟悉一下ACM输入输出格式(这个其实很多人会翻车),然后就可以上场了。

 

如果进了决赛,还有机会线下体验、认识一批同水平的技术小伙伴。我当年打比赛认识的几个朋友,到现在还保持联系,有的成了同事,有的会互相内推。

 

但即使没进决赛,只是参加了初赛,你也能收获:

  • 一次完整的ACM模式实战经验
  • 知道自己和别人的差距(如果能看到排名)
  • 一个可以写进简历的“参赛经历”(对,参赛就可以写,尤其是企业赛)
  • 可能抽中的周边礼品

 

更重要的是,你永远不知道哪一次经历会在未来被放大。

 

我有个学弟,大二时随手参加了一场企业赛,没拿奖,但赛后加了一个技术交流群。群里有人分享了一个实习内推,他投了,进了。后来那个实习让他积累了项目经验,秋招拿到了SP。

 

还有一次,我在一个比赛里遇到了一道题,当时没做出来,赛后花了一周把那个算法彻底搞懂了。结果秋招面试时,面试官刚好问了一道极其类似的题。我不仅写出来了,还主动讲了解法优化。面试官当场说“你的基础很扎实”。

 

那些看似随机的机会,其实就是你之前埋下的伏笔。

 

最后,说点真心话

我不是那种天赋型选手,代码能力是慢慢磨出来的。企业赛对我来说,不只是奖金和荣誉,更是一个低成本验证自己、积累履历、拓宽视野的通道。

 

现代汽车这场Code Faster挑战赛,奖金不错、平台正规、赛制清晰,是真的值得报名。

别想太多,别觉得自己不行。去报了名,哪怕只是去试试水,你也不会损失什么。

但如果不去,你可能就错过了一次锻炼、一次证明自己的机会。

👉 点击报名:牛客竞赛

 

报完名的同学,欢迎评论区扣个1,也可以聊聊你的备赛计划,大家一起进步。

#第3届现代汽车Code Faster急速编程挑战赛#
全部评论
写的真好啊,不试试永远不知道自己行不行
点赞 回复 分享
发布于 今天 10:32 上海
马住
点赞 回复 分享
发布于 今天 10:19 北京

相关推荐

不愿透露姓名的神秘牛友
05-26 15:37
1、这群人晚上 11 点发朋友圈:"凌晨 11 点,三环的灯还亮着。" 实际下班时间:19:30。2、什么是嘉豪呀?我最近在字节实习,没什么时间上网3、同龄人:学校社团、酒吧蹦迪;我:acm、字节/腾讯实习4、别人朋友圈发:“今天不想上课”;我朋友圈发:“今天的班就上到这里啦”,定位:字节跳动5、别人的朋友圈都是到处旅游的定位,我的朋友圈天天都是“字节定位”,还一定要是在【公司的健身房】里拍张照片,实际只练了10分钟,其中凹造型5分钟6、mentor布置任务的时候,别人都是:”好的收到“,我:”是不是要xxxx,xxxx这么做也可以吧,这个技术方案会不会更好些“7、别人书包里装的:王道408、轻薄本、四六级真题。我书包里面装的:显存24GB4090独显gpu(24小时开机运行,屏幕上贴着“字节/腾讯等贴纸”)、速效救心丸(代码报错用)、电棍(熬夜写代码困了用),就很……你们懂吧8、入职大厂第一件事:发朋友圈、发小红书,晒工牌,985计算机硕|字节实习生|可以接咨询|有偿改简历,9、别人的社交软件简介:25岁|男|希望遇见有趣的灵魂;嘉豪的社交软件简介:25岁|程序员|字节跳动工程师|一张佩戴工牌的自拍照大厂嘉豪标配:1. 挂胸前的工牌(地铁里只挂不收,怕你看不见 logo)2. 降噪耳机(不放音乐也戴着,避免别人跟自己说话)3. 印 logo 的电脑包(字节红 / 腾讯蓝 / 阿里橙 / 美团黄)4. 手表(最好显示心率,午饭后必发"步数已破 6,000")
布布永不言弃:可曾见过“我在未上市小厂实习,丢人了xxx”,然后接着说“这个小厂的创始人是张一鸣” 然后别人要是真不认识张一鸣 就直接急了
点赞 评论 收藏
分享
在我来鹅之后,接到的第一个完整大需求就是需要编写一个skill,之前的实习也写过一些skill,但是在我的理解中skill就是跟提示词没差,把你需要的目标全写上就好了,所以第一次mr我提交了一个超过1200行的md,被mt打了回去,为了完成这个需求,我又赶紧请教了我身边的大神同学,获取一些写skill的经验,将原先1200行的md进行了对应的references拆封,又通过我朋友教我的验证机制验证这个skill的效果,最后完成了我的第一个需求。正好前两篇文章给大家分享了写好的用来包装简历的skill,那么今天来给大家分享怎么去写一个好的,可以实际用来工作的skill,摆脱只会写提示词的尴尬。构建 Skill 的五个步骤Step 0:先写 EvalsEval(Evaluation,评估)是一套结构化的、可重复运行的测试用例集,用来判断 Skill 的表现是否符合预期。它不是泛指"测试一下",而是开发 Skill 的前提条件。一个典型的 Skill eval 集至少包含三类用例:- 正例(Positive):用户说“帮我看一下这个 PR 能不能合”,验证 Skill 应该被加载- 负例(Negative):用户说“帮我把代码格式化一下”,验证 Skill 不该被加载——路由别跑偏到不该触发的地方- 边界(Edge):“这个 PR 改了一行日志,要不要审”,验证边界情况下的路由行为正例和负例都要写,而且负例往往比正例更值钱——误触发是 Skill 路由的头号失败模式。Eval 不只是测一次。Perplexity 的 eval 分三个层次:如下图每种都要在 GPT、Claude Opus、Claude Sonnet 不同的 orchestration 模型上分别跑——Sonnet 和 GPT 的 Skill 行为差异很大,只在一种模型上过了不够。没有 evals,你改 description 就是在盲改,一个新 Skill 也可能悄悄搞坏已有的十个 Skill。Step 1:写 Description(最难的一行)description 是路由触发器,不是文档。写好它不需要关心 Skill 的内容,只需要关心能不能在正确的时间加载、有没有意外触发到不应该触发的地方——误触发是头号失败模式,每加一个 Skill 都有可能让其他 Skill 变差。糟糕的 description 描述 Skill 做什么,好的 description 说什么时候加载。举个监控 PR 的例子:不要写这个 Skill 做什么,要写工程师感到焦虑时会说什么——"babysit"、"watch CI"、"make sure this lands"。快速检查清单:- 以"Load when…"开头- 控制在 50 词以内- 描述用户意图,最好来自真实查询- 不总结工作流程Step 2:写 Body跟同事讲工作流程和跟 LLM 讲工作流程完全是两回事。对几乎任何面世超过一年的软件工具,只要提名字,模型已经知道怎么用。所以跳过模型已经懂的部分。不用写出每一步命令。比如不要写 git log → git checkout main → git checkout -b clean-branch → git cherry-pick commit。写 "Cherry-pick the commit onto a clean branch. Resolve conflicts preserving intent. If it can't land cleanly, explain why." 模型在后者上表现好得多,尤其是事情不按预期走的时候。太规定的指令比灵活的指令更脆弱。然后聚焦 gotchas 和反例,它们是最高信噪比的内容。每次 Agent 搞砸了就加一条,gotcha 会自然地累积起来。条件逻辑或内容太重的东西移出 SKILL.md,放到 accessory file 里渐进加载。Step 3:用层级结构- scripts/ —— 确定性逻辑,模型不用每次重新发明- references/ —— 重型文档,条件触发才读("如果 API 返回非 200,读 api-errors.md")- assets/ —— 输出模板,模型直接复制填充- config.json —— 首次运行设置,问一次保存下来对于极其复杂的 Skill,进一步考虑是否应该拆成一组 Skill,用 depends: 声明加载关系。Step 4:迭代切分支出来,在无 Skill 的状态下跑 hero query(核心用户场景查询),建 eval 集,反复调。提交 review 时最好一个 changeset 里自带 eval 集。Description 里的小词改动对路由影响很大,甚至会 spillover(溢出)到其他 Skill,所以这些在 Step 5 之前做完。Step 5:发布大家快把这5步实行起来,成为写skill专家吧!
琉璃梦忆:直接skill creator 管你这那的
AI了,我在打一种很新的...
点赞 评论 收藏
分享
评论
16
25
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务