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

大家好,我是鸭鸭!

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

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

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

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

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

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


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

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

最后

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

相关推荐
DEARM LINER17 分钟前
mysql 巧妙的索引
数据库·spring boot·后端·mysql
hn小菜鸡1 小时前
LeetCode 2058.找出临界点之间的最小和最大距离
算法·leetcode·职场和发展
OT.Ter1 小时前
【力扣打卡系列】二分查找(搜索旋转排序数组)
算法·leetcode·职场和发展·go·二分查找
码农幻想梦1 小时前
实验九 视图的使用
前端·数据库·oracle
影子落人间1 小时前
Oracle创建存储过程,创建定时任务
数据库·oracle
大G哥1 小时前
02、Oracle过滤和排序数据
数据库·oracle
代码吐槽菌3 小时前
基于SSM的汽车客运站管理系统【附源码】
java·开发语言·数据库·spring boot·后端·汽车
测试老哥3 小时前
Python+Selenium+Pytest+POM自动化测试框架封装(完整版)
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
伏虎山真人3 小时前
开源数据库 - mysql - 组织结构(与oracle的区别)
数据库·mysql·开源
精致先生4 小时前
问题记录01
java·数据库·mybatis