专栏名称: 脚本之家
脚本之家(jb51.net)是国内专业的网站建设资源、脚本编程学习类网站,以后将为大家分享更多有用的信息,希望大家多多支持宣传。
目录
相关文章推荐
蚂蚁技术AntTech  ·  论文秀Live#21 ICSE 2025 ... ·  12 小时前  
小易说钱  ·  注意!龙银币,这里还能预订! ·  19 小时前  
老刘说NLP  ·  再看知识图谱本体生成:RAG用于Mysql数 ... ·  昨天  
纪念币预约信息  ·  各省网点公布!新10元纪念币22:00预约开约! ·  昨天  
程序员小灰  ·  你的技术栈,还能撑几年? ·  2 天前  
51好读  ›  专栏  ›  脚本之家

京东外卖社招二面,总包最低涨30%!?

脚本之家  · 公众号  ·  · 2025-06-01 17:00

正文

请到「今天看啥」查看全文


3、这x个版本过程中有没有出过问题?

有,有一次数据库脏数据没及时清掉导致出现了重复订单,好在最后损失不算很大。

4、可以具体说说吗?

这个问题差不多花了 15-20 分钟的时间,期间面试官多次提问,我也多次回复,一开始我甚至觉得他是来骗方案的,所以回答的时候有些数据稍微模糊了下。

可以的。

当时支付系统在凌晨促销时遭遇流量峰值,由于事务补偿机制存在漏洞,部分订单在支付回调时因网络抖动触发了异常重试机制。数据库事务隔离级别设置为Read Committed,导致支付成功但未及时提交的中间状态数据被其他事务读取,最终在数据表中遗留若干条 status=0 的脏数据订单。

次日对账系统首先发现金额偏差,经排查发现这些脏数据订单在库存系统中被锁定但未释放,不仅导致重复发货(涉及 21 个用户损失超 xxx 元),还引发库存同步异常使得前端显示剩余库存比实际少 15 %。

事后复盘发现,根本原因是事务边界设计未遵循两阶段提交规范,开发团队据此重构了事务管理器,引入 Seata 的 AT 模式实现分布式事务自动补偿。

另外,此次事件推动建立了灰度数据验证机制——任何事务逻辑变更需先在影子库注入 xx 万条仿真订单进行脏写测试,确保在流量洪峰下仍能维持数据最终一致性。

5、有没有人因为这次事故走人的?

抱歉,这个问题我选择不回答。

6、当然可以,那我们继续面试吧。JVM常见的异常问题有哪些?

  • StackOverflowError(线程请求栈深度超过虚拟机所允许的最大深度)
  • OutOfMemoryError(堆内存不够用)
  • PermGen space(方法区内存不够用)

7、Java版本 1.7 和 1.8有哪些主要区别?

Java 7 新特性:钻石操作符、try-with-resource语句、支持动态类型语言、Fork/Join框架等。

Java 8 新特性:Lambda 表达式、Stream API、新的 Date/Time API、Nashorn JavaScript 引擎等。

8、Redis怎么实现分布式锁?

Redis 的 SET 命令有个 NX 参数可以实现「key不存在才插入」,所以可以用它来实现分布式锁:

  • 如果 key 不存在,则显示插入成功,可以用来表示加锁成功;
  • 如果 key 存在,则会显示插入失败,可以用来表示加锁失败。






请到「今天看啥」查看全文