一、第一次打开牛客,我连输入输出都写不对
大三下学期的三月,室友甩过来一个链接,说某厂的暑期实习笔试就在这个网站上做。我点进去,题库第一题是道很简单的循环题,自测样例过了,一提交,0 分。盯着报错看了十分钟才反应过来:题目要求多组输入、每组输出一行,而我只处理了一组,还把结果拼在一行里输出了。
这个坎不是智商问题,是环境问题。LeetCode 给你一个函数签名,参数传进来你只管 return;牛客的编程题很多是 ACM 模式,输入从标准输入读,输出往标准输出写,格式错一个空格就是 0 分。那一年我在牛客上前后提交了六百多次,前一百次的通过率只有四成出头,大部分不是算法不会,是输入输出没写对。
所以下面这些经验,不是「刷题很重要」这种废话,是我自己踩过、并且能复现的东西。
二、它和 LeetCode 根本不是一类东西,别混着用
我试过把牛客当 LeetCode 刷,每天五道,坚持了一个月,结果第一次正式笔试还是手忙脚乱。原因很简单:这两个站点的考察目标不一样。
| 维度 | 牛客 | LeetCode |
|---|---|---|
| 题目形态 | 核心代码 + ACM 双模式,很多公司真题 | 以核心代码为主 |
| 时间限制 | 常见 1 到 2 秒,内存 256MB | 同样 1 到 2 秒,但对输入输出不设卡 |
| 独有资产 | 企业笔试系统本身体验 + 面经 + 薪资爆料 | 题解质量、周赛、讨论区 |
| 用户阶段 | 校招应届生为主 | 全阶段 |
最值钱的是第一行那个「双模式」。很多公司的校招笔试链接域名就是 nowcoder.com,你在这里做题,本质上是在真实考场里练。LeetCode 的判题再严格,也不会因为你少读一个换行符判你零分,但真实笔试会。
第二值钱的是面经的时间价值。牛客的面经按公司、岗位、年份筛,同一个岗位的面经在两三个月内高度重复。我面一家电商公司前,把牛客上近两个月的 12 篇同岗位面经抄进一个文档,手工统计关键词频次,「缓存击穿」出现 9 次,「索引失效场景」出现 7 次。一面确实问了前者,追问到布隆过滤器才停。
三、一套可以照着做的用法,包括具体题量和参数
第一步,剑指 Offer 那 75 题按专题过,不要按题号顺序。贪心、双指针、二叉树、动态规划各集中两三天,同一类题的解法会自己长出来。第一遍不看题解,卡 25 分钟就去看,看完隔一天重写一遍。
第二步,刷「公司真题」。牛客有按公司归类的真题板块,更新速度比你想的快,但要注意很多是考生回忆版,题干有错字甚至条件缺失,遇到读不通的直接跳过,别死磕。
第三步,专项练 ACM 模式的输入输出,这是最容易被忽略的一步。Java 用 Scanner 读十万行数据大概率超时,换 BufferedReader 加 StringTokenizer;Python 用 sys.stdin.read().split() 一次性读完比逐行 readline 快;C++ 记得关同步 ios::sync_with_stdio(false)。这三句我写在便签上贴了半年。
第四步,模拟一场完整笔试。牛客的笔试常见配置是 2 小时,20 道左右的选择加 2 到 4 道编程,选择题里操作系统、计算机网络、数据库基本各占三分之一。找个周末按这个节奏掐表做一遍,你会发现自己真正的短板是时间分配,不是某道题。
另外提一句,笔试的切屏行为会被记录,超过阈值会有提示甚至标记,这个是真实存在的,别存侥幸。
四、面经和薪资爆料,方法不对就是信息污染
面经最大的问题是幸存者偏差。发帖的人要么是拿了 offer 心情好,要么是挂得特别惨想吐槽,大量「二面正常发挥然后没消息」的中间态,人家根本不会发。所以看面经别看结论,看结构:面试官从哪个问题切入、追问了几层、手撕代码考的是数组还是链表。这三样才是最可迁移的信息。
薪资爆料也一样。牛客的薪资板块需要认证,真实性比匿名区高,但愿意爆的样本天然偏高薪。你看到一串数字,更应该关注的是岗位、城市、学历、年份这几个维度交叉之后的中位数,而不是那个最高值。我当年就是被一个极端值带偏了预期,谈薪时差点开高。
讨论区我建议限时看。那里的情绪浓度很高,「人均三十万」是玩梗,但看多了会真的焦虑。我现在只在两个时间点打开:投递前查公司口碑,面试后查同岗位进度。
五、几个我自己踩过的坑
一是把题量当 KPI。刷到八百题笔试照样挂的人很多,因为笔试考的是「限定时间里把输入输出写对」,这是一个工程能力,不是算法能力。
二是面经只看不整理。看十篇不如把三篇拆成表格,记录问题、追问、自己的答案缺口。
三是忽略选择题。很多人默认编程题才是分水岭,实际上 20 道选择错一半,编程全对也进不了面。
四是把牛客当成学习网站。它不是,它是一个信息基础设施——考试场地、考场回忆录、薪资样本库三合一。想学算法去 LeetCode 或者看书,想搞清楚「这家公司这个岗位今年到底考什么」,才来牛客。这两件事分开做,效率会高很多。