3.17 淘天电话面1h20min(处女面) 之 超绝社恐I人紧张到说话颤抖唯唯诺诺一个小时后秒挂版

(非科班)
(无手撕)
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.反问:我是第一次面试,有什么不足的地方?(面试官说一些基础知识了解来龙去脉,这个在他看来是比较加分的,然后对于项目的一些点,能够讲的清楚就很好了,但是感觉很多东西在他看来我是没有完全理解,所以说就会讲的不清楚)

面试官人很好非常非常有礼貌,也不会打断我说话,面试体验感也很好,只是我太菜了😭
全部评论
项目+场景题拷打得哑口无言
7 回复 分享
发布于 03-18 02:11 辽宁
一眼牛券和短链接
5 回复 分享
发布于 03-18 10:23 上海
已经很好了,我也好多都不会
2 回复 分享
发布于 03-18 08:03 上海
解决幻读是通过间隙锁吧,你觉得呢
2 回复 分享
发布于 03-18 10:40 四川
我记得幻读解决是加锁, 也就是当前读而不是快照读, MVCC只解决RC RR ,缓解幻读, 只有可串行隔离级别才能解决幻读
1 回复 分享
发布于 03-24 20:47 江西
🐮
点赞 回复 分享
发布于 03-18 02:06 湖北
电话面是有提前告知吗
点赞 回复 分享
发布于 03-18 02:16 广东
mark一下
点赞 回复 分享
发布于 03-18 10:09 广东
淘天会员集团招人,要不要试试转部门面试,大量hc
点赞 回复 分享
发布于 03-18 11:50 浙江
mark一下
点赞 回复 分享
发布于 03-18 12:45 湖南
mark
点赞 回复 分享
发布于 03-18 13:16 江苏
佬,是你简历太🐮了吗,问那么深?
点赞 回复 分享
发布于 03-18 14:58 湖南
太难了
点赞 回复 分享
发布于 03-18 15:39 北京
omg 怎么面这么久
点赞 回复 分享
发布于 03-18 17:20 上海
m
点赞 回复 分享
发布于 03-18 17:59 北京
好难
点赞 回复 分享
发布于 03-18 20:22 北京
佬可以试试贝壳呢,主页有~
点赞 回复 分享
发布于 03-19 00:01 北京
问一下电话面是直接打电话过来吗,怎么我上次约面试的那个人好像说要准备钉钉
点赞 回复 分享
发布于 03-19 10:58 上海
老哥这项目是牛券加短连接吧
点赞 回复 分享
发布于 03-19 11:08 辽宁
答了这么多很强了,我投的淘天直接简历挂了
点赞 回复 分享
发布于 03-19 17:01 四川

相关推荐

03-17 16:34
东南大学 Java
投递淘天集团等公司10个岗位
点赞 评论 收藏
分享
03-22 08:55
已编辑
门头沟学院 Java
程序员猪皮:这得跟你其他选择比了其实高德算是阿里盈利不错的部门了
点赞 评论 收藏
分享
评论
59
230
分享

创作者周榜

更多
牛客网
牛客企业服务