算法面试刷题实战
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/leetcode-algorithm-interview
技能介绍
为什么刷题数量不解决面试难题?
许多工程师在 LeetCode 刷了数百题,面试现场却仍卡壳:遇到换皮题目时无法快速识别模式,写出 O(n²) 解法后不知如何优化,甚至因忽视边界条件挂掉用例。核心问题不在于题数,而在于未建立“模式库”——面试官换的是场景,不变的是算法骨架。
技能如何将“背题”转为“建模式库”
模式归类主线
技能按 8 类核心模式组织训练:双指针、滑动窗口、DFS/BFS、动态规划、二分查找、图论、贪心、堆/优先队列。每类模式明确“典型信号”与“必会例题类型”,例如动态规划需掌握背包、编辑距离等子问题拆分逻辑,图论需熟悉拓扑排序、Dijkstra 等算法场景。
间隔重复训练
- 模式周:每周集中攻 1-2 个模式,先读“套路模板”再做 5-10 题巩固,确保模板可默写。
- 盲刷日:盖住答案重做旧题,做不出说明未内化为模式,需回看错题库。
- 模拟面试:计时 20-30 分钟口述解题(说思路→写代码→跑用例),锻炼表达与复杂度沟通。
- 错题库:每道卡壳题记录“卡在哪一步、正确模式是什么”,定期回看避免重复踩坑。
现场解题四步法
- 澄清:确认边界、输入输出、约束(如
n范围决定能否用O(n²))。 - 模式匹配:先想“这像我库里哪个模式”,而非直接写代码。
- 先暴力后优化:先给
O(n²)保底,再聊优化到O(n log n)。 - 用例验证:手跑 1 个普通例 + 1 个边界例(空/单元素/重复)。
适用边界与注意点
技能聚焦于算法面试备考方法,不涉及具体岗位 JD 分析。不同公司考察重点差异较大,建议结合目标公司官方说明调整练习重点(如部分公司侧重动态规划,部分侧重图论)。此外,技能无法替代实际编码能力训练,需配合每日编码练习使用。
使用场景
- 面试准备:算法面试前的准备阶段,需要把零散刷过的 LeetCode 题按双指针、动态规划等模式重新归纳,形成可默写的代码模板
- 模拟面试:面试现场需要在 20-30 分钟内口述解题思路、写代码并跑用例,锻炼复杂度沟通与边界用例验证能力
- 盲刷日:复习阶段需要盖住答案重做旧题,若做不出则说明未内化为模式,需通过错题库记录卡壳点并定期回看
- 现场解题:面对换皮题目时,需要先澄清边界与约束,再匹配模式,先写暴力解保底再优化,避免死磕一题超时
适合人员
- 准备跳槽的后端开发工程师,希望在算法面试中快速识别滑动窗口、拓扑排序等题型,避免换皮题目卡壳
- 应届毕业生正在准备大厂校招,需要从背题转向建模式库,提升动态规划等难题的现场解题能力
- 在职工程师计划刷 LeetCode 但缺乏方向,需要按模式归类题目并建立间隔重复计划,解决刷题没效果的问题
- 面试候选人希望改善解题表达,需要通过计时口述模拟面试,锻炼说思路、写代码、跑用例的完整流程