都是视频面试,所以记不清了反正我前一天复习的都没考 对 两家都没考😂
小米二面:面试官真的很nice 在我翻车的边缘疯狂拯救,真的很感谢了。
首先自我介绍,完了过后直接顺着我简历上的专业技能一个一个问下去。
数据库如何优化(索引,小表驱动大表)
索引失效问题
Synchronized关键字的作用底层实现
moniter对象的底层实现(就知道底层是C写的,之后的就不会了😂)
之后就是写题
1、单例模式:DCL(开始记不住单词,面试官给我写出来了,之后面试官提示了我几次,我还是没想到构造函数初始化的问题,害就我这猪脑子是没救了)面试官最后无奈看不下去了叫我回去再看看。
2、算法:LeetCode镜像二叉树,秒了.
本来45分钟的时间但是只面了半个小时左右(可能是我太菜,面不下去了)。
蘑菇街:蘑菇街这难度让我回想起了被阿里支配的恐惧。
上了就是看着项目有SpringCloud就开始问负载均衡原理、Feign底层(无了)
之后是数据库事务、底层、事务隔离底层
然后是索引失效问题,(a,b,c)复合索引,a = 1,b < 10,c = 0为何c用不到索引,我说最左前缀问题,然后面试官又说从底层说一下失效原因。(知识盲区)最后在面试官的疯狂提醒下说出了是B+树节点的问题。
之后说用到RabbitMQ限流:能说说RabbitMQ的底层吗?(Boom)我就说了个信道然后就无了。
Mybatis ${} #{};举一个使用${}导致sql注入问题的例子。
SpringBoot自动装配原理,我在最后那部分突然卡壳,想了好久才记起来。
项目Sychronized的相率太低,能不能换一个(这个方法我们考虑了高并发的情况,进行了Sychronized同步),你们现在这个加了这个锁qps是1,我现在要把qps提上去还要保证效果怎么办。(一脸懵)各位大佬如果知道更好的方法,请大佬高抬贵手留个言给我指点指点。不胜感激。
Spring事务底层实现。(然后出了一道题)
class A{ @Transaction method b() method c(this.b()) }问调用c方法,b是否会启动事务(这个是真的忘了,以前是做过的)
之后就是疯狂出题环节(发现自己太菜了)
1、void swap(Integer a, Integer b);问题,大家遇到过一看就知道,我当时脑子卡了,只想到反射两个对象来进行一个交换。
2、一个SQL语句,T(name,amount,subject),查询出所有subject的分数>80分的人名,我当时可能大脑CPU烧了,一直想怎么把>80分的科目选出来再去选人,结果最后面试反问的时候问面试官,面试官直接就说先查出低于80的人,然后把这些人排除了就行。我都差点想到存储过程上面去了(我真是猪脑子x2)。
最后面试官说我反应快,但是还是要把基础再深入一点。
这两场面试和之前阿里的差不多,都是在第五层级别的面试而我还是在第一层,还得更加深入的理解Java啊。今天也是我第二次视频写代码,说实话手还是抖得,多谢各位面试官疯狂把我要翻的车给按下去(虽然最后还是翻了😂)。还是许个愿,求过。不说了,看书要紧。
全部评论
(9) 回帖