腾讯后端面试题全记录:真实问题+详细解析(附 GitHub 题库)
上个月身边几个同学刚刚参加了腾讯后台开发岗位的一轮技术面试,整体节奏非常快、问题直击重点,因为他们不刷牛客的缘故,下面我记录下他们遇到的真实问题 + 答题方式,供正在准备校招的朋友参考。
一、腾讯后端面试
1️⃣ Java基础
- ArrayList 和 LinkedList 有什么区别?各自适用场景?
- Java 中的 HashMap 如何解决哈希冲突?Java8 中有哪些优化?
- 说一下 Java 内存模型 JMM?volatile 有哪些作用?
2️⃣ 多线程 & 并发
-
线程池的核心参数有哪些?如何合理设置?
-
谈谈 synchronized、ReentrantLock 的区别?你在项目中怎么用的?
-
ThreadLocal 的使用场景和原理?
3️⃣ Redis
-
Redis 为什么快?说说底层数据结构?
-
Redis 如何实现过期策略?惰性删除、定期删除分别什么时候触发?
-
Redis 缓存穿透/击穿/雪崩怎么解决?
4️⃣ 数据库 & SQL
-
索引失效的几种情况?如何避免?
-
MySQL 聚簇索引 和 非聚簇索引的区别?
-
事务的四大特性?InnoDB 如何实现隔离性?
5️⃣ 算法题(在线手撕)
-
LRU 缓存手写(简化版)
-
二叉树中序遍历(迭代版)
-
找出数组中第 K 大的元素(快排思想)
二、精选题目详解(逐题拆解+答法建议)
Q:线程池的核心参数有哪些?如何设置?
答题建议结构如下:
- 先背参数含义:
- corePoolSize、maximumPoolSize、keepAliveTime、workQueue、rejectedExecutionHandler
- 举例解释用途:
- 比如可以说:"我之前项目中处理高并发上传任务时,根据CPU核心数设置corePoolSize为4,maximumPoolSize为8..."
- 补充扩展:
-
各种拒绝策略(Abort、Discard、CallerRuns)
-
不同类型线程池(FixedThreadPool, CachedThreadPool)
Q:Redis 如何处理缓存击穿?
回答建议:
什么是缓存击穿?
- 一个高并发访问的 key 失效后,瞬间打到数据库。
解决方案:
-
设置热点 key 永不过期
-
使用互斥锁防止击穿(如加布隆过滤器 + 分布式锁)
代码中示例处理方式
- 说明自己项目中的做法即可
如何组织复习这些题目?我整理了一份仓库👇
我将这些高频问题按模块整理到 GitHub 项目中,包含以下内容:
✅ Java 后端核心知识点归纳(含典型问题讲解)
✅ 腾讯/字节/阿里真题题单 + 面经整理
✅ 高频算法题解(含手撕代码 + 图解)
✅ 系统设计简答题汇总(项目相关)
👉 项目地址: 🔗 0voice/Campus_recruitment_interview_questions
🌟 欢迎 Star 收藏!我会持续更新腾讯、阿里、字节的最新面经和题解~
#牛客创作赏金赛##牛客在线求职答疑中心##校招我听劝##腾讯2025实习生招聘##简历中的项目经历要怎么写#