贝壳北京现场面java(等结果)

发面经之前我想先说一下贝壳,这是我到目前为止见过最良心的公司了,20号HR的发帖通知大家应该也都知道,因为20号下午就已经有很多人收到了面试通知,然后没收到的很多人(包括我)都以为自己挂了,然后当晚HR发帖说因为人比较多,所以可能21号晚上才能把电话打完,告诉大家不要慌,全部通知完也会发帖告诉大家的,什么状态都明确告诉大家了,所以我当时就觉得这个公司的HR真的很暖心。(据说有些公司都有备用池,里面放一堆简历,也不明确告诉你通过状态,能不能捞上来就看运气了)
还有报销车费啊,贝壳是报销来回车费的,而且据说是不管过没过都可以报销的!
面试等待区还有一大堆的零食和饮料,那些等待面试的同学也不是很严肃的样子,大家看起来都很放松,有几个还和HR小姐姐有说有笑的,真的很温馨。(不是打广告,我没收钱啊)

明人不说暗话,我是来发面经的,大家可以把重点移到下面了。

一面

我是被通知三点面试的,然而一点五十就到了现场,本来还想好好复习一下的,结果两点就把我叫过去了,很突然。

1. 自我介绍
2. 你有什么值得一提的项目,用到了哪些技术,你们是怎么设计的
我提了一下简历里面的项目,然后对于用到的技术做了一些解释,但没说出什么业务方面的内容,面试官说我项目比较简单,还说本科生嘛没有关系,然后就开始问我基础
3. JVM内存模型了解吗?
这个答的中规中矩。。
4. java并发部分有看过吗?说几个常见的锁?synchronized和reentrantLock的区别
这个具体回答我忘了,总之比较中规中矩,回答的没什么问题(就是我扯了一大堆别的方面的内容,比如CAS和AQS,现在想想还不如不说,因为这会让面试官以为我没听懂他的问题)
5. 看你用过mybatis,应该是写过sql的,SQL优化了解过吗?
这部分回答的有点乱,说了一下建立索引和使用索引,preparedStatement编译优化等,面试官提醒我说SQL解释,我不太懂。。。
5. 设计模式了解哪些?手写一下单例模式
这个我写的是加volatile关键字的双重锁检查,还给面试官解释了一下,双重锁检查并不能保证完全的线程安全,因为创建对象不是原子性的,而且内部可能发生重排序,当对象初始化和引用指向对象这两步发生重排序就可能导致引用指向不为空但是使用对象还未初始化的情况,因此线程不安全,加volatile关键字就是防止重排序,也可以加锁保证创建对象的原子性,防止别的线程在创建对象的过程中就使用对象。
6. hashMap了解吗?原理是什么?
回答数组+链表,然后把hashMap的整个过程说了一通,还有resize在高并发情况下的线程安全问题,顺便提了一下concurrentHashMap保证线程安全的原理,还有1.8加的红黑树。
7. 你有什么想问的?
可能是每个问题我都回答的比较详细吧,所以面试官也没有问我太多问题(也可能是我记不得了),我让面试官对我做一个简单的评价,他的意见是:
  • 简历写的太少了,项目没什么东西,多写点基础方面的东西,比如了解多线程,并发,jvm等等,因为面试官看我项目不咋地,但是基础还是很扎实滴(当时听到这话的我表示很开心,以前从没有人说我基础好),其实我在大学也做过一些小项目,但是因为搬不上台面,就没写多少,一直在删,然后专业技能方面也不敢多写,理解不透彻的知识都不敢往上写,现在看来我也许应该对自己自信一点
  • 不必和面试官太过客气,不然反而可能让面试官感到膈应(可能是我说“你好”/“谢谢”的次数太多了?)
  • 不要舍本逐末,讲的太细可能导致讲不完,会让面试官感觉你斤斤计较,没有一个大体上的认识,比如讲juc的时候我就开始从volatile讲起,就是想把整个并发完整的讲一下,结果没有控制好时间,前面说的太多,最后也没有讲完,这会让面试官认为你没有找到这个问题的重点(我让你讲juc你扯一大堆volatile和CAS干啥?)
  • 会就是会,不会就是不会,会也不要过分表现自己不要炫技,用力过猛可能导致结果适得其反,不会没关系,每个人都有不会的,但你会的话也不要太宣扬,毕竟你会这些也没什么了不起的,这个。。我就是个反例,大家引以为戒吧

二面

一面回去等二面,一个半小时后才叫到我,再晚的话我都以为没过了呢。。
二面全程手撕算法,面试官先看了看我的笔试成绩。
我:编程题还可以,选择题很多都是关于图部分的,之前也没做太多这方面的准备,所以选择题比较差
面试官:嗯嗯,选择题错了不少
我当时挺紧张的,因为我后来也没有复习图相关的知识,他要是考我笔试的错题我就GG了。。。

他让我写个topN的算法,我就说了一下原理,说我可以用最大堆的方式来解决,面试官说嗯,思路不错,但我想看完整的代码,我写了大概几分钟吧,比较乱,然后给他看,解释了一通,他说可以,然后提示我用快排的思路来写,我想了想,说可以通过找基数位置并和n比较来找到topN,比如用快排思路的话,让基数左边的数大,右边的数小,然后找到基数的位置和n比较,比n大就把右边的区间抛弃,比n小就把左边区间的所有数全部放入list中,然后递归剩下的区间,直到基数下标位置等于n,面试官说可以可以,你能写出具体代码吗?
写是写出来了,但面试官看了之后,说我思路没错,但是写的有问题,他告诉我n也是需要作为参数的,让我重新写,面试官说,如果你这次能写出来,我就让你过二面,我当时的心情就是。。。



看到了希望,又怕写不出来,因为我表面上和面试官说是理解了,但其实内心还是似懂非懂。。。
然后我想了一分钟,中间没下笔,我还是觉得自己的写法没什么错的,然后我和面试官就开始继续讨论原来那个写法,面试官也懵逼了,然后就变成了以下情形:
  • 面试官:    不行啊,你这个,看起来有问题
  • 我:            &*%……&%&*&%¥……*
  • 面试官:    等等,你先别说话,让我仔细想想
  • 我:            。。。哦(面试我呢还不让我说话)

后来我发现了问题,我是把n直接转成数组下标的,但是面试官是把n当作个数/数量的,所以在我这里n是全局变量,不用变,我只需要找到n这个固定的下标位置就行,而面试官想的是把n当作数目,当基数p位置比n小的话就把所有左边区间的数放入topn列表中,然后继续找剩下n-p个数字,所以他是想把n当作会变的参数来传的,然后我和面试官解释完之后,面试官说:emmm,这个有点意思

事实证明我写的确实没错,只不过和面试官理解有出入而已,面试官说他可能是被原有的思路固化了,所以一直想不通,之前还没看过这种写法,面试官:是这样啊,这种写法我还是第一次见,我说没关系,我以前也没见过。
结果我没写他那个意思的代码,所以。。。。。。他当然是让我过了【笑】(其实现在完全理解之后他那种想法我也能很顺利的写出来)
总结:手撕算法。。。这个,还是不要只懂原理,尽量多自己实现一遍,否则很可能在手撕算法的时候吃亏

二面回来才发现自己刚刚好紧张,手心都是湿的,HR小姐姐还问我怎么了,我说没事,太紧张了(HR小姐姐人很好的)

三面HR面

因为我要着急赶火车,之前两次面试都花了我一个小时的时间,中间还等了一个半小时,所以时间可能有点来不及了,我就和HR小姐姐商量了一下,结果等了几分钟就通知我三面了,因为是第一次进到HR面,没做准备,所以回答不太好,以前都是在技术面就挂了,谁能想到我这次能进HR面。。
1. 自我介绍
我:我可以说技术方面的自我介绍吗?
面试官:不行
我:(乱说一通吧)&*%……&%&*&%¥……*
2. 我大学期间做过最困难的一件事情是什么?
3. 和同学或者做项目的队友产生分歧,意见不和的时候怎么解决?
这部分确实没准备,所以想到什么就说什么了,之后面试官评价我,说这些事情,一定要说出做这件事难在哪里,然后怎么解决的,具体一点,(不然直接说这事很难,最后解决了,别人会以为这事其实并不难),总之要体现出你自己的价值,你在这件事里面的作用,还有对你自己的成长
4. 你对贝壳有什么了解?
这个我倒是没什么可说的,面试官是想从业务方面来让我谈谈的,我不怎么了解,就思考着可能用到的方案,感觉不是很好
5. 你有什么要问我的吗?
我问了工作和要不要考研的这个选择,因为我自己认为考研的话其实作用不大,但是很多人都去考研了,我的父母也一直劝我考研,我虽然说服了他们,但是该不该坚持找工作我还是心存疑虑的,然后面试官一听这个问题就笑了,他的回复是如果你做研究生不到一年就去找实习,那你上研究生的意义何在?因为现在保研门槛不是很高,所以他们的看法是,本科能考上985,考上清华北大,你很厉害,你研究生上清北,那实际上说明不了什么。
面试官问我我旁边的人都为什么考研,我说大部分都是找不到好工作或者跟风的,面试官就这么回复我,你要读研还是找工作,你得知道自己是干什么的,走哪条路能给你带来的收益更大,哪条路更适合你自己,你得有选择地去看待问题,而不应该盲目跟风或者以此来逃避社会或逃避现实问题。我现在想想,我的看法应该和面试官是一样的,就是不知道面试官怎么看我吧。(难道这就是现在很多公司看重本科的原因
因为要赶火车,所以HR也没问太多问题,聊了大概二十分钟就结束了面试。面试官让我回去等,说是一周之内出结果。

总结

总体上来看,这是我面试以来最成功的一次了,一下午连面三场(如果前面没过的话会直接通知,然后你就可以走人了),非常的紧张刺激,体验很好,同时也看到了很多自己的不足,这一趟北京没白来,有些人可能觉得,去北京那么远,那么累,还浪费学习时间,但是我觉得多实战几次,你能更多的了解到自己的缺陷,比如HR面我就没有准备,一面面试官也告诉了我简历方面的问题,起码现在我知道自己应该往哪个方向努力了,面试不是说你就一定得过才行,它更像是一个查漏补缺的过程,你在这个过程中不断积累经验,完善自己,最后就可以拿到高薪offer,迎娶白富美,出任CEO,走上人生巅峰【大雾】,说点有用的吧,面试是场持久战,坚持下来总能得到自己想要的。

这是我发过的最长的一篇面经。。。。。格式有点乱,所以希望内容能有用一些

#贝壳找房##内推##面经##提前批##Java工程师#
全部评论
贝壳确实面试体验特别棒。 可惜我六年没碰球了,二面被锤爆 挂了... 不过书包里装了hr硬塞给我的零食也不亏...
点赞 回复 分享
发布于 2018-08-27 01:15
这hr跟我的应该是一个哈哈哈,是男的吧还挺喜欢笑
点赞 回复 分享
发布于 2018-09-03 11:51
楼主 offer拿到了吗
点赞 回复 分享
发布于 2018-09-03 10:32
算法都是纸上写吗
点赞 回复 分享
发布于 2018-08-29 07:07
点赞 回复 分享
发布于 2018-08-27 11:18
祝贺楼主,提前预祝拿offer
点赞 回复 分享
发布于 2018-08-27 08:57
面试真的是一个查漏补缺的过程,楼主加油
点赞 回复 分享
发布于 2018-08-27 06:48
我跟你一样的感觉,这次面试是我感觉最好的一次面试。
点赞 回复 分享
发布于 2018-08-27 03:14
我觉得那个sql是想你让你讲sql的explain?
点赞 回复 分享
发布于 2018-08-27 01:44
其实不要报太大希望……因为过的人很多
点赞 回复 分享
发布于 2018-08-27 01:07
恭喜喜提offer
点赞 回复 分享
发布于 2018-08-27 00:40
赞赞赞
点赞 回复 分享
发布于 2018-08-27 00:27

相关推荐

04-29 12:00
门头沟学院 Java
发一下问题给大家参考,攒攒人品!1. 实习拷打2. 你现在还在实习吗?3. 说一下你实习时候的工作。4. 这几项工作都是你独立做的吗?你主要负责哪一个?5. RAG和传统搜索有什么区别?6. 为什么不直接用关键词检索?7. 举个例子,智能体和大模型怎么交互、协同?工作流程是什么?8. 检索这块你做过效果上的优化吗?9. 有具体的优化案例吗?从效果不好到变好的过程。10. 怎么保证积分可靠性,防止多扣/多增?11. 分布式锁原理大概是什么?12. SETNX 的功能是什么?13. 加锁后进程异常退出,锁泄露怎么办?14. 介绍一下 Spring AI 这个框架。15. 是用 workflow 方式搭建的 agent 吗?16. 用 Spring AI 写一个 agent 的过程大概是什么样的?17. 整个过程完全是大模型自己决策吗?18. 还接触过其他 Agent 开发框架吗?19. 进程和线程有什么区别?20. 线程之间哪些内存是共享的?21. CAS 是什么?22. ThreadLocal 有什么作用?原理是什么,怎么实现线程隔离?23. Kafka 分区的目的是什么?压力具体指什么?24. 实际自己搭建、使用过消息队列吗?25. 为什么选用 RocketMQ,而不是 Kafka?26. 延迟队列是怎么实现的?
查看25道真题和解析
点赞 评论 收藏
分享
评论
点赞
120
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务