京东背调有病吧......

大家好,我是鸭鸭!

又到周一,新的一周新的摸鱼,今天鸭鸭也在高强度互联网冲浪,没想到刷到这么一条帖子:

一般来说,很多大公司入职流程中都会包含背调,大家也都习惯了会准备好相应的信息。但京东这波操作,既要前任领导联系方式,还要内部职级截图;既要社保缴纳登记,还要近两年每月的社保缴纳信息;不仅如此,还要求提供多位前公司同事联系信息进行核实,这属实是让打工人无法接受。

评论区还有一位被京东过度背调的"受害者"发言:

公司背调的目的应该是核实应聘者提供信息的真实性,避免发生简历造假的情况,像东子这种过分收集索取个人信息,还要反复多人电话核实,恨不得把你的职业生涯都翻出来的,还是不常见的。

过分索取个人隐私信息的背调,不止是楼主觉得不被尊重,鸭鸭看着也很生气。

大家也可以来评论区分享自己遇到或者听过的奇葩背调经历,现在打工人求职已经很难了,希望大家都可以维护好自己的权益。


来看看鸭鸭今天为大家准备的面试题,一起来提升自己的就业竞争力吧!

Spring 事务在什么情况下会失效?

回答重点

一般而言失效的情况都是用了声明式事务即 @Transactional 注解,如果使用了这个注解那么在以下几个情况下会导致事务失效:

1)rollbackFor 没设置对,比如默认没有任何设置(RuntimeException 或者 Error 才能捕获),则方法内抛出 IOException 则不会回滚,需要配置 @Transactional(rollbackFor = Exception.class)

2)异常被捕获了,比如代码抛错,但是被 catch 了,仅打了 log 没有抛出异常,这样事务无法正常获取到错误,因此不会回滚。

3)同一个类中方法调用,因此事务是基于动态代理实现的,同类的方法调用不会走代理方法,因此事务自然就失效了。

4)@Transactional 应用在非 public 修饰的方法上,Spring 事务管理器判断非公共方法则不应用事务。

5)@Transactional 应用在 final 和 static 方法上,因为 aop (Spring Boot2.x版本默认是 cglib,Spring 自身默认是 jdk,一般现在用的都是 SpringBoot)默认是 cglib 代理,无法对 final 方法子类化。static 是静态方法,属于类,不属于实例对象,无法被代理!

6)propagation 传播机制配置错误,例如以下的代码

复制代码
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public void addUserAndAddress(User user,Address address) throws Exception {
    userMapper.save(user);
    addAddress(address);
}

@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public void addAddress(Address address) {
    addressMapper.save(address);
}

因为配置了 Propagation.REQUIRES_NEW,是新起了一个事务,即 addAddress 的事务和 addUserAndAddress 其实不是一个事务,因此两个事务之间当然就无法保证数据的一致性了。

7)多线程环境,因为 @Transactional 是基于 ThreadLocal 存储上下文的,多线程情况下每个线程都有自己的上下文,那么之间如何保持事务同步?保持不了,因此事务失效。

8)用的是 MySQL MyISAM,这个引擎本身不支持事务!

最后

再来推荐下我们的面试刷题网站和小程序:面试鸭!

相关推荐
阿波罗尼亚7 小时前
数据库序列(Sequence)
数据库
Junsir大斗师7 小时前
Nginx服务器代理Postgresql-16后端数据库
数据库·nginx
Je1lyfish7 小时前
CMU15-445 (2025 Fall/2026 Spring) Project#3 - QueryExecution
linux·c语言·开发语言·数据结构·数据库·c++·算法
nj01287 小时前
Spring 循环依赖详解:三级缓存、早期引用、AOP 代理与懒加载
java·spring·缓存
百锦再8 小时前
Auto.js变成基础知识学习
开发语言·javascript·学习·sqlite·kotlin·android studio·数据库开发
KuaCpp9 小时前
C++新特性学习
c++·学习
m0_596749099 小时前
如何防止SQL拼接漏洞_使用PDO对象实现安全的SQL交互
jvm·数据库·python
老纪的技术唠嗑局10 小时前
深度解析 LLM Wiki / Obsidian-Wiki / GBrain:Agent 时代知识的“自组织”与“自进化”
大数据·数据库·人工智能·算法
Komorebi_999911 小时前
大模型学习day5
学习·大模型
小程故事多_8012 小时前
[大模型面试系列] 深度解析ReAct框架,大模型Agent的“思考+行动”底层逻辑
人工智能·react.js·面试·职场和发展·智能体