首页 > 猿辅导暑期实习面经
头像
Staring2020
编辑于 2021-04-25 20:14
+ 关注

猿辅导暑期实习面经

一面(4.10)
1.Object类中有哪些方法
(太基础了,一下搞懵了,想了半天只想出来clone和wait notify,后来才发现忘了最基本toString,equals,hashcode那些)
2.说一下异常,常见的运行时异常
(基础部分真的好久没看了,凭借着模糊的记忆说了一下,也不确定回答的好不好)
3.进程、线程和协程
(答:线程是系统调度的,而协程可以在程序中进行调度)
4.协程说的再具体一点,怎么在程序中调度协程
(压根没用过协程,懵了)
5.什么是死锁
(说了半天,面试官直接问形成死锁有什么条件吗,我说了那四个条件,他说你既然知道为啥不早说)
6.循环依赖的解决方法
7.Spring中循环注入问题的解决方法
8.你商城项目的商品域的领域模型是如何设计的
(我:不好意思,什么是领域模型?😲
面试官:你就说商品域是怎么设计的
我:不好意思,什么是商品的“域”啊? 😲
面试官:就是你商品的类是怎么设计的,有哪些和商品有关的类)
9.知道SKU吗
(答:听说过,项目中没考虑这个问题)
算法:设计LRUCache(写一半说大概看出我的思路了,就让我停了)
提问环节我让他对我在学习上提一些建议,他说:建议你不要把主要精力花在项目上,其实你们在校生一般是搞不懂商城这么复杂的项目的,我们也不会期望你做出来这种项目,而是更关注你的基础,数据结构这些,还是多花点时间在这些东西上面吧

一面完整个人心态都崩了,倒不是因为感觉面试肯定挂了,而是明明问的都是很简单很基础的东西,自己却答的一塌糊涂,项目也是被问的哑口无言,感觉这种状态后面其他厂的面试也都要没戏了,后来没想到一面还是过了,感谢面试官的仁慈

二面(4.17)
参加过的最特别的面试
一上来问我哪些是我擅长的但上次面试没问到的,我说HashMap,他说数据结构是吧,既然说到这个了,那先来做一道很简单的题吧
1.合并两个有序数组,但是写出来只给6分,要从工程角度考虑,假如一个不懂技术的PM让你做这个事,你要如何去考虑去和PM沟通
写出来之后讨论了一下没考虑哪些问题,在实际项目中怎么去沟通
2.刚刚做的合并两个有序数组其实是归并排序的一个步骤,那么归并排序的时间复杂度是多少?如何推导出来的,要让一个什么都不懂的人能听懂
3.快速排序的时间复杂度,如何对快排进行优化?
4.快速排序和归并排序哪个更好?
(我说快排,他问原因,我耍了个机灵说因为一般语言里提供的的sort用的都是快排🤣
后来我说因为归并空间复杂度比快排高,他说归并也可以in-place的
我说那其他的我就真想不出来了,按理说归并时间复杂度还比快排稳定
他说对啊,好奇怪啊是不是,为啥归并稳定大家还都用快排?后来他说这个对我来说可能确实太难了,叫我去google一下)
5.MySQL场景题,给一个建好索引的表和两个SQL语句,判断索引建的是够合理,怎么对索引进行修改

这个面试官真的很好,出的题都不是单纯的八股文,而且会不断的去引导你

三面(4.25)
上来先自我介绍,然后聊了点实验室是做啥的
1.最近在学什么新的有意思的新东西吗?讲一讲(答:Redis的分布式锁)
2.Redis的持久化方式,各自的优缺点,适用的情况
3.Redis持久化时,数据从内存到磁盘的过程中若对这些数据进行了修改,而导致了数据不一致的情况要怎么办
4.有一堆数据,想取得其中从小到大第99%位的数据,要怎么做?
答:快排查找
问:时间复杂度是多少
答:O(n)
问:这样确实可以,但假如现在我不停有新数据加入,想要实时获取第99%位的数据,要怎么做?每次都快排查找一遍吗?
答:维护一个小顶堆,存储最大的1%的那些数据,若加入新数据,就和堆顶元素比较,若小于堆顶元素就丢掉,否则就加入最小堆
问:直接丢掉小于堆顶元素的数据会出问题
答:那就再用一个大顶堆存储那99%的数据
问:嗯,好像确实可以,那你用代码把你刚刚说的实现一下吧
实现完之后又问了一下这样时间复杂度是多少
反问环节问了一下面试表现怎么样,说还不错,希望不是场面话吧,写一下面经攒人品,许愿能拿到offer吧,听说牛客许愿特别灵

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐