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

面试官人很好非常非常有礼貌,也不会打断我说话,面试体验感也很好,只是我太菜了😭
全部评论
项目+场景题拷打得哑口无言
9 回复 分享
发布于 03-18 02:11 辽宁
一眼牛券和短链接
8 回复 分享
发布于 03-18 10:23 上海
解决幻读是通过间隙锁吧,你觉得呢
2 回复 分享
发布于 03-18 10:40 四川
已经很好了,我也好多都不会
2 回复 分享
发布于 03-18 08:03 上海
校友,而且我明天也要淘天电话面十天速通的八股,要是我也被这么高强度问,那我明天直接拒了得了,不想自取其辱
1 回复 分享
发布于 04-01 10:43 辽宁
我记得幻读解决是加锁, 也就是当前读而不是快照读, MVCC只解决RC RR ,缓解幻读, 只有可串行隔离级别才能解决幻读
1 回复 分享
发布于 03-24 20:47 江西
你这问的好多啊
点赞 回复 分享
发布于 04-22 09:10 上海
点赞 回复 分享
发布于 04-19 17:18 福建
mark一下
点赞 回复 分享
发布于 04-16 21:21 江苏
好压力
点赞 回复 分享
发布于 04-09 21:16 上海
mark一下
点赞 回复 分享
发布于 04-09 18:19 陕西
问一下八股文哥们去哪背的呀
点赞 回复 分享
发布于 04-08 18:13 吉林
mark一下
点赞 回复 分享
发布于 04-08 08:48 广东
点赞 回复 分享
发布于 04-07 14:19 陕西
你这是全程录音了是吗?
点赞 回复 分享
发布于 04-02 19:08 山西
马丁这个百万优惠券本来就有问题
点赞 回复 分享
发布于 04-02 14:28 上海
mark一下
点赞 回复 分享
发布于 04-01 17:00 湖北
mark一下
点赞 回复 分享
发布于 03-29 17:45 广东
这都没进二面,淘天到底要什么人
点赞 回复 分享
发布于 03-23 23:29 陕西
mark一下
点赞 回复 分享
发布于 03-22 22:22 山东

相关推荐

04-02 12:34
吉林大学 Java
suzuyouzmx:mq项目里没写就可以完全不写,你不写他就不会问。MySQL redis最优先但凡后端都问,小林的每一篇都背就行。计网os不用全背,先背几个热门话题。算法直接背题,就靠碰运气遇到熟悉题,Java那些我不知道但是普遍频率少于上面这些,很多面试官不爱问语言。这是最速成的
点赞 评论 收藏
分享
有没有友友知道这样是开启下一个志愿还是在池子里等人捞
早饭有梨:为什么有的是回到人才池,有的是变成筛选中,我二面挂直接变回筛选中了
点赞 评论 收藏
分享
04-17 19:49
厦门大学 Java
一、前期准备先讲讲我自己的经历吧,楼主无实习,大二上就打消了读研的打算,开始准备就业。但当时还没有完全放下课内的课程学习,整个上学期只学完了 Java 基础大二下,也就是去年的这个时候,我开始学 Spring 全家桶,在这个过程中也慢慢开始刷起了力扣。在那会和学长聊天时,得知学院有一位老师在给企业开发项目(现在看来比较偏向外包?),于是我便发邮件联系了这位老师,表达想参与到落地项目开发的意愿,幸运的是,她也很乐意接受我的请求,于是互相加了微信,约时间开了个小会,老师让我先学完 springboot 再联系她进组下学期结束进入小学期,我开始在组里打杂,老师非常贴心地分配了一个研究生学长带我ww,我有不会的东西或者解决不了的问题都请教了学长,学到了不少东西因为组内做的是一个基于脚手架的 web 系统,所以我的主要产出(其实也没多少2333)是权限相关的 crud 还有一些前端的路由逻辑,以及定时任务相关的编写,在暑假结束后的九月份,项目交付了,我也没有继续跟着老师接其他的项目,开始去学习分布式微服务相关的知识,后面也是把以前跟着敲的外卖点评换成了微服务项目二、尝试投递日常实习我最早投递实习的时间是去年十二月,那会时间比较尴尬,没什么面试,只有鹅给了机会。第一次面试是天美的后台,处女面也很紧张,两道简单的手撕写了一个小时才做出来,导致面试官后面也时间问八股,随便了解了下我的知识广度就结束了。当天下午查询进度看到流程结束也是意料之中然后临近十二月底,微信支付的前端部门给我发了面试邀请(???),当时约的时间和一门课的汇报冲突了,推到了今年的 1 月 6 号,结果刚开始面试就和我说捞错了,想要直接释放简历,然后进入了反问环节(啊?反问我只问了 wxg 前端相关的技术栈,后端用哪些语言,部门业务之类的,二十分钟结束了面试微信这一出结束后,考试周也差不多到了尾声,我又投递了一些中小厂,可能是年底的缘故,没有一家约面,后面也就放弃了日常实习的投递,准备 allin 暑期实习三、投递暑期实习 + 个人经验过完年后,2 月 9 号回学校,准备暑期实习我只投递了比较大的厂,最终给面的也只有那几家。我的面试场次主要被腾讯占据,我的白月光也是腾讯,每次被挂了后不出半天就被另一个部门捞了(感觉是面评不错 + 运气尚可?),其他的公司我也没怎么面过不太好评价hhh,最后也是收到了腾讯的 offer虽然拒了美团的 offer,但还是想夸一下美团,飞快的流程 + 顶级的面试体验,我遇到的美团的面试官都非常非常非常尊重人这里也分享下我的面试经验,因为我暑期只面过腾讯、美团和字节,所以根据这三个公司的特点总结1. 腾讯、字节侧重考察 408 计算机基础,对计算机网络、操作系统考察又广又深2. 美团侧重问 Java 八股,准备美团面试的 uu 一定要重视 Java 的八股,包括 spring 框架、数据结构等等3. 大厂对项目很看重,一般面试流程是你先做自我介绍,然后面试官在你自我介绍的时候看你的简历,从你的项目开始发散八股和业务场景4. 面试官对你的项目会有一些扩展场景相关的提问,考察你对技术选型上有没有自己的思考5. 面试里面最重要的是手撕,如果这场面试的算法题没做出来,99% 会被判死刑。建议把 h100 刷完,再把 codetop 按频度排序前 5 页刷完,现在大厂算法很多并不是 h100 原题,可以在 codetop 这个网站上看看最近考得比较多的算法6. 除开计算机基础八股和算法,面试中我被问得最多的是中间件相关的原理和应用,比如 “你为什么用 rocketmq ?项目中哪里需要使用它?”、“有没有调研过其他的消息队列,为什么不用 kafka 或 rabbitmq?”、”redis 数据结构用过哪些?讲讲怎么用的“ 等等,因此,对于写在简历上的中间件技术一定要深入到底层架构和原理,不能仅仅停留在知道怎么用7. 面试这种东西,能力固然重要,但运气也是非常关键的一环,我和身边一起准备暑期的朋友交流讨论的时候都有这方面的共鸣。所以说还是要放平心态,面试挂了,并不代表你不优秀,很大可能是没有遇到看对眼的面试官。不管是秋招还是暑期,战线都很长,到后期才开始收割的大佬大有人在,各位不需要过于焦虑最后分享一句我非常喜欢的歌词:”比较是会夺走幸福的海盗船,我躺在沙滩偏偏不想出海~“祝各位能在暑期和秋招收获自己满意的 offer !附 offer timeline:腾讯:3/27 一面,4/1 二面,4/7 hr面,4/17 offer美团:3/28 一面,3/31 二面,4/1 oc,4/3 offer#暑期实习 ##腾讯##美团#
查看9道真题和解析
点赞 评论 收藏
分享
评论
84
320
分享

创作者周榜

更多
牛客网
牛客企业服务