猿辅导斑马电商Java实习一面

上周三还是周四在牛客推的简历,约了11.2面试,这儿做个记录。

一开始面试官进场,老话题,自我介绍。

介绍完让我讲讲自己的项目,讲完正式开始面试。

先问了我怎么维护登录状态。答Spring Security可以维护一个ThreadLocal来存储,然后扯了扯ThreadLocal的原理和使用场景,并且因为线程池复用的时候不能保证是同一个线程,Spring Security会讲Session退回http session存储。面试官接着问这是单机模式,分布式怎么办,答token或者redis存储。然后让我讲讲token,我详细讲了JWT的原理和结构,扯了扯CSRF攻击,这部分大概结束了。

然后问了我怎么维护redis和数据库之间的一致性,答双重删除。

之后问数据库的可重复读怎么解决并发问题,答MVCC,并解释了其原理。并且扯了扯Key Lock,Gap Lock,Next-Key Lock解释这个可以解决幻读。

问怎么优化数据库索引,答慢查询explain一套,举了个like前缀的例子,问为什么前缀会失效,详细解释了B+树的规则,联想到了最左匹配原则,解释了一下最左匹配原则,再问哈希索引和B+树优劣,答不方便范围查询以及哈希碰撞。

问redis怎么解决分布式的高可用,答哨兵模式,解释了哨兵的工作原理,raft投票机制,重新选取主节点流程,并且讲了讲怎么防止脑裂的数据丢失。

问输入网址之后发生了什么,答网络一套,引申出了SpringBoot的工作流程,扯了扯适配器模式。

开始做题。
第一题:给一个表示多位数的链表,让多位数加一。我给了三个解决方案:
一、转换成数字后再加一再转换成链表。
二、用栈保存,一旦要进一就弹出一个。
三、先反转再加一再反转。
第二题:有点难度,求二叉树最大宽度,好像是面试官自己的变种。
答填充后bfs。

面试结束后马上收到了二面通知,这个面试官真的人好好,全程微笑,回答问题也给了及时的反馈,不过算法题确实有点难。
#猿辅导##Java工程师##实习##面经#
全部评论
tql
2 回复 分享
发布于 2020-11-02 21:36
力扣662 https://leetcode-cn.com/problems/maximum-width-of-binary-tree/ 二叉树最大宽度 和这个一样吗 求问楼主
点赞 回复 分享
发布于 2020-11-03 11:35
请问大佬是大三上学期投的日常实习吗
点赞 回复 分享
发布于 2021-03-26 21:05

相关推荐

沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
6 32 评论
分享
牛客网
牛客企业服务