面试150刷题第七周:从模板依赖到综合题题感的实战进阶方案

发布时间:2026/10/14 23:26:09
面试150刷题第七周:从模板依赖到综合题题感的实战进阶方案 很早就听说“面试150”是不少人备战算法面试的标配但真正自己刷到第七周才发现这个阶段和前面几周完全不同——它不再考查你“会不会背某类模板”而在检验你“能不能在陌生题面前稳住思路”。第七周恰恰是大多数人容易中途放弃的节点前几周的新鲜感已经耗尽刷题手感又卡在“一看就会、一写就废”的瓶颈。这篇文章就聊聊我在第七周的实际感受、踩过的坑以及一套可以照抄的执行方案给同样在坚持刷“面试150”的朋友一点参考。前六周把数组、链表、哈希表、二叉树这些基础轮完之后第七周内容普遍开始进入综合题和偏难题比如回溯、DP进阶、复杂区间处理、双指针的变体。这些题目不再是单一技巧能解决的面试中问到的可能性反而比基础题更大因为面试官想知道你能不能把零散的知识点串起来。同时第七周也更需要你自己安排节奏因为很多人在这一步陷入“盲目刷题不复盘”的恶性循环。1. 面试150的第七周这一阶段在整体计划中的位置与打法1.1 为什么第七周最容易让人放弃或者说最容易让人“白刷”我自己体会下来第七周有一个很隐蔽的陷阱知识量开始叠加。前面的题目看到数组就能想到双指针看到链表就能想到dummy节点套路相对固定但到了第七周题目往往同时涉及排序、去重、hash统计和边界收缩没有一道题是“单一技巧”能解的。这种情况下单纯增加刷题数量已经无法形成进步反而会不断打击信心。我第一次刷到第七周时一度觉得自己“不会做题了”。后来复盘发现问题不是我不会而是没有转换策略前六周是在学“知识点”第七周开始是在练“题感”。题感这东西没法靠看题解获得必须靠限时训练和反复总结。如果不建立一套针对“综合题”的打法很容易陷入“这道题见过但当时怎么写来着”的尴尬状态。第七周真正要做的不是再做150道新题而是把前面会的东西“压迫”出反应速度。我当时给自己定的目标是不看标签、不看提示、不看题解先能在25分钟内写出一版有思路但可能不完美的解。这个目标比“做完多少题”现实得多也更能模拟面试状态。1.2 第七周的复习范围如何划定集中轰炸还是穿插推进有人喜欢第七周专门找一个薄弱板块猛攻比如一周全做回溯也有人喜欢每天按“1道旧知识点3道新综合题”的节奏穿插。两种我都试过最后偏向后者原因是综合题对多个知识模块的熟练度要求很高如果一周只看回溯其他模块的状态会掉得很快。我第七周的分配思路是这样的周一到周四每天精做4道题其中2道是新题2道是前几周已经做过的旧题重写。旧题重写不是默写而是遮住题解和曾经提交的代码从头写起写完再对照哪里不一致。周五和周六做一次“模拟面试套餐”固定在上午九点半开始把一套题控制在90分钟内用手机秒表倒计时尽量还原面试压力。周日只做一件事把这一周所有做错或者超时的题目统一过一遍按照“题型错因正确思路”三个维度整理进一张表格。这个组合让我在第七周结束时不仅没有丢掉前面的基础反而在综合题上找到了手感。你可以根据自己前面的薄弱点调整新旧题比例比如链表不熟就多插一天重写快慢指针但不要连续一周只做同一类题那对面试帮助不大。2. 第七周常见题型归类与解题框架拆解2.1 回溯与状态重置不画递归树基本做不对第七周大概率会碰到比较深入的回溯题比如排列、组合、子集、分割以及它们在“去重”条件下的变体。回溯本身不难理解难在两件事一是递归状态怎么恢复二是重复解怎么剪掉。先说状态重置。我见过很多朋友写着写着把临时数组里的元素清空得乱七八糟要么漏了pop要么clear得太早。建议所有用回溯的题都遵循一套固定动作标记使用 - 递归 - 撤销标记。这套动作写在代码里就是对称的比如添加路径和弹出路径在结构上必须成对。每次写完后可以自己在脑海里跑一遍递归树的最小分支确保reset逻辑没有漏。去重方面最常见的是“同层去重”和“同枝去重”的区别。同层去重主要防止出现“1,2”和“2,1”这种排列里重复的枝同枝去重防止同一个元素被用两次。一个很实用的判断方法是看题目允许结果无序还是有序、允许重复元素还是不允许。如果允许重复元素但结果不能重复通常需要先排序再用同层去重如果不允许重复元素可以用visited数组或set标记同枝状态。如果你把回溯题当成“暴力枚举优化版”去理解心态会好很多。第七周做这类题的关键不是追求写出最优解而是保证在25分钟内能画出清晰的搜索树并且代码不出错。哪怕当时的解不是复杂度最优面试中也比“只会背模板一改边界就死”强百倍。2.2 动态规划的进阶状态定义从“会写”到“会猜”第七周的动态规划大概率不满足于斐波那契、爬楼梯这类简单递推了而是会碰到“二维状态”“带有选择的DP”“需要看清状态的转移方向”等题目。这类题最典型的特点是如果你把状态定义对了代码也许只要十行定义错了怎么写都过不去。我的经验是状态定义里一定要包含“截至目前”这个意思然后想清楚当前这一步依赖的是哪一步。比如背包类问题状态行代表的是“前i件物品中选若干件容量为j时的最大价值”后面的转移就是拿或不拿。再比如区间DP重点是考虑最后一步操作的是哪一段区间然后分成左右两半递归求解。第七周很多人死在“对拍样例就错”其实是状态定义里漏掉了题目中的限制条件。例如题目中限制“不能连续选取”你状态里顶多需要多一个维度的布尔字段来记录上一步是否被选中但如果不加样例看起来没事改成长用例就会炸。每定义一个DP之前可以先用一个小例子手动跑一遍看状态是否覆盖了所有决策分支。另外第七周还适合检验一下自己有没有“DP模板化依赖症”。如果你看到题脑子里只有“定长度”“开二维”“找最大”说明还没有形成从题目场景推导状态的能力。这个能力在面试现场非常宝贵如果自己练可以在每道DP题后面加写两句话一句写“为什么是这个状态”另一句写“如果换一种状态定义行不行”坚持一个星期状态定义的敏感度会上来很多。2.3 区间合并与滑动窗口边界条件就是得分点第七周的综合题里区间合并和滑动窗口这类“边界密集型”题也经常出现。它们的难点不是思路而是把边界写对。比如区间合并最简单的做法是排序后逐个比较但比较条件到底是“当前段的开始 已有段的结束”还是“大于等于”会直接影响结果。我的习惯是先把“判断是否相交”这个条件单独抽成一个函数然后在函数里把所有可能情况列清楚相交包括“完全包含”和“部分重叠”也包括“相邻但不重叠”这种边界。实际调试时用一组区间列表手工跑一遍能提前发现很多隐藏条件。还有区间题的排序一定要写清楚是“按开始升序开始相同按结束升序”否则后续合并逻辑会乱。滑动窗口的重点则不在于窗口本身而在于什么时候收缩窗口、什么时候更新答案。如果题目要的是“最长子串”窗口收缩条件可能是“出现重复字母”如果题目要的是“最小覆盖子串”收缩条件则可能是“当前窗口已经包含全部目标字符”。每次移动右边界时更新状态满足条件后尝试收缩左边界并更新答案。我见过的错误大多是更新答案的位置不对要么只在收缩后更新要么只在扩张后更新导致一个Case漏解。这类题特别适合用“固定模板可变条件”的方式训练。先写死一个窗口框架右边界遍历、维护状态、尝试左边界收缩、更新答案。然后把不同题目的差异只塞进“维护状态”和“收缩条件”两个部分。到第七周最后几天一看到滑动窗口就直接在纸上画这个框架完全不需要临时想结构。3. 第七周实操记录我在一周内如何执行和调整3.1 每日执行方案与时间分配从盲目堆量到精确控制第七周要想有质量地完成不能没有安排。我给自己定的每天刷题窗口是晚上八点到十点半全神贯注不看手机不划水。第一个小时用来做新题第二个小时完成旧题重写和错题整理。具体分工可以参照下面这张表在不同时间点执行的目标完全不同大块时间不要盲目堆量。时段任务具体目标20:00 - 20:45新题限时在没有提示的情况下25分钟尝试写出一版可行解20:45 - 21:00短复盘对照题解差距记录卡壳环节21:00 - 21:45旧题重写遮挡上次代码写出至少2道前几周的题21:45 - 22:30错题归仓整理当天错因更新问题清单这个安排的核心是把“新题”和“旧题”隔离成两个时间块。如果先做旧题再写新题容易形成惯性思维先做新题能模拟面试的应激反应。实际操作下来效率比之前瞎刷高了很多因为每一段时间都有明确的目标也就不容易因为一道难题卡住浪费整个晚上。有个朋友问我为什么晚上下班后还能坚持这么长时间。说实话第七周的状态肯定不如第一周但关键是“开始动作”要足够轻。我把所有东西提前准备好到点直接坐在电脑前做的第一件事不是打开题测而是默写一遍最近三天整理过的解题框架口述稿相当于热身。一套熟练的动作下来身体会自动进入状态。3.2 模拟面试实操90分钟套餐带来的真实反馈周末的模拟面试是我第七周最受益的环节比做十道新题都有用。我在周六上午给自己布置了一套自拟的“综合套餐”两道中等题、一道困难题限时90分钟全程不开题解、不看讨论区也没看标签。第一道题是典型的“状态设计边界处理”类题目我用了20分钟完成思路很顺。第二道题涉及数据结构的组合我一开始想偏了来回改了三次才把边界理顺耗时偏长但至少最后代码逻辑是对的。第三道题属于“思路见过、代码不熟”的类型我在45分钟的时限内只写出了半解时间到的时候手都在抖因为真实面试那种紧张感会放大不熟练的地方。做完之后我做的第一件事不是评判对错而是给自己写“现场诊断记录”第一题为什么能秒因为前两天刚重写过类似的旧题说明存量复习有效。第二题为什么卡因为我在状态定义和边界条件之间来回犹豫真正的错因还不是不会而是没有在一开始就列出边界Case清单。第三题为什么写不完很坦率地说是平时练这类题时的练习量不够总觉得自己“看懂了”但没“写熟”。如果你也在刷面试150第七周建议至少做一次这样的模拟别管是周末的哪个半天。真正的面试压力在于“当场联想相似题目”能力和“不完美状态下完成任务”能力这两件事只有模拟才能训练。没有计时环境的刷题只能叫练习不能叫备考。3.3 周日错题归仓一周的收获都藏在错误里周日不写新题这是我第七周立下的规矩也是执行得最彻底的一条。前面六周我周日也刷题刷完发现下周学到的新东西并不比周中多因为大脑没有时间消化。第七周改成“归仓日”把一周的错题和超时题全部拿出来按下面的表格整理效果立刻不一样。题目特征错因分类动作回溯去重漏了同层剪枝模板细节不熟重写一次并手画递归树DP状态定义偏差状态含义理解偏差写“为什么选这个状态”的笔记滑动窗口更新答案位置不对模板和场景不匹配用最简单Case手动跑一遍全流程字符串处理边界漏了空串边界考虑不全增加边界Case清单并保存到错题集错题归仓不是让你把所有代码再看一遍而是把每道错题的“错误类型”归纳到大类里去。到了第七周你会发现大部分错误集中在一两个大类里。比如我的大类是“回溯去重”和“DP状态定义”这就说明后续不用继续扩大题目范围只需要针对这两个大类各找几道近似的题进行限时专项训练即可。整理时我还会顺手给每周题目编号比如“W7-02”然后在题解旁边写“何时再刷”——大多数写的是“一周后”少数特别典型的写“三天后”。这样到了第八周我一眼就能知道哪些题需要优先复习。如果你能做到这一步就摆脱了“刷过等于会做”的假象进入了真实的掌握阶段。4. 第七周专题常见问题与排查技巧速查4.1 刷了很多题但脑子还是“空”的第七周最常见的抱怨就是“明明做了很多题怎么碰到新题还是没思路”。出现这种情况通常不是因为刷得不够而是缺少两件东西归类系统和针对弱项的刻意练习。归类系统就是你在第七周之前就必须把“见过的题”按考点、题型、使用场景卡片化整理。比如看到“求最长窗口”你要习惯性地关联“滑动窗口”和“单调队列”看到“字符串是否可由字典拼接”就跳向“动态规划或记忆化DFS”。没有这个映射每道题都是孤零零的例子自然很难迁移到新场景。刻意练习则是针对自己的弱项而不是永远捡软柿子捏。我第七周单独抽出两个晚上只刷回溯去重相关题型不碰其他题。每次做完回顾一下“去重条件是从排序来还是从visited标记来”两天后这个考点的质变非常明显。想摆脱“脑子空”这两个缺一环都不行。4.2 一题多解时面试到底该讲哪一种第七周的题目往往有多个解法比如哈希计数、排序双指针、二分答案等很多人纠结面试时“哪种才是最优解”。我的看法是面试讲的应是“你首先能想到的、复杂度合适的解”然后主动提一句“还有更优方案但当前先实现这个”。当然如果你面对的是一道模板型中等题建议在15分钟内让一下直接讲最优解会让面试官觉得你准备充分。而对于第七周阶段的“偏难题”先给出一个可运行的正确解比“追求最优但写不出来”好一百倍。面试官更关心你的思维过程而不是只看复杂度。所以平时练题时也不需要强行记住每个解法的优化版本但至少要能说出“为什么暴力解复杂度高”“换成哈希/排序能优化在哪一步”。这个“能说清楚取舍”的能力恰恰是第七周多题同解的题中最该学会的东西。4.3 看题解五分钟代码写两小时还有一群人卡在“看题解已经懂了但关掉题解自己写就白纸”。这不是学习态度问题而是“被动理解”与“主动实现”的差距。第七周最适合修正这个习惯把看题解的时间改成“看思路概括”“看复杂度目标”然后自己补全代码细节。具体方案是先看题解中的前五句话只看“用什么方法”“状态怎么定义”“关键判断条件是什么”接着就把题解关掉自己开始写。第二十三分钟写不出来再回来看特定片段而不是从头看一遍。这样做一方面保留了思考量另一方面也让题解的“拐杖”逐步变细。我在第七周看题解的原则是每次最多看三句话所有核心逻辑必须自己落笔。几天之后写代码时那种“对着题解才能写”的依赖感会下降很多。也许你不是“不会写”只是被“现成答案”养懒了。4.4 时间不够如何保证一个月后的手感第七周每天的刷题时长如果实在凑不出来我建议优先压缩“新题量”保留“重写旧题”环节。哪怕晚上只有45分钟也宁可写两道前几周的高频题也不要写四道新题然后草草对题解。因为面试时最能给你信心的往往是已经做过的、反复写过的“个人题库”。你会隐隐记住“这道题用双指针”“那个边界加个判断”这些在面试中出现时几乎等于送分题。第七周的重写旧题就是利用“间隔复习”原理把短期印象转化为长期记忆。如果时间真的紧张还可以把一些简单题的“口述解法”变成通勤时的音频或文字笔记而不是手打代码。比如在脑子里把关键步骤过一遍相当于一次“模拟面试口述”。别小看这个动作它能把碎片时间变成重复记忆的训练场。4.5 心态崩了怎么办允许自己写不快第七周很多人心态崩不是因为题难而是因为“对进步的感受变淡”。前几周每天都能做出几道新题成就感显而易见到第七周做三道题也许错两道心态很容易崩。我对付这种状态的办法很简单给自己定“过程指标”而不是“结果指标”。比如今天的指标是“能用双指针想出一种解法并且说出复杂度”而不是“提交通过”。这种指标不依赖结果也不会每次都让你失望。连续几周坚持下来你回顾时就会发现虽然单日成功率不高但整体解题思路的瓶颈一次比一次低。我也在第七周允许自己“写不快”。如果一道题明显超时且没有思路我会主动停笔在笔记里写“现有思路是XX卡在XX需要补的是XX”然后去做别的题。第二天回来再看往往很快就有切入点。这个“搁置再回看”的过程跟面试中卡住后重新审题的感觉很像练多了应对面试卡壳时也会更淡定。5. 第七周收尾心得与后续安排第七周刷完我做了一件之前六周都没做过的事把前七周的错题清单全部打印出来找了一天晚上按“题型”分类又按“远近”排序。离今天近的题优先限时重写离今天远的题只翻看“错因”和“解题思路一句话”。这相当于一次“总复习前的扫描”让我心里非常有底。另外第七周我还发现“讲题”是很好的检验方式。每做完一道关键题我可以试着把思路讲给一个完全不懂算法的人听。如果他能听懂说明我的思路是真的清楚如果讲着讲着自己都绕回去那说明这个知识点还需要下沉。这个习惯不需要额外时间只要在做题后花五分钟自言自语即可。如果你现在正处在第七周或者还没有开始第七周我的建议是不要贪多求快。把“每周通关”从“做了多少道题”改写成“建立并完善了多大规模的错题体系”这个转变虽然慢但会让你的准备真正可持续。后面几周的强度只会更高第七周养成的这套节奏远比你多刷十几道题珍贵。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询