大厂高频题,按热度排序。分三部分: 总览见 算法总览(框架思维 + 学习路径 + 方法论)。
- A. 高频算法题:刷题优先级,从上往下刷。
- B. 高频八股题:背诵优先级,自上而下过。
- C. 各公司风格与高频方向:针对性准备。
热度 ★★★★★ 几乎必考 / ★★★★ 高频 / ★★★ 常见。 公司标注为大致倾向,以实际为准:[阿里][腾讯][字节][美团][百度][京东][拼多多][滴滴][网易][快手]。 八股详见 社招问题知识点 枢纽;算法题详见 算法题索引。
A. 高频算法题 Top 40
题名带链接 = 已有题解(全库题解见 算法题索引);其余待补。 难度/热度/常考公司以题解元数据行为权威源,由
check_index.py校验项 N 保证一致,勿手改。
| 排名 | 题号 | 题名 | 专题 | 难度 | 热度 | 常考公司 |
|---|---|---|---|---|---|---|
| 1 | 206 | 反转链表 | 链表 | 🟢 | ★★★★★ | 全厂 |
| 2 | 1 | 两数之和 | 数组/哈希 | 🟢 | ★★★★★ | 全厂 |
| 3 | 146 | LRU 缓存 | 哈希表 | 🟡 | ★★★★★ | 阿里 字节 美团 腾讯 |
| 4 | 15 | 三数之和 | 数组/双指针 | 🟡 | ★★★★★ | 字节 美团 阿里 |
| 5 | 3 | 无重复字符的最长子串 | 滑动窗口 | 🟡 | ★★★★★ | 全厂 |
| 6 | 42 | 接雨水 | 数组/单调栈 | 🔴 | ★★★★★ | 字节 阿里 美团 |
| 7 | 25 | K个一组翻转链表 | 链表 | 🔴 | ★★★★★ | 字节 阿里 腾讯 |
| 8 | 215 | 数组中的第K个最大元素 | 排序与堆 | 🟡 | ★★★★★ | 全厂 |
| 9 | 236 | 二叉树的最近公共祖先 | 二叉树 | 🟡 | ★★★★★ | 字节 腾讯 美团 |
| 10 | 102 | 二叉树的层序遍历 | 二叉树 | 🟡 | ★★★★★ | 全厂 |
| 11 | 200 | 岛屿数量 | 图 | 🟡 | ★★★★★ | 全厂 |
| 12 | 20 | 有效的括号 | 栈 | 🟢 | ★★★★★ | 全厂 |
| 13 | 46 | 全排列 | 回溯 | 🟡 | ★★★★★ | 全厂 |
| 14 | 33 | 搜索旋转排序数组 | 二分 | 🟡 | ★★★★★ | 字节 阿里 美团 |
| 15 | 239 | 滑动窗口最大值 | 单调队列 | 🔴 | ★★★★★ | 字节 阿里 美团 |
| 16 | 76 | 最小覆盖子串 | 滑动窗口 | 🔴 | ★★★★★ | 字节 阿里 |
| 17 | 322 | 零钱兑换 | 动态规划 | 🟡 | ★★★★★ | 字节 美团 阿里 |
| 18 | 72 | 编辑距离 | 动态规划 | 🔴 | ★★★★★ | 字节 阿里 腾讯 |
| 19 | 300 | 最长递增子序列 | 动态规划 | 🟡 | ★★★★★ | 字节 阿里 美团 |
| 20 | 1143 | 最长公共子序列 | 动态规划 | 🟡 | ★★★★★ | 字节 腾讯 |
| 21 | 142 | 环形链表II | 链表 | 🟡 | ★★★★★ | 字节 腾讯 |
| 22 | 198 | 打家劫舍 | 动态规划 | 🟢 | ★★★★★ | 全厂 |
| 23 | 78 | 子集 | 回溯/位运算 | 🟡 | ★★★★★ | 全厂 |
| 24 | 207 | 课程表 | 图论 | 🟡 | ★★★★★ | 字节 阿里 美团 |
| 25 | 22 | 括号生成 | 回溯 | 🟡 | ★★★★★ | 字节 阿里 腾讯 |
| 26 | 4 | 寻找两个正序数组的中位数 | 二分 | 🔴 | ★★★★★ | 阿里 字节 腾讯 |
| 27 | 56 | 合并区间 | 排序/数组 | 🟡 | ★★★★ | 全厂 |
| 28 | 19 | 删除链表的倒数第N个结点 | 链表/双指针 | 🟡 | ★★★★★ | 全厂 |
| 29 | 739 | 每日温度 | 单调栈 | 🟡 | ★★★★ | 字节 美团 |
| 30 | 394 | 字符串解码 | 栈 | 🟡 | ★★★★ | 腾讯 字节 |
| 31 | 138 | 复制带随机指针的链表 | 链表/哈希 | 🟡 | ★★★★ | 字节 美团 |
| 32 | 148 | 排序链表 | 链表/排序 | 🟡 | ★★★★ | 字节 阿里 |
| 33 | 23 | 合并K个排序链表 | 堆/链表 | 🔴 | ★★★★ | 阿里 字节 |
| 34 | 139 | 单词拆分 | 动态规划 | 🟡 | ★★★★ | 字节 阿里 |
| 35 | 124 | 二叉树中的最大路径和 | 二叉树 | 🔴 | ★★★★ | 阿里 字节 |
| 36 | 297 | 二叉树的序列化与反序列化 | 二叉树 | 🔴 | ★★★★ | 字节 阿里 |
| 37 | 295 | 数据流的中位数 | 堆 | 🔴 | ★★★★ | 字节 阿里 |
| 38 | 460 | LFU 缓存 | 哈希表 | 🔴 | ★★★★ | 字节 阿里 |
| 39 | 32 | 最长有效括号 | 动态规划/栈 | 🔴 | ★★★★ | 字节 |
| 40 | 84 | 柱状图中最大矩形 | 单调栈 | 🔴 | ★★★★ | 阿里 字节 |
B. 高频八股题 Top 50
| 排名 | 题目 | 领域 | 热度 | 常考公司 |
|---|---|---|---|---|
| 1 | HashMap 底层原理 / 扩容 / 为何容量 2 的幂 / 1.7 vs 1.8 | Java·集合 | ★★★★★ | 全厂 |
| 2 | ConcurrentHashMap 1.7 vs 1.8 | Java·集合 | ★★★★★ | 字节 阿里 |
| 3 | 线程池 7 参数 / 执行流程 / 拒绝策略 / 为何禁 Executors | Java·并发 | ★★★★★ | 全厂 |
| 4 | synchronized 锁升级 | Java·并发 | ★★★★★ | 字节 阿里 |
| 5 | volatile vs synchronized | Java·并发 | ★★★★★ | 全厂 |
| 6 | AQS 原理 | Java·并发 | ★★★★★ | 字节 阿里 |
| 7 | ThreadLocal 内存泄漏 | Java·并发 | ★★★★ | 字节 美团 |
| 8 | JVM 内存结构 / OOM 排查 | Java·JVM | ★★★★★ | 全厂 |
| 9 | GC 流程 / G1 vs CMS / 调优 | Java·JVM | ★★★★★ | 全厂 |
| 10 | 类加载 / 双亲委派 / 破坏 | Java·JVM | ★★★★★ | 字节 阿里 |
| 11 | MySQL 索引为何用 B+ 树 | 数据库 | ★★★★★ | 全厂 |
| 12 | MVCC 原理 / ReadView | 数据库 | ★★★★★ | 字节 阿里 |
| 13 | 事务隔离级别 / 可重复读如何实现 | 数据库 | ★★★★★ | 全厂 |
| 14 | MySQL 锁(行/间隙/临键) | 数据库 | ★★★★★ | 字节 阿里 |
| 15 | redo/undo/binlog + 两阶段提交 | 数据库 | ★★★★ | 阿里 |
| 16 | 索引失效场景 / explain | 数据库 | ★★★★ | 美团 全厂 |
| 17 | 分库分表方案 / 全局 ID | 数据库 | ★★★★ | 阿里 美团 |
| 18 | Redis 五种数据类型 + 底层 | 数据库 | ★★★★★ | 全厂 |
| 19 | Redis 持久化 RDB vs AOF | 数据库 | ★★★★★ | 全厂 |
| 20 | Redis 缓存穿透/击穿/雪崩 | 数据库 | ★★★★★ | 全厂 |
| 21 | Redis 分布式锁 | 数据库 | ★★★★★ | 字节 阿里 |
| 22 | Redis 主从/哨兵/集群 | 数据库 | ★★★★ | 阿里 |
| 23 | Redis 过期 + 淘汰策略 | 数据库 | ★★★★ | 美团 全厂 |
| 24 | Spring IOC + 循环依赖(三级缓存) | 框架 | ★★★★★ | 全厂 |
| 25 | Spring AOP + 动态代理 | 框架 | ★★★★★ | 字节 阿里 |
| 26 | Spring 事务传播 + 失效场景 | 框架 | ★★★★★ | 全厂 |
| 27 | SpringBoot 自动配置原理 | 框架 | ★★★★ | 美团 |
| 28 | SpringCloud 核心组件 | 框架 | ★★★★ | 全厂 |
| 29 | MyBatis #{} vs ${} + 缓存 | 框架 | ★★★ | 美团 |
| 30 | Kafka 高吞吐原因 + 精确一次 | 中间件 | ★★★★ | 字节 |
| 31 | RocketMQ 事务消息 | 中间件 | ★★★★ | 阿里 美团 |
| 32 | 消息丢失 / 重复 / 顺序 / 堆积 | 中间件 | ★★★★★ | 全厂 |
| 33 | TCP 三次握手 / 四次挥手 / 为什么 | 网络 | ★★★★★ | 全厂 |
| 34 | TCP 滑动窗口 + 拥塞控制 | 网络 | ★★★★ | 字节 |
| 35 | HTTPS 握手过程 | 网络 | ★★★★ | 阿里 |
| 36 | HTTP 1.0 vs 1.1 vs 2.0 vs 3.0 | 网络 | ★★★★ | 字节 |
| 37 | epoll vs select/poll | 操作系统 | ★★★★ | 字节 阿里 |
| 38 | 进程 vs 线程 vs 协程 | 操作系统 | ★★★★★ | 全厂 |
| 39 | 死锁四条件 + 排查 | 操作系统 | ★★★★ | 全厂 |
| 40 | 虚拟内存 + 页面置换 | 操作系统 | ★★★ | 美团 |
| 41 | CAP + BASE | 分布式 | ★★★★ | 阿里 美团 |
| 42 | Raft / Paxos | 分布式 | ★★★★ | 字节 |
| 43 | 分布式事务方案(2PC/TCC/Saga) | 分布式 | ★★★★★ | 阿里 美团 |
| 44 | 分布式锁实现对比 | 分布式 | ★★★★ | 阿里 |
| 45 | 限流算法(令牌桶/漏桶) | 系统设计 | ★★★★ | 字节 美团 |
| 46 | 一致性哈希 | 分布式 | ★★★ | 美团 |
| 47 | 秒杀系统设计 | 系统设计 | ★★★★★ | 阿里 美团 字节 |
| 48 | 海量数据 TopK / 判重 | 算法 | ★★★★ | 字节 阿里 |
| 49 | 短链系统设计 | 系统设计 | ★★★★ | 字节 美团 |
| 50 | 设计一个 RPC / 配置中心 | 系统设计 | ★★★ | 阿里 美团 |
C. 各公司风格与高频方向
风格为社区总结的大致倾向,具体以岗位/部门为准。
| 公司 | 风格 | 高频方向 |
|---|---|---|
| 阿里 | 重项目深度、分布式/中间件深挖、系统设计 | JVM、MySQL、分布式事务、秒杀、RocketMQ |
| 字节 | 重算法(偏难,手撕多)、扣细节 | 困难 DP/图/单调栈、Kafka、Redis、epoll |
| 腾讯 | 计网/操作系统基础扎实、协议细节 | TCP、HTTPS、进程线程、C++/Go |
| 美团 | 八股全、业务场景多 | MySQL、Redis、Spring、本地生活场景题 |
| 百度 | 基础 + 算法 | 数据结构、网络、排序 |
| 京东 | Java 八股、并发 | 并发、JVM、中间件 |
| 拼多多 | Java 核心、加班考察 | 并发、JVM、MySQL |
| 滴滴 | 中间件、业务场景 | MQ、Redis、出行场景 |
| 网易 | Java 基础、方向相关 | 集合、并发、游戏/云音乐方向 |
| 快手 | 算法 + Redis | 中等偏难算法、缓存设计 |
复习建议
- 算法:A 表 1
25 必刷且能默写;2640 至少有思路。每题写 Java 解 + 复杂度 + 一句变式。 - 八股:B 表 1
30 必背,能口述 23 分钟;31~50 理解原理。 - 公司:按目标公司查 C 表,针对性补短板。
- 节奏:算法每天 2~3 题保持手感;八股按领域过,每领域总结一篇 md。