拼多多后端社招面经
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 拼多多基础电商交易 后端社招面经
- 一面(peer,细问八股
- 介绍下 java内存模型
- 介绍下线程池原理以及最佳实践
- ReentrantLock 的实现原理,公平锁和非公平锁的适用场景
- 说下对 SPI 的理解,有哪些应用场景
- 缓存一致性方案
- 缓存使用的最佳实践
- Redis 为什么快
- Redis 如何实现高可用
- 介绍下 Redis 缓存的过期策略
- MySQL 的日志有哪些,介绍下,binlog和redolog 如何保持一致
- MVCC 的实现原理
- 介绍下 SQL 优化的经验
- B 树 和 B+树的区别,为什么 InnoDB 引擎要用 B+ 树实现索引
- kafka 为什么性能好?
- kafka 会丢消息吗,如何保证消息的可靠性
- kafka 的消费是如何实现的?推、拉、长轮询优缺点和适用场景
《参考解析》
- Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
- MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
- 算法题先写出不变量和边界条件,再分析复杂度;常见数组、链表和树问题可分别使用双指针、哈希表、递归或迭代遍历,目标是在线性或对数复杂度内完成。