2️⃣ 本深圳小公司 Java 后端

投票
面试官说我可重复读和读已提交的实现原理答的不对。

我答的主要是 MVCC 机制中 ReadView 的生成机制不同

面试官说不是的(´・_・`)
他说在是因为如下原因
在可重复读的隔离级别下一个先执行的事物去读取数据会给数据加共享锁,并且共享锁不会在读取完成后立即释放,因为共享锁和排他锁互斥的原因,其他事务此时想要更新数据就会被阻塞,无法完成更新,所以数据两次读取的值是相同的。

而在读已提交级别事物会立即释放,所以别的事物进行数据更新不会被阻塞能完成数据更新导致两次读取数据不一致

那他的意思是原理是通过控制锁的释放时间了

我的内心:
不是 mvcc?
select 语句默认不是不加任何锁?
阻塞?不主动给 select 语句后面加 lock in share mode 会有共享锁吗?i



#大家都开始春招面试了吗# # 

#数据人的面试交流地# #数据人offer决赛圈怎么选# #聊聊我眼中的AI# #牛客解忧铺#
全部评论
面试官没有明确区分普通SELECT和显式加锁的情况。对于普通SELECT,隔离级别的行为主要由MVCC决定,而不是锁的释放时间。
2 回复 分享
发布于 02-12 20:31 四川
很正常,秋招的时候有我也被一个面试官整得怀疑自己了,最后回去一查就是他错了。
点赞 回复 分享
发布于 02-14 22:14 福建
默认包是MVCC的,锁个鸡毛,反问问他他写mysql是不是每一条语句都加for update。
点赞 回复 分享
发布于 02-13 00:33 广东
点赞 回复 分享
发布于 02-12 20:06 湖南

相关推荐

家里人这种思想对吗?最近找到了某大厂算法岗的实习,家里人一直跟我说要给领导买点东西,搞好关系,我真的搞不清楚他们这种思想到底怎么来的,真的很烦他们教我做事,他们总觉得自己是对的,我不照着他们的想法做,就觉得我态度不对,之前找实习也是只会嘴巴上对我说你要加油,你要努力,但是根本不知道我背后付出了多少努力,真的好烦被教做事的感觉。
青春运维少年不会梦到...:小时候老爸每次外出打工,我都会说注意安全,可是我真的懂老爸的工作吗,一个小学文凭的人出去打工能有什么安全的工作,可是老爸还是慈祥的回应我,仿佛每天能安全回家都归功于我的祈福。到了现在,我跨越3000多公里去了陌生的城市,老爸还是那个老爸,只不过现在多了问我的情况,会问我适应新城市吗,适应工作强度吗,到最后真的好奇,问我这个工作是干啥的;老爸没文化,不知道计算机网络有七层结构,也不知道云saas订阅,我只能说,就像汽车修理厂一样,我是那个修车的师傅。老爸可能觉得真的理解不了我的工作,之后也就没多问了。不过仍然还是给我传授他的经验,对于老爸来说,他也知道我做的是他难以理解的工作,知道小县城的那套江湖规矩难以闯荡大城市,但是他依旧会关心我。。。
实习的内耗时刻
点赞 评论 收藏
分享
评论
2
7
分享

创作者周榜

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