8 月下旬的笔试日历是真的密。京东笔试排在 8 月 22 日。小红书百度秋招机考 8 月 20 日刚考完一批、27 日还有下一批。米哈游的 8 月笔试新题解析也已经刷满了小红书,技术岗还加试 C++ 算法编程。小红书
社交平台上"假如从 8 月 22 号开始刷 LeetCode"的帖子,当天就有十几个人收藏。小红书"开始刷 LeetCode|Day 1:两数之和"这样的打卡帖,一晚上就能攒 18 个赞。小红书
也就是说,现在有一大批人,是刚收到笔试通知、或者刚被笔试教育完,才真正开始动手刷题的。
这个时间点最忌讳的就是盲目从第一题开始硬刷。力扣题量已经超过 3700 道,你只有一个多月。小红书第一个要回答的问题其实是:时间优先砸给哪个类别?
把几份主流题单和社区面经统计放在一起看,答案高度一致:数组。
为什么笔试总爱考数组
先看三组能交叉验证的数据:
第一组,官方题单的分类结构。 力扣 Hot 100 里"普通数组"分类正好是 5 道题。知乎最大子数组和(53)、合并区间(56)、轮转数组(189)、除自身以外数组的乘积(238)、缺失的第一个正数(41);旁边的"子串"分类 3 道题(和为 K 的子数组、滑动窗口最大值、最小覆盖子串)本质也是数组上的双指针。再把散落在哈希、双指针、动态规划分类里以数组为载体的题算上——两数之和、三数之和、接雨水、买卖股票——连同矩阵(其实就是二维数组)题,差不多五分之一的 Hot 100 都绕着数组转,是涉及题量最大的单一数据结构。
第二组,面经聚合的高频榜。 有人把牛客、知乎、CSDN、GitHub 的面经帖做了综合统计,排出的"极高频 10 题"里,两数之和、最大子数组和、买卖股票的最佳时机三道都是数组题。知乎按题型重要度排序时,双指针、哈希这类"数组上的操作"也全部排进了前列。
第三组,CodeTop 这类按公司聚合的面试频率库。 它按公司维度给每道题排频度,社区里流传的"手撕要点复习"基本都按"频度大于 250"来筛题。知乎筛出来的清单里,数组题依然是占比最高的底子。
三个角度指向同一件事:数组题是笔试的"底噪",几乎每场都考。原因也不难理解——数组输入格式最简单,不用讲链表指针、不用建树,面试官可以在同一道题上不断加约束来拉开区分度:先让你暴力解,再要 O(n),再要 O(1) 空间。一道两数之和,能筛掉一半人;加个"原地"约束,又能筛掉一半。

数组题的六个套路:看题干就能猜到解法
数组题看着花样多,其实解法信号非常集中。把套路认全,比多刷 30 道题更有用。
1. 哈希换时间。 题干出现"找出和为 target 的两个数""是否存在连续序列"这类查找需求,先想哈希表。两数之和(1)就是标准模板:遍历数组,查 `target - num` 在不在表里。最长连续序列(128)同理。
2. 对撞双指针。 题干带"有序数组"“两个数的关系”"面积/容量"字样时,大概率是左右指针往中间逼。三数之和(15)= 排序 + 固定一个数 + 对撞双指针;盛最多水的容器(11)= 谁矮谁移动。

3. 快慢双指针(原地处理)。 “原地删除”“去重”"移动零"这类要求不额外开空间的题,就是一个快指针探路、一个慢指针收集结果。移动零(283)、删除有序数组中的重复项(26)都是这个模子。
4. 滑动窗口。 题干出现"连续子数组/子串 + 最长/最短/满足条件",直接套窗口:右指针扩张找可行解,左指针收缩找最优解。无重复字符的最长子串(3)、和为 K 的子数组(560)都在这个家族。
5. 前缀和 / 前后缀预处理。 “除自身以外”"子数组的和"这类不能直接遍历解决的,先想能不能预处理出前缀信息。除自身以外数组的乘积(238)= 前缀积 × 后缀积;和为 K 的子数组 = 前缀和 + 哈希。
6. 下标当哈希用。 这是困难题最爱考的阴招:题目限定 O(1) 空间,且数值范围恰好落在 [1, n],那就把数组本身当哈希表,用下标标记存在性。缺失的第一个正数(41)是代表——把值 `x` 搬到下标 `x-1` 的位置,再扫一遍找第一个不匹配的。知乎
记不住这么多也没关系,真正要带走的是这个判断方式:拿到题先别写代码,先问自己"题干里的约束(有序?原地?连续?范围?)在提示哪个套路"。笔试考的不是智商,是模式识别。
值得刷的题,分三档
时间不够是常态,所以题也要分优先级。下面按"考到必须写出来 / 考到能认出套路 / 可以先放放"分三档:
第一档:必须形成肌肉记忆(约 10 题)
两数之和(1)、最大子数组和(53)、买卖股票的最佳时机(121)、三数之和(15)、合并区间(56)、移动零(283)、无重复字符的最长子串(3)、两数之和 II - 输入有序数组(167)、轮转数组(189)、爬楼梯(70,虽然是 DP 但常和数组题混出)。
这几道是面经统计里的"极高频"区,要求不是"会做",而是 20 分钟内一遍过、bug free。以轮转数组为例:额外数组、循环位移、三次翻转三种常见解法时间复杂度相同,空间开销却不一样,把三种写法在纸面并排过一遍,才算真的熟。

第二档:要能认出套路,写出思路(约 6 题)
除自身以外数组的乘积(238)、接雨水(42)、滑动窗口最大值(239)、缺失的第一个正数(41)、乘积最大子数组(152)、最大子数组和的环形变体。
这一档是笔试拉开差距的题。时间不够时,至少要能在考场上说出"这是前缀积"“这是单调队列”,把部分分拿满。
第三档:时间真的不够可以先跳过
各种博弈类、构造类数组题,以及纯 Hard 的区间 DP。秋招笔试的算法题大多是 2~3 道、难度 Easy 到 Medium 为主,把前两档吃透,覆盖率已经足够高。
突击节奏,以及三个花钱花时间的大坑
时间实在紧张时,分轮刷是被秋招人亲身验证过的路线——小红书就有人排出"第一轮每天 5 题、第二轮 10 题、第三轮 20 题"的三轮计划,一个多月刷完 Hot 100。小红书如果只剩两周,可以排得更紧:
第 1~3 天:每天 3 题,只做第一档,每题限时 25 分钟。卡住就看题解,看完合上,第二天早上默写一遍——默写不出来等于没做。知乎
第 4~7 天:按"套路"而不是按题号刷,一天专攻一个套路(比如今天全是滑动窗口),把 6 个套路过完一轮。
第 8~14 天:混合模拟。每天随机抽 2 题 + 1 道前几天的旧题重写,模拟笔试的"不知道考什么"状态。同时把目标公司近半年的笔试真题(CodeTop 按公司筛)过一遍。
三个坑,社区里年年有人踩:
坑一:只看不写。 知乎上有个高赞讨论,“刷力扣老是看题解才能写,是不是废了”。高赞回答很直白:理解是跟着走,写出来是自己在开路。知乎看懂和会写之间隔着一次独立默写,题解看懂只花 10 分钟,独立写出来才算入账。
坑二:花钱买突击课。 刷题这件事,免费资源已经完全够用:Hot 100 题单免费,CodeTop 免费,社区面经免费,B 站上单题讲解视频一抓一大把(讲 238 除自身以外数组乘积的单个视频就有几千收藏)。几千块的"算法突击班"在这个阶段买不到任何增量信息,买到的只是焦虑。
坑三:按题号从头刷。 从第 1 题开始顺序刷,是效率最低的路径。刷题过来人也说得直接:按题号顺序刷效率太低,按题型分类会更科学。小红书题库顺序和考察频率没有任何关系,先刷高频、按套路聚类,是面经里反复被验证的路线。
怎么判断自己刷到位了
给三个可自测的信号:
随机抽第一档的题,不借助任何提示,15 分钟内写出能跑通的代码;
看到一道新题,能在动笔前说出它属于六个套路里的哪一个;
三天前做过的题,现在重写不需要看题解。
第三条其实最难达标:遗忘曲线很陡,当时完全看懂的解法,不复习的话记忆留存率几天内就会掉到一半以下,所以上面的节奏里旧题总是被安排重写。

三个都满足,笔试这一关基本稳了;满足不了,说明还在"看懂了"的幻觉里,继续按上面的节奏补。
最后留个继续观察的线索:笔试季每周都有新场次,百度 27 日还有一批,后面还有各家提前批转正的补录场。刷题间隙多刷一眼牛客和目标公司官号,考过的同学发出来的真题回忆,比任何题单都准。
祝各位笔试都能 AK。