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

大家好,我是鸭鸭!

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

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

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

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

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

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


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

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,这个引擎本身不支持事务!

最后

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

相关推荐
TiDB 社区干货传送门1 分钟前
“医疗专业应用+分布式数据底座”:平凯数据库与金唐软件全链路赋能医疗国产化与数字化转型
数据库·分布式
德彪稳坐倒骑驴2 分钟前
SQL刷题笔记-我没做出来的题目
数据库·笔记·sql
wheelmouse77882 分钟前
Maven构建配置学习笔记
笔记·学习·maven
DevangLic3 分钟前
【怎么在手机上访问部署在电脑上的网页,不在一个局域网】
服务器·学习
Haooog3 分钟前
微服务保护学习
java·学习·微服务·sentinel
Swift社区7 分钟前
LeetCode 449 - 序列化和反序列化二叉搜索树
算法·leetcode·职场和发展
GottdesKrieges8 分钟前
通过obd升级OceanBase数据库
数据库·oracle·oceanbase
charlie11451419111 分钟前
深入理解CC++的编译与链接技术9:动态库细节
c语言·开发语言·c++·学习·动态库
TiDB 社区干货传送门16 分钟前
【附操作指南】从 Oceanbase 增量数据同步到 TiDB
linux·服务器·数据库·tidb·oceanbase
光影少年27 分钟前
postgrsql和mysql区别?
数据库·mysql·postgresql