近期面试总结

17年末和18年初近两个月时间尝试了几次面试,最终也很幸运的收到了搜狐和滴滴的offer,面试过程中接触到了顶尖互联网的同行,学习到了很多东西,也意识到的自己的不足,在此做一下简单的总结。

契机

本来是没打算面试和跳槽的,在现在这个公司担任开发组长,个人技术发展没有很大的提升空间了,就决定18年四月份的时候看看机会。现在回想起来,如果你在认真思考后决定跳槽应该早点做准备和决定,不能固定死一个时间点。正当我继续和spark做一些简单的搏斗时,朋友同事有个阿里的内推,据说只需简单面试即可,虽然感觉不会这么简单,但确实是个较好的机会,于是注册了猎聘,写了份简历发过去了。就此拉开了紧张激烈的面试之旅。

阿里

元旦前夕的周四下午接到阿里的电话,以为只是简单的确认一下信息,没想到直接就是第一轮电话面试,打了我一个措手不及,面试官非常的nice,总体上我还是比较放松的。先从HashMap说起,让我谈了一下HashMap的底层实现,Java7和Java8的实现区别。这部分我掌握的还算不错,毕竟面试别人也是这个套路。随后谈到HashMap和HashTable的区别,同步和非同步等,紧接着是ConcurrentHashMap,问了我并发Map是如何实现的,很丢人的不知道,后来才知道是分段锁。自然的转到了锁的话题,synchronized关键字、Lock等,这部分掌握的也不是特别好,尤其的面试官特别关注底层实现,我只能说到一些表面的东西。随后又谈到了Java虚拟机部分,这部分原来我还是有点自信的,毕竟读了两遍深入理解java虚拟机,说了下内存布局、垃圾回收算法,虚拟机执行引擎等等,但因为没啥准备,偏向细节部分的东西很多都忘记了。基础部分结束后,面试官又问了一些消息队列如RabbitMQ、服务治理Dubbo、分布式缓存Redis等方面的知识,由于工作中没什么接触,自然答得不好,最后让我说一下缓存按日期失效的实现方案,我说对每个元素做TTL索引后即可,不知道答得如何。最终他还是放过我一马,告诉我好好准备第二轮面试。总的来说第一轮面试无论从广度和深度来说都有涉及,面试官技术能力非常强,但由于没啥准备,被虐的体无完肤。晚上回家邮件交流了以下,说是二面广度和深度都会加强,当时我整个人都不好了。然后无意中发现面试我的老哥叫翡青,CSDN的博客专家,翻了下他的技术博客,我反正是跪了,这技术能力确实甩我十八条街,有兴趣的可以去瞻仰一下(http://my.csdn.net/hanqing280441589
元旦接到了二面电话,当时我还在睡觉~~,约到了下午三点,先是让我介绍了做的项目,针对项目架构上的问题和用到的框架做了简单的询问,比如Netty的NIO模型(轮询模式),MongoDB的底层存储等,然后问了问了我如何判断流结束,我回答读到-1时表示流结束,貌似答得不是很好。项目部分问完后首先问了我hashcode的实现方法,我回答是本地方法,他就没有继续了。随后问了链表的排序,我当时有点紧张,答成了堆排序,刚想思考一下再说,他就直接下一个问题,又问了Linux软链接和硬链接的区别,我表示只是修改过这个值增加进程最大句柄数,至于区别就不太清楚了,于是直接跳过,问了些Java垃圾回收相关的知识,例如CMS和G1收集器的区别等,这部分答得浮于表面。随后问了1G数据如何通过250M内存进行排序,这是一个标准的内外排序结合,我回答现将文件分为N份进行排序后写入N个文件中,再进行归并排序,他不太满意,说还是避免不了内存不够的问题,然后就结束了这次面试。可笑的是当时面试完感觉良好,应该能到三面,没想到直接挂了233,现在想起来确实很多地方答得不好,而且面试官特别赶时间的样子,一个问题抛出来,你答得不好,直接跳过。尤其是他问道Session和Cookie的区别时,我回答后表示对Web方面没什么接触,他直接表示这部分不再深入了。
二面挂了出乎意料又在情理之中,感觉自己太菜了,而且职业技能存在明显的短板,常用的SSH等框架基本没有接触过,更多的是纯后台技术。最近几个月要好好的掌握一下这方面的技术。

美团

首先要轻轻的吐槽一下美团的HR,微信交流的时候开口就是另一个人的名字,交流了几句我才发现这个问题,很怀疑他们是打错电话了,不过最终还是给我发了面试邀请,然后通知短信又把我的面试职位弄成了运营经理~~,当然,这些小插曲丝毫不影响我进入美团的期望。
上午十点开始的技术面,面试官上来就扔了个算法题,从数组中找出和最大的子序列。当时就有点慌了,考虑了一会决定先按最简单的暴力枚举来,但思路没缕清楚,代码写的很乱,面试官不是很满意。随后就是例行自我介绍,问了一些项目上的问题,总体还是比较简单的,然后就是各种集合的实现和对比、Java虚拟机方面的内容,MongoDB的索引实现等,索引部分答得不是很好,因为是做LBS的,问了以下Mongo的地理位置索引,这部分之前没怎么关注过,他让我说一下实现思路,我回答用经纬度做个联合索引。正当我以为一面快结束的时候,又来了一位兄弟,很是咄咄逼人,问的非常深入,比如volatile关键字,我自认为答得不错,他认为我理解的有问题,又问我volatile是否为影响性能,我说应该会,因为需要随时刷新到主内存,现在想起来应该是想问我伪共享的问题吧。又问了Java方法栈的一些细节,如方法调用过程、栈帧分配等,这部分我回答有点粗。至于后续的锁中的AQS,当时根本就没听懂他在说啥。很奇怪的是,他问我hashcode的实现方法,我回答Object类中是本地方法,然后他斩钉截铁的说不对,说随便翻翻源码就知道我说错了,当时只能稍微认怂,难道是我们两在谈两个东西?
随后的二面三面还是比较顺利的,面试官很不错,和我一次画项目和HDFS等项目图,一起探讨架构方面的问题,手撸了二分查找算法,用栈实现队列等。随后是HR面,问了一些对美团做打车业务的看法,虽然个人感觉不靠谱,但还是尽量从技术和运营角度尝试分析了一下。之后问了一下职业规划、期望薪资和入职时间等。总的来说还是比较愉快的。
好了,又到了吐槽HR时间了,我是周三的面试,说好周五给结果,然后到周五晚上也没结果,我问了HR后,说周一给,然后周一也没有给,这时候我感觉是凉了,周二的时候才跟我说有三个候选人。。然后晚上告诉我说挂了。问了下原因,职业规划不好,感觉我不踏实,我怀疑HR对于我想回杭州发展也是有顾虑的。
美团挂了让我有点小难过,总结下来就是技术不过硬,职业规划做的不好,HR面试没准备。不过马后炮的说一下,去美团也不一定是个好选择,上班不方便,一面的大神态度也不好,美团打车的发展前景等都不是很看好。只不过美团挂了后手里没offer后续面试就有点被动了。

搜狐

搜狐和美团一天面试的,从望京打车到中关村买了个包子胡乱对付一下就开始面试,一面的面试官很温和,聊得不错,但是他委婉的告诉我他们更多的偏向于Web,可能不太适合我这种纯后台岗,问了一些Java性能优化方面的实践、比如发现FullGC时间较长,应该如何解决,我当时没怎么细致考虑,直接说加内存以及从代码层面寻找原因,实际上应该考虑应用是吞吐量优先还是短停顿优先。二面的面试官技术很强,问了很多项目技术选择的原因,Java8的lambda表达式中,局部变量除了使用final修饰传递参数还可以用什么方法?协程的问题等。还有一些语言的优劣等。还跟我聊了一些技术发展趋势和个人成长等方面。我问了他搜狐的技术栈,他列举了比如Docker、Redis等,指出我的技术已经相当落后了,现在很多公司Docker都是主流了~~
搜狐面试问的比较少,主要以学习为主吧,本来听到我的技术栈跟他们不是很符合后就不抱希望了,没想到给我打电话约HR面了,HR面做了一些准备后顺利通过了,感谢美丽的HR~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值