面试面经 · 微信事业群WXG
【微信事业群】【后端开发】【一面】Redis数据结构+MySQL索引+并发编程
【微信事业群】【后端开发】【一面】
基本信息
| 项目 | 内容 |
|---|---|
| 公司 | 腾讯微信事业群(WXG) |
| 岗位 | 后端开发 |
| 轮次 | 技术一面 |
| 时间 | 2025年 |
| 面试时长 | 约45分钟 |
| 面型体感 | 问题密度高,从 Redis 到 MySQL 到并发一路追问 |
| 结果 | 通过 |
面试题目(按提问顺序)
- 自我介绍
- 挑一个项目详细介绍,遇到最大的困难是什么?
- Redis 为什么快?说说它的底层数据结构
- Redis 的持久化方式有哪些?RDB 和 AOF 各自有什么优缺点?
- Redis 缓存穿透、缓存击穿、缓存雪崩分别是什么?怎么解决?
- Redis 如何实现分布式锁?有什么需要注意的问题?(超时释放、看门狗续期)
- MySQL 聚簇索引和非聚簇索引有什么区别?
- MySQL 索引失效的几种情况?如何避免?
- InnoDB 事务的四大特性?隔离级别有哪些?MVCC 是怎么实现的?
volatile关键字的作用?能保证原子性吗?synchronized和ReentrantLock的区别?你在项目中怎么选的?- CAS 是什么?有什么 ABA 问题?怎么解决?
- 线程池的核心参数有哪些?拒绝策略有哪些?
- 手撕代码:找出数组中第 K 大的元素(要求用快排思想)
面试感受 / 反馈
- 微信一面对 Redis 和 MySQL 的考察很深入,不是简单背概念
- 追问链路很长:从 Redis 快不快 → 底层数据结构 → 持久化 → 缓存问题 → 分布式锁,一步步深入
- 并发编程部分会追到 CAS 和 ABA 问题这个级别
- 手撕代码是中等难度,重思路而非代码量
准备建议
- Redis:底层数据结构(SDS、ziplist、quicklist、skiplist、hashtable、intset)要能说清楚
- MySQL:B+树索引、MVCC 实现(ReadView + Undo Log)是必考
- 并发:CAS/ABA、
AtomicStampedReference要能讲清楚 - 手撕:Top K 问题(快排 partition 思想)、LRU、二叉树遍历要熟练
反问示例
- 团队主要负责微信的什么功能?
- 日常实习的话,一般做什么类型的工作?