50 道大厂面试必刷题,编辑部按重要性精选排序,每题点明核心考点,让准备时间有限的求职者把每小时的投入回报最大化
本路径由编辑部从多年大厂面试题讲解经验出发人工精选 50 题,并按「编辑精选度」(★1-5)排定优先级——这是编辑部基于题目重要性与考察价值的定性判断,不代表任何精确统计。三档:★★★★★ 编辑首推必刷、★★★★ 重点推荐、★★★ 进阶补充,相关题型在同档内聚类,帮你吃透一个套路后趁热打铁。每道题的「桥接说明」直接点名核心技法与面试考察意图,读完即知考点所在。
适合:时间紧、要先吃下最高 ROI 题的求职者
这一批是出现频率最高的数组与哈希题。two-sum 是哈希表换时间为空间的范式,3sum / 盛水 / 接雨水三题连续考察双指针的不同变形,maximum-subarray 是 Kadane 算法的最经典载体。面试出现概率极高,几乎每场必备。
哈希表以 O(1) 查找补数,将 O(n²) 暴力降为 O(n);「用空间换时间」的基础范式,各大厂必考开场题。
Kadane 算法:cur_sum 变负则重置为 0,只保留正贡献;考察线性 DP 的化简直觉,DP/贪心双解法都是面试亮点。
排序后对撞双指针:外层固定一端,内层 left/right 逼近;去重逻辑是核心考察点,面试中 3sum 变体极其常见。
前后缀乘积分两次扫描,无需除法且空间 O(1);考察「分治前后缀」思想,面试中常禁止用除法以确认是否掌握该方法。
对撞双指针:短板决定高度,移动较短那侧才有可能更大;面试常要求证明贪心正确性,需口述「移动长边不可能更优」。
单调栈 / 双指针两种解法均高频考察;核心公式 min(leftMax, rightMax) - height[i] 是接雨水的通用模板。
以排序后字符串为 key 做哈希分组;考察哈希设计能力,是字符串哈希类题的代表,互联网厂频繁出现。
链表反转、合并、快慢指针环检测是链表题的三大骨干;二叉树层序遍历和最近公共祖先是树题的必考双子星;LRU 缓存是系统设计与数据结构综合题的头号代表。这七题在字节、腾讯、美团等国内大厂面试中出现频率极高。
prev/cur/next 三指针就地翻转;链表题的基础模板,几乎所有复杂链表题都依赖此框架,面试出现率接近 100%。
dummy 头节点 + 双指针归并;面试高频,也是 merge-sort 链表版的核心子程序,考察 dummy 节点消除边界的意识。
Floyd 快慢指针:fast 走两步 slow 走一步,相遇即有环;是快慢指针最基础的应用,面试必问经典。
BFS 队列逐层展开,每层弹出前记录 size;层序遍历是二叉树 BFS 的标准模板,右视图/锯齿形等变体均从此扩展。
后序递归:左右子树各返回找到的节点,当前节点同时在左右找到则为 LCA;面试考察树形递归的设计与返回值语义。
哈希表 + 双向链表实现 O(1) get/put;考察数据结构设计综合能力,系统设计 + 编码双考场,大厂高频不过之一。
一次遍历维护历史最低价 minPrice;DP 入门题,也是贪心与 DP 等价的典型,每场面试几乎必出或作为热身。
有效括号是栈的最典型入门题;最小覆盖子串和无重复字符子串是滑动窗口的两种模式(变长/定长);搜索旋转排序数组是二分的高频变形;数组第 K 大元素考察快速选择与堆两种流派。
遇左括号入栈,遇右括号弹栈比对;栈的最经典使用场景,字节/腾讯面试必考,变体题(带通配符、多层嵌套)均从此扩展。
变长滑动窗口:哈希记录字符最新下标,窗口左端跳过重复位置;滑窗的「左端收缩」范式,是所有变长滑窗题的基础框架。
变长滑窗:right 扩 window,满足覆盖后 left 收缩取最短;need/window 双计数是此类题的核心模式,面试最高难度滑窗题之一。
快速选择(partition)平均 O(n);与小顶堆 O(n log k) 解法是面试中考察算法选型的经典对比,Top-K 类题的门面。
先判断哪半段有序再缩范围;旋转数组二分是对「单调性前提」的刁钻破坏,面试最高频的二分变形题之一。
岛屿数量、课程表是图/网格 DFS-BFS 的两大原型;全排列和组合总和是回溯树的代表题;合并 K 个链表是堆应用的高难压轴。
网格 DFS 染色:遇 '1' 则 DFS 将连通陆地全标为已访问;连通分量计数范式,图/网格 DFS 的最高频入口题。
拓扑排序(BFS Kahn 算法)检测有向环;考察图的依赖关系建模与拓扑排序,系统依赖/编译顺序等实际场景直接映射。
小顶堆同时维护 K 个链表头,每次 O(log K) 弹最小节点;考察堆的应用与链表合并,是堆 + 链表的综合高难题。
回溯树:used 数组标记已选元素,递归到叶节点时收集结果;全排列是回溯的最基础模板,所有排列组合题均从此框架变形。
回溯 + 允许重复选取:start 指针防止顺序重复,target 递减至 0 即收集;组合类回溯的标准模板,子集/组合题的前置。
网格回溯:DFS 四方向探索,visited 矩阵防止重走;考察回溯在二维网格上的写法,Trie 优化版(word-search-ii)是进阶。
回溯剪枝:open 余量 > 0 才加左括号,close 余量 > open 余量才加右括号;括号生成类经典,考察对回溯剪枝条件的设计。
爬楼梯和打家劫舍是一维 DP 入门双子星;最长递增子序列和编辑距离是 DP 中难度最高的两道频繁题;零钱兑换是完全背包的模板题;最长公共子序列是二维 DP 的面试高频题。
dp[i] = dp[i-1] + dp[i-2];Fibonacci 型 DP 的最简形式,面试常作热身,变体含「跳 k 步」/「含花费」,需能即时扩展。
dp[i] = max(dp[i-1], dp[i-2] + nums[i]);间隔选取的一维 DP,两变量滚动即可 O(1) 空间;环形/树形版本是进阶考察。
O(n log n) 耐心排序(贪心 + 二分维护 tails 数组);考察 DP 的优化意识,能口述 O(n²) 再推导 O(n log n) 是面试加分项。
完全背包:dp[j]=min(dp[j],dp[j-coin]+1);初始化 +∞ 与正序遍历是细节考点,背包问题最高频变体。
二维 DP:dp[i][j] 对应插入/删除/替换三操作的最优子结构;是 DP 中最具代表性的二维状态题,字节/腾讯面试高频出现。
二维 DP:字符相同则 dp[i][j]=dp[i-1][j-1]+1,否则取上/左最大;LCS 是二维 DP 的最基础原型,是 diff/编辑距离的前置题。
同时维护 maxProd 和 minProd(负负得正);Kadane 变体,负数翻转是核心考点,与 maximum-subarray 对比讲解效果最好。
链表中的环入口、排序链表、复制随机链表是链表进阶三题;二叉树最大路径和与序列化是树形 DP 和递归设计的高难题;滑动窗口最大值是单调队列的代表;前 K 个高频元素是堆 + 桶排序的综合。
快慢指针相遇后,一个回头、一个不动,同速再走相遇处即入口;数学推导是面试考点,需能白板推导「为什么从 head 同速出发」。
后序递归返回「单侧最大贡献」,当前节点考虑「过自身的路径和」更新全局 ans;树形 DP 的典型,考察返回值设计与全局变量维护。
前序遍历序列化,以 '#' 标空节点;反序列化用队列/指针逐步重建;考察树的完整设计能力,是系统设计与递归的综合压轴。
单调递减队列:新元素入队前弹出所有更小元素,队头即当前窗口最大值;单调队列模板题,面试考察概率高于单调栈。
小顶堆维护 K 个最高频元素,或桶排序 O(n);与 kth-largest 形成「Top-K 双题组」,面试常一起考或变形出现。
前缀和差值查哈希:pre[j]-pre[i]=k,以 pre[j]-k 为 key 查计数表;子数组求和的通用范式,面试必会。
这一档题在中等频率面试中常见,通常作为第二道或第三道题考察。多数题考察某一具体技法的掌握深度,或作为高频题的变体出现。
按左端点排序后线性扫描,前一区间右端点 >= 当前左端点则合并;区间合并范式,是 meeting-rooms-ii/插入区间等题的前置基础。
先转置再水平翻转,两次 O(n²) 扫描原地完成 90° 旋转;矩阵原地变换的经典套路,面试考察空间 O(1) 解法。
两次二分分别找左边界和右边界;考察二分边界的精准处理,是「搜索插入位置」的进阶版,面试中常要求手写两次 binary search。
中心扩展:以每个字符(奇)和相邻字符对(偶)为中心向外扩;O(n²) 解法即可通过,Manacher 是进阶加分,面试考察回文技法。
从右找第一个「下降点」,再从右找比它大的最小值交换,最后反转后缀;字典序下一排列的标准算法,考察对数组「局部结构」的分析。
荷兰国旗三指针:low/mid/high 三端维护三色分区,一次扫描完成原地排序;经典三指针题,是快速排序 partition 步骤的独立提炼。
这一组题覆盖树的构造与 BST 特性、图的拓扑排序进阶、以及几道考察综合设计能力的题。通常在 45 分钟面试的第二道或 onsite 第三轮出现。
前序首元为根,在中序中定位根索引分左右子树;递归重建二叉树,考察对前/中序遍历性质的深度理解,是树题中难度适中的常考题。
传递 min/max 边界参数递归校验,而非仅比较父子两节点;BST 合法性检验的经典陷阱题,考察对 BST 全局有序性的理解。
TrieNode 含 children[26] 和 isEnd;字典树标准实现,autocomplete/word-search-ii 等应用题的基础结构。
栈维护「数字 + 当前字符串」对,遇 ']' 弹栈拼接重复;嵌套结构展开的经典栈题,面试中考察栈对递归语义的模拟能力。
小顶堆维护进行中会议的结束时间,贪心分配最早结束的房间;堆 + 区间调度的实际应用,考察贪心与优先队列结合的工程直觉。