求你了给我个offer吧😭 level
获赞
46
粉丝
12
关注
32
看过 TA
219
东北大学
2026
Java
IP属地:辽宁
暂未填写个人简介
私信
关注
昨天 02:30
已编辑
东北大学 Java
(非科班)(无手撕)1.自我介绍2.Mysql的事物隔离级别有哪几个(背了四种隔离级别以及是否会发生脏读不可重复读幻读)3.Mysql是怎么解决幻读的(背了MVCC)4.两个事物修改同一条记录,这个时候再去读这个记录会怎么样?读到的结果是一样的还是不一样的?(答了不一样😭)(一紧张脑子宕机了,开始胡说八道😭)(之后复盘我觉得应该问清楚第一个事物A是否已经提交,如果没有提交,这个时候B是修改不了这个记录的,会被阻塞住,这个时候事物A查,查到的是自己修改的记录,等到事物A提交后,事物B才能继续进行修改,如果事物B查,事物B查到的也是自己修改的记录,事物B提交后,因为事物B是后修改的后提交,再有一个事物去读,最终读到的是事物B的结果,但是如果这个时候事物B没有提交,事物C只会读到事物A修改的数据)5.面试官开始提示锁,是怎么加锁的(自己🐷b了,背了一遍Mysql有什么锁)6.间隙锁是用来解决什么问题的(答了幻读)7.为什么可以解决幻读?(对这块不熟,又开始胡说八道😭,说了查询成绩大于100的学生(这里我应该强调是当前读),刚开始的时候只有一条,然后这个时候,如果有其他的事物插入大于100的成绩的学生,就会造成第一个事物幻读(感觉这里我说的很混乱,太笼统了))8.你的意思是防止它插入?那修改呢(答会)9.聚簇索引和非聚簇索引的差别(八股吟唱)10.为什么用B+树不用B树(八股吟唱)11.Redis一般用来作什么的(答了缓存和分布式锁,解释了为什么)12.分布式锁一定是安全的吗?(这里有点懵,不知道想问什么,反问了一下)13.会不会有没锁住的情况?(答了redis主从同步的时候,主节点还没来得及同步到从节点就宕机了的话,就会出现两个线程都争抢到锁的情况,感觉不太对?(可能面试官是想问setnx的问题?唯一标识+超时时间+Lua脚本的问题?))————————————————项目拷打14.异步解析百万Excel获取行数是怎么做的?(这里面试官没太懂,和他解释了很久)15.线程池的参数设置问题(这块突然忘了项目里是怎么设置的,乱说了一个当时用的newSingleThreadExecutor,我真的🐷b啊😭现在想想再怎么也不应该用这个)16.延迟队列在这里是什么作用?17.延迟队列是怎么实现的你知道吗(老实说不会,可以试着猜测一下,只记得底层是zset,然后记录了时间戳,然后redis会隔一段时间去查出到达延迟时间的消息)18.继续追问:如果是这样的话,应该是隔多久去查一次?19.实现海量短链接访问监控信息存储。这个监控信息里存的是什么?(这是第二个项目以为不会怎么问我就没怎么看😭只答出来uip pv uv 浏览器 访问设备 访问地区)20.这些uip pv uv 是个数字吗还是什么?21.你怎么保证uip pv uv 不会有并发问题?(答了通过sql底层的锁来保证)22.继续追问,这你是怎么设计的?(忘记了 就硬说SQL语句的那个乐观锁思想,然后还是不肯放过我😭就一直问这个是怎么实现的,SQL语句怎么写的,好久没写SQL了脑子又开始宕机了,最后只好说自己忘记了)(之后想了想应该说类似于这样的语句 UPDATE uip SET uip = uip + 1 WHERE id = 123; )23.Mysql的rtt一般在20ms—30ms,用户访问可能很快,mq堆积到一定量你怎么处理?(答了分库)24.你的服务器有多少台?分了多少库?(老实说自己学习的项目,就只有一个服务器😭)25.面试官原话:分库之后肯定要开并发,不然你这个没啥用啊。嗯,对吧?那我想问一下,就这种场景下你的并发度怎么设置什么?(不太了解想问什么,是什么意思,他解释后面说是线程之类的,就是需要开多少个线程去更新uip,uv,这里当时还有有点不知道他问什么,就答了因为是io密集型,cpu核数*2)26.那你一个短链接的up uip 是一个字段,那这样的话如果用户大量的访问同一个短链接,不还是跟没有分库的效果一样吗?(这里答了把up uip这样的字段拆开 变成单条记录,形成一个类似key value结构 进行分库分表,就是说把同一个短链接的uip记录拆到不同的库中)(面试官沉默)(然后后面我自己又提了一嘴可以用缓存来存)27.防止用户重复点击创建按钮,进而导致多个重复请求同时创建相同优惠券模板是怎么做的?(自己说了一大堆)28.有个问题,就是比方说我点击这个页面就把这个页面卡了,没反应,嗯,对吧?唉,点击了一下,然后一个小时之后再点,这种情况这么办(脑子又宕机了😭居然和面试官说这种情况应该不会出现.....)(后面想了想答了避免消息重复消费那一套,就是redis中放消息消费中和消息消费完成的状态,这里噼里啪啦说了一大堆然后把自己绕晕了😭)29.面试官说不需要这么复杂还要存状态,只需要存一个key用redis挡一道就够了。然后继续问,这个key是永久的吗?需要设置过期时间吗?(自己又开始胡说八道了😭)(追问,怎么保证100%不出现问题,后面憋出来个唯一索引,继续追问,怎么设置的唯一索引,这里又宕机了,复盘后这里是说的不对的)30.还有没有其他更好的做法(想了好久没想出来,答了还没想到😭)31.怎么保证MQ是可靠的?(答了ack机制和是保存在硬盘的)32.放在硬盘就一定不会丢吗?(答了概率会比较低,面试官说磁盘损坏其实是很频繁的,如果一旦丢了,数据就都丢了)(后面想了想,就说搭建集群)33.集群的每个节点的数据是一样的吗(脑子又宕机了😭和redis集群那一块搞混了,想了好久唯唯诺诺地说了一句是不一致的,然后说自己对这一块不太了解)34.不同的二叉树的区别,为什么要有红黑树(八股吟唱)35.遇到了死锁,你的解决手段是什么,要怎么写代码才能避免死锁?(硬背八股,说资源预分配,破坏循环等待的条件)(面试官说代码加锁,加不到锁就直接返回失败就好了😭)(当时真是🐷啊,这都没想到)36.还有什么情况下可以破坏掉死锁,防止出现死锁?(硬背操作系统的八股,但是面试官继续追问😭脑子又宕机了)(最后复盘应该想想可以从减小锁的粒度、使用超时锁、一次性获取所有锁 这几个方面考虑)36.反问:我是第一次面试,有什么不足的地方?(面试官说一些基础知识了解来龙去脉,这个在他看来是比较加分的,然后对于项目的一些点,能够讲的清楚就很好了,但是感觉很多东西在他看来我是没有完全理解,所以说就会讲的不清楚)面试官人很好非常非常有礼貌,也不会打断我说话,面试体验感也很好,只是我太菜了😭
求你了给我个offer吧😭:项目+场景题拷打得哑口无言
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务