拼多多Java服务端一面+二面面经分享(已OC)
- 时间
- 2026-01
- 来源
- 牛客网
《面试题目》
- 楼主双非硕,最近刚走完拼多多的(约50分钟)自我介绍 & 项目深挖:挑了一个并发量较高的项目,问了核心链路设计、QPS峰值多少、怎么做的压测和性能瓶颈排查。Java基础:HashMap的底层原理?put的过程?为什么
- 引入红黑树?红黑树的特点?ConcurrentHashMap在
- 中的区别?分段锁的优缺点。并发编程(JUC):ThreadPoolExecutor的核心参数有哪些?拒绝策略有哪几种?实际开发中线程池是怎么设置的?(考了CPU密集型 vs IO密集型的区别)ThreadLocal原理?内存泄漏问题是怎么产生的?如何避免?synchronized和ReentrantLock的区别?synchronized的锁升级过程。JVM:说一下JVM内存模型(JMM)。对象的创建过程?怎么分配内存?CMS和G1垃圾收集器的区别?G1的Mixed GC过程。算法题:力扣中等题,无重复字符的最长子串。要求考虑边界情况,时间复杂度O(n)。 二面:(约60分钟)项目拷打
《参考解析》
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
- 算法题先写出不变量和边界条件,再分析复杂度;常见数组、链表和树问题可分别使用双指针、哈希表、递归或迭代遍历,目标是在线性或对数复杂度内完成。