上个月几个同学刚刚参加了腾讯后台开发岗位的一轮技术面试,整体节奏非常快、问题直击重点,下面我记录下他们遇到的真实问题 + 答题方式,供正在准备校招的朋友参考。
📌 本文包括:
- 腾讯真实面试问题合集(技术+项目)
- 每道题的面试意图 + 高效答题思路
- 一份面试题整理的 GitHub 仓库(可直接使用复习)0voice/Campus_recruitment_interview_questions
一、腾讯后端面试真题(部分)
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..."
- 比如可以说:"我之前项目中处理高并发上传任务时,根据CPU核心数设置
-
补充扩展:
- 各种拒绝策略(Abort、Discard、CallerRuns)
- 不同类型线程池(FixedThreadPool, CachedThreadPool)
✅ Q:Redis 如何处理缓存击穿?
回答建议:
什么是缓存击穿?
- 一个高并发访问的 key 失效后,瞬间打到数据库。
解决方案:
- 设置热点 key 永不过期
- 使用互斥锁防止击穿(如加布隆过滤器 + 分布式锁)
代码中示例处理方式
- 说明自己项目中的做法即可
三、如何组织复习这些题目?我整理了一份仓库👇
📘 我将这些高频问题按模块整理到 GitHub 项目中,包含以下内容:
- ✅ Java 后端核心知识点归纳(含典型问题讲解)
- ✅ 腾讯/字节/阿里真题题单 + 面经整理
- ✅ 高频算法题解(含手撕代码 + 图解)
- ✅ 系统设计简答题汇总(项目相关)
👉 项目地址:
🔗 0voice/Campus_recruitment_interview_questions
🌟 欢迎 Star 收藏!我会持续更新腾讯、阿里、字节的最新面经和题解~