拼多多Java后端开发一面(地獄级别)

#面试问题记录#
一、Java基础与JVM(6题)
HashMap扩容时链表转红黑树的阈值为什么是8?退化为6的原因?
synchronized锁升级过程?
G1垃圾回收器如何预测停顿时间?Region大小如何设置?
volatile能否保证数组元素的可见性?如何解决?
ThreadLocal内存泄漏的根本原因?JDK改进方案?
Java 8中Stream的并行处理原理?ForkJoinPool工作窃取机制?

二、并发编程(5题)
AQS中为什么用CLH队列而不用普通链表?
线程池核心参数设置规则?美团动态调整方案?
ConcurrentHashMap的size()方法为何不精确?替代方案?
如何用CAS实现一个无锁栈?ABA问题如何规避?
CompletableFuture如何实现多个异步任务依赖执行?

三、数据库与Redis
MySQL索引失效的10种场景?最左前缀原则的底层原理?
十亿级订单表如何优化分页查询?
Redis大Key删除导致集群崩溃,如何避免?
Redis事务与MySQL事务的ACID区别?
缓存与数据库一致性方案对比?拼多多秒杀采用哪种?
Redis Cluster的slot迁移过程会阻塞请求吗?
MySQL死锁排查步骤?如何用gap锁解决幻读?

四、分布式与微服务(6题)
TCC事务的Confirm阶段失败怎么办?
如何设计一个支撑百万QPS的分布式ID生成器?
Nacos如何实现配置动态推送?长轮询原理?
RocketMQ如何保证消息不丢失?
Dubbo的泛化调用使用场景?如何实现服务降级?
CAP理论在拼多多购物车中的取舍?

五、系统设计(4题)
设计拼多多砍价系统,如何防止刷单?
订单超时未支付自动关闭,如何实现?
如何设计一个实时热卖排行榜?
分布式锁在库存扣减中的应用,Redisson实现原理?#牛客AI配图神器#
全部评论
一面偶遇八股炼狱,连环拷问恐怖如斯,拼劲全力无法战胜
20 回复 分享
发布于 08-05 21:30 安徽
有点意思,成功引起了我的注意(欢迎讨论) 一 1. 红黑树单个节点的空间为链表的两倍,长度低时红黑树优势不大。退化阈值为6是为了留一定缓冲空间防止反复横跳,树化和反树化都是有开销的 2. 板子 3. jvm参数设置期望停顿时间,g1将堆空间分为若干的region并维护每个region的回收价值。g1根据历史数据预测本次gc时间,若高于期望停顿时间,gc时优先选定价值最大的若干region进行回收 4. jvm参数 5. 不能。用AtomicReference<T> 6. 工作线程的复用。key弱引用,且获取key等操作时会扫沿途的脏Entry,但仍不能完全防止。实际使用中必须在finally块中手动remove 7 8. 不懂 二 1. 不懂 2. 核心线程数cpu密集型取核数+1,io密集型看具体的时间占比,队列选有界,拒绝策略看具体业务场景 3. 不懂,猜可能是获取时其它线程并发修改? 4. cas栈顶元素,注意判空。后半问板子 5. 链式调用 .then() 三 1. 10种是真逆天,真就八股文呗。最左前缀只要讲清楚b+树索引的原理就很好答 2. 该拆表了。。子查询能优化,但10亿表长下还是会慢 3. 没见过。但是redis治理本就是平时不容忽视的一环,包括大key热key连接数key数量等,删一个key能把集群崩掉,说明这方面工作已经欠缺到一定程度了。。 4. 拆开分析。redis没有回滚机制不满足a,没有a就满足不了c,内存读写单线程没有i的概念,持久化策略无法完全防止数据丢失所以不满足d。综上redis事务acid皆不满足 5. 旁路 双删 监听binlog。秒杀场景一般旁路即可,一致性要求高可以上双删 6. 不会。如果服务端收到请求时slot正在迁移,会检查该部分数据是否已经被迁走。是则响应ASK重定向目标实例,否则直接返回数据 7. 查日志→定位→复现→分析原因。隔离级别设为rr,会默认以临键锁作为行锁的物理实现,锁间隙防插入从而在一定程度上避免幻读(不能完全防止) 四 1. 回滚 2. 参考snowflake 3. 不知道 4. 从两方面答,生产者→broker阶段依赖刷盘和ack,结合不同ack参数(异步半同步全同步)讲;消费者丢失消息的情况,可以等业务返回再手动提交offset,但要求下游业务幂等 5. 没用过dubbo,降级配fallback方法,指标达阈值自动触发降级策略,也可手动配置降级开关 6. 无分区全保。有分区保ap,购物车距离订单和支付还有一段距离,阻塞用户购物车操作影响体验 五 1. 风控领域的范畴,很复杂不是几句话能说明白的。可以从人机验证、ip检测、截/录屏检测、黑名单、用户画像等角度聊 2. rmq延时队列。定时任务扫表也是一种方案,但对大表开销高 3. 黑马点评 4. 前半问黑马点评,redisson是客户端本质上是多一层封装,将一系列操作打包进lua脚本中。hash存线程id实现可重入,zset存线程id实现公平锁
19 回复 分享
发布于 08-05 22:03 北京
当我把这些面试题丢给deepseek:嗯,用户一口气列出了五大部分共31个技术问题,覆盖Java基础、并发编程、数据库、分布式系统和系统设计,明显是准备高阶面试或技术攻关。这类问题清单通常来自资深后端工程师的复习提纲,尤其是涉及拼多多、美团等大厂实践方案,用户可能在备战P7/P8级别面试。
14 回复 分享
发布于 08-07 01:26 上海
这是提前批吗我的天
点赞 回复 分享
发布于 08-08 09:30 上海
后天面试的我瑟瑟发抖了,这是啥部门啊
5 回复 分享
发布于 08-05 18:27 北京
加油 找工作的同学们点我主页了 说不定对你有帮助
点赞 回复 分享
发布于 08-07 20:17 上海
夸张 复健的我直接被吓哭了
3 回复 分享
发布于 08-06 17:00 北京
我靠这么难
1 回复 分享
发布于 08-07 16:28 河南
😨好难啊,一些题目我连听都没听过
3 回复 分享
发布于 08-05 18:07 广东
这是投的哪个岗位,我咋没看到java开发的岗
点赞 回复 分享
发布于 08-07 11:50 陕西
清华都做不到吗
1 回复 分享
发布于 08-06 18:10 湖南
mark
点赞 回复 分享
发布于 08-07 10:51 湖南
终于知道为什么PDD直接把我简历挂了,因为知道我连一面都过不去,好难得题
1 回复 分享
发布于 08-06 17:24 河南
离谱🥴
点赞 回复 分享
发布于 08-07 10:07 吉林
这是提前批吗,拼多多秋招开了吗,我咋好像只看到提前批
1 回复 分享
发布于 08-06 16:23 安徽
炸缸了,明天面试,这里面我就会常见的八股
点赞 回复 分享
发布于 08-06 23:23 河南
确实难都不会
1 回复 分享
发布于 08-06 12:48 浙江
名字说一下
点赞 回复 分享
发布于 08-06 16:24 江苏
关注牛牛,后期更新面经和八股
1 回复 分享
发布于 08-06 11:15 安徽
pdd
点赞 回复 分享
发布于 08-06 14:33 浙江

相关推荐

08-13 18:23
已编辑
四平职业大学 Java
【面试问题】请简单做个自我介绍。你的专业排名是什么样子的?本科排名如何?请分享一道编程题的思路:判断是否存在三数之和为零的组合,如何优化暴力解法?如何解决代码中的重复问题?你的技术栈主要是C++,对Java了解吗?计算机网络的分层结构有哪些?请具体说明各层协议(如数据链路层)。常见的数据结构有哪些?请举例说明其特点和应用场景。红黑树是什么?它如何保持平衡?为什么要用红黑树而非普通二叉树?Redis的主要数据结构有哪些?它为什么性能优于传统数据库?Redis如何实现分布式部署?哨兵模式的作用是什么?请介绍你的大模型代码生成项目:目标、技术方案、你的具体贡献。如何将大模型与XXX结合?输入数据的形式和生成逻辑是怎样的?在代码生成过程中遇到大模型输出错误时,如何调试和修正?你是否有其他问题想问我们?该部门主要用&nbsp;Java&nbsp;,&nbsp;面试官直言:&nbsp;你不懂&nbsp;Java,&nbsp;我也不知道问什么了...&nbsp;进来也要转&nbsp;Java&nbsp;...面试官也没带耳机,&nbsp;表示我说话他也听不太清楚.不过面试官人不错,&nbsp;挺和善的.官网中我投递的是服务器后端,&nbsp;C/C++&nbsp;方向&nbsp;....请问各位大牛牛们,&nbsp;如果一面过了的话,&nbsp;是否可以换部门面试啊?&nbsp;&nbsp;有没有PDD的大佬捞一下我呢?&nbsp;感觉这个技术栈不太匹配.
查看14道真题和解析
点赞 评论 收藏
分享
评论
53
337
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务