
获得徽章 0
- 看完美团、字节、腾讯这三家的一二三面试问题,是不是感觉问的特别多
,可能咱们真的又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。
我可是足足背下了 Java互联网工程师面试1000题 ,多少还是有点用的呢,换汤不换药,不管面试官怎么问你,抓住本质即可!
算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的 《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题,没有的可以点击此处免费领取展开12 - 什么是幻读?
幻读指的是一个事务在前后两次查询同一个范围的时候,后一次查询看到了前一次查询没有看到的行。
首先快照读是不存在幻读的,只有当前读(实时读)才存在幻读的问题。
幻读有什么问题?
select ...for update语句就是将相应的数据行锁住,但是如果存在幻读,就把for update的语义破坏了。
如何解决幻读?
产生幻读的原因是,行锁只能锁住行,但是新插入记录这个动作,要更新的是记录之间的“间隙”。因此,为了解决幻读问题,InnoDB只好引入新的锁,也就是间隙锁(Gap Lock)。间隙锁和行锁合称next-key lock,每个next-key lock是前开后闭区间。
总结
RR(可重复读)隔离级别下间隙锁才有效,RC(提交读)隔离级别下没有间隙锁;
RR隔离级别下为了解决“幻读”问题:“快照读”依靠MVCC控制,“当前读”通过间隙锁解决;
间隙锁和行锁合称next-key lock,每个next-key lock是前开后闭区间;
间隙锁的引入,可能会导致同样语句锁住更大的范围,影响并发度。展开评论4 - 马士兵课堂几大风景:
一、班主任全是美女,水灵灵的那种(告诉你个秘密:Java老师说,有同学把班主任小姐姐搞到手的先例,单身的,这个是重点);
二、Java老师的头发呀,发迹线啦,理发师都做不到那么自然,他们最喜欢13号,估计师娘们认为13号是男的(哈哈!!!开玩笑);
三、授课的方式方法,自己去体会。
首先声明:我英文很LOW,这样说都有点对不起LOW这三个字母,因为我连Hello都写错。
进入马士兵VIP之前,自己有个习惯(当然也是没有办法的事儿),除了能看Java API6中文文档外,其他的Java方法都是询问度娘,这个就是之前跟傻子似的天真的自己;
进入马士兵VIP,通过自己的勤奋好学,这里夸奖下自己,因为Java的路上逼屈的太多,学完了第一期VIP课程,终于走到了架构师。
(例子:我们公司外包的系统,在外包公司交付前1个星期,由于用户量大了,服务器挂了,而且还是. net写的,公司的领导那个一筹莫展的样子啊,我主动提建议,分两步做的,先增服务器,用集群解决眼前问题,然后再做分布式,把硬件与软件系统拆分)
通过马士兵课堂VIP课程的系统学习,结合公司项目实战,对课程中除JDK外,所有系列的基础和进阶部分,掌握的满不错的。
对所有系列的高级部分,很欠缺,说实话VIP课程的所有高级系列的确有难度,因为高级部分,除了课堂本身的代码外,高级部分的知识点是触类旁通的,老师的案例只是演示知识点中比较经典的。
这样说吧,里面的老师全是来自中国互联网排名前五的公司中的大佬,除了老师经验外,还精通硬件和软件开发,什么手写Tomcat、spring、mybatis等等之类框架,就跟你写个业务功能一样。马士兵课堂拥有这些过硬的资源并没有放松为同学服务的精神,当然比起13号,我更喜欢马士兵课堂的班主任老师,有机会自己去体验吧!!!
目标
在以后的Java生涯中,会分三个方向:第一个方向是进公司发展,第二个是自己想创业(这个每个人都应该会有),第三个方向是再进马士兵MCA后端架构VIP进修一下。
在技术上,现在到2021年底,结合公司的项目,把马士兵VIP课程系列技术的基础和进阶部分,由熟练到精通。(最如人愿的,但是这个少部分技术可能有难度)展开评论1