腾讯后端面试题全记录:真实问题+详细解析(附 GitHub 题库)

178 阅读2分钟

上个月几个同学刚刚参加了腾讯后台开发岗位的一轮技术面试,整体节奏非常快、问题直击重点,下面我记录下他们遇到的真实问题 + 答题方式,供正在准备校招的朋友参考。

📌 本文包括:


一、腾讯后端面试真题(部分)

1️⃣ Java基础

  • ArrayListLinkedList 有什么区别?各自适用场景?
  • Java 中的 HashMap 如何解决哈希冲突?Java8 中有哪些优化?
  • 说一下 Java 内存模型 JMM?volatile 有哪些作用?

2️⃣ 多线程 & 并发

  • 线程池的核心参数有哪些?如何合理设置?
  • 谈谈 synchronizedReentrantLock 的区别?你在项目中怎么用的?
  • ThreadLocal 的使用场景和原理?

3️⃣ Redis

  • Redis 为什么快?说说底层数据结构?
  • Redis 如何实现过期策略?惰性删除、定期删除分别什么时候触发?
  • Redis 缓存穿透/击穿/雪崩怎么解决?

4️⃣ 数据库 & SQL

  • 索引失效的几种情况?如何避免?
  • MySQL 聚簇索引 和 非聚簇索引的区别?
  • 事务的四大特性?InnoDB 如何实现隔离性?

5️⃣ 算法题(在线手撕)

  • LRU 缓存手写(简化版)
  • 二叉树中序遍历(迭代版)
  • 找出数组中第 K 大的元素(快排思想)

二、精选题目详解(逐题拆解+答法建议)

✅ Q:线程池的核心参数有哪些?如何设置?

答题建议结构如下:

  1. 先背参数含义:

    • corePoolSizemaximumPoolSizekeepAliveTimeworkQueuerejectedExecutionHandler
  2. 举例解释用途:

    • 比如可以说:"我之前项目中处理高并发上传任务时,根据CPU核心数设置corePoolSize为4,maximumPoolSize为8..."
  3. 补充扩展:

    • 各种拒绝策略(Abort、Discard、CallerRuns)
    • 不同类型线程池(FixedThreadPool, CachedThreadPool)

✅ Q:Redis 如何处理缓存击穿?

回答建议:

什么是缓存击穿?

  • 一个高并发访问的 key 失效后,瞬间打到数据库。

解决方案:

-   设置热点 key 永不过期
-   使用互斥锁防止击穿(如加布隆过滤器 + 分布式锁)

代码中示例处理方式

  • 说明自己项目中的做法即可

三、如何组织复习这些题目?我整理了一份仓库👇

📘 我将这些高频问题按模块整理到 GitHub 项目中,包含以下内容:

  • ✅ Java 后端核心知识点归纳(含典型问题讲解)
  • ✅ 腾讯/字节/阿里真题题单 + 面经整理
  • ✅ 高频算法题解(含手撕代码 + 图解)
  • ✅ 系统设计简答题汇总(项目相关)

👉 项目地址:
🔗 0voice/Campus_recruitment_interview_questions

QQ20250716-152758.png

🌟 欢迎 Star 收藏!我会持续更新腾讯、阿里、字节的最新面经和题解~