欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

我的阿里、头条等公司面试经历及总结

程序员文章站 2022-04-09 10:41:55
从面试的难易程度看阿里 > 美团 > 头条 > 有赞 > 网易 > 曹操专车 > 美亚柏科。整个过程的体会是基础真的很重要,基础好了很多问题即使没遇到过也可以举一反三。另外对一样技术一定要懂原理,而不仅仅是怎么使用,尤其是缺点,对选型很关键,可以很好的用来回答为什么不选xxx。另外对一些比较新的技术有所了解也是一个加分项。...
为啥跳槽?

每次说因为生活成本的时候面试官都会很惊奇,难道有我们这里贵?好想直接给出下面这张图,厦门的房价真的好贵好贵好贵。。。

我的阿里、头条等公司面试经历及总结

面试过程

上半场

曹操专车

这是吉利集团下属子公司,已经是一家独角兽。一面中规中矩,没啥特别的。二面好像是个主管,隔了好几天,基本没问技术问题,反而是问职业规划,对加班有啥看法,有点措手不及,感觉回答的不好。但是过几天还是收到hr的现场面试通知。现场是技术面加hr面,技术面被问了几个问题有点懵逼:

a. zookeeper的watcher乐观锁怎么实现

b. 一个项目的整个流程

c. 说出一个空间换时间的场景

d. centos7的内存分配方式和6有啥不同

e. 你对公司有什么价值。

hr跟我说节后(那会再过两天就是清明)会给我消息,结果过了半个月突然接到他们的电话,说我通过了,给我讲了他们的薪资方案,没太大吸引力,再加上这种莫名其妙的时间等待,直接拒了。

美亚柏科

估计很多人没听说过这家公司,这是一家厦门本土公司,做*安防项目的,在厦门也还是小有名气。但是面试完直接颠覆了我对这家公司的认知。进门最显眼的地方是党活动室,在等面试官的一小段时间里有好几拨人到里面参观。面试前做了一份笔试题,基本都是web/数据库方面的。第一面简单问了几个redis的问题之后面试官介绍了他们的项目,他们都是做c和c++的,想找一个人搭一套大数据集群,处理他们每天几百g的数据,然后服务器全部是windows!二面是另一个部门的,印象中就问了kafka为什么性能这么好,然后就开始问买房了没有,结婚了没有,他对我现在的公司比较了解,又扯了挺久。三面应该是个部门老大了,没有问技术问题,也是问买房了没,结婚没,问各种生活问题,有点像人口普查。我有点好奇,问他们为啥这么关心这些问题,他直接说他们更强调员工的稳定性,项目比较简单,能力不用要求太高,不要太差就行。汗,直接拒了。

有赞

绝对推荐的一家公司,效率超高。中午找了一个网友帮忙内推,晚上就开始一面,第二天早上二面,第三天hr就约现场面试时间,快的超乎想象。现场面也是先一个技术面,最后才hr面。面试的整体难度中等。现在就记得几个问题:g1和cms的区别,g1有啥劣势;kafka的整体架构;netty的一次请求过程;自旋锁/偏向锁/轻量级锁(这个问题在头条的面试里也出现了一次)、hbase线上问题排查(刚好遇到过numa架构下的一个问题,借此把hbase的内核介绍了下)。 这里不得不说下有赞的人,真的很赞。终面的面试官是一个研发团队的负责人,全程一直微笑,中间电话响了一次,一直跟我道歉。面完之后还提供了团队的三个研发方向让我自己选择。后面看他的朋友圈状态,他那天高烧,面完我就去打点滴了,但是整个过程完全看不出来。帮我内推的网友是在微信群里找到的,知道我过了之后主动找我,让我过去杭州有啥问题随时找他。虽然最终没有去,但还是可以明显感受到他们的热情。

字节跳动(今日头条)

hr美眉打电话过来说是字节跳动公司,想约下视频面试时间。那会是有点懵的,我只知道今日头条和抖音。后面想到北京的号码才想起来。头条可以说是这次所有面试里流程最规范的,收到简历后有邮件通知,预约面试时间后邮件短信通知,面试完后不超过一天通知面试结果,每次面试有面试反馈。还有一个比较特别的,大部分公司的电话或者视频面试基本是下班后,头条都是上班时间,还不给约下班时间(难道他们不加班?)。

一面

面试官刚上来就说他们是做go的,问我有没有兴趣,他自己也是java转的。我说没问题,他先问了一些java基础问题,然后有一道编程题,求一棵树两个节点的最近的公共父节点。思路基本是对的,但是有些细节有问题,面试官人很好,边看边跟我讨论,我边改进,前前后后估计用来快半小时。然后又继续问问题,http 301 302有啥区别?设计一个短链接算法;md5长度是多少?整个面试过程一个多小时,自我感觉不是很好,我以为这次应该挂了,结果晚上收到面试通过的通知。

二面

在一个上午进行的,我以为zoom视频系统会自动连上(一面就是自动连上),就在那边等,过了5分钟还是不行,我就联系hr,原来要改id,终于连上后面试官的表情不是很好看,有点不耐烦的样子,不懂是不是因为我耽误了几分钟,这种表情延续了整个面试过程,全程有点压抑。问的问题大部分忘了,只记得问了一个线程安全的问题,threadlocal如果引用一个static变量是不是线程安全的?问着问着突然说今天面试到此为止,一看时间才过去二十几分钟。第二天就收到面试没过的通知,感觉自己二面答的比一面好多了,实在想不通。

下半场

一直感觉自己太水了,代码量不大,三年半的it经验还有一年去做了产品,都不敢投大厂。上半场的技术面基本过了之后自信心大大提升,开始挑战更高难度的。

美团

这个是厦门美团,他们在这边做了一个叫榛果民宿的app,办公地点在jfc高档写字楼,休息区可以面朝大海,环境是很不错,面试就有点虐心了。 两点半进去。

一面

我的简历大部分是大数据相关的,他不是很了解,问了一些基础问题和netty的写流程,还问了一个redis数据结构的实现,结构他问了里面字符串是怎么实现的,有什么优势。一直感觉这个太简单,没好好看,只记得有标记长度,可以直接取。然后就来两道编程题。第一题是求一棵树所有左叶子节点的和,比较简单,一个深度优先就可以搞定。第二题是给定一个值k,一个数列,求数列中两个值a和b,使得a+b=k。我想到了一个使用数组下标的方法(感觉是在哪里有见过,不然估计是想不出来),这种可是达到o(n)的复杂度;他又加了个限制条件,不能使用更多内存,我想到了快排+遍历,他问有没有更优的,实在想不出来,他提了一个可以两端逼近,感觉很巧妙。

二面

面试官高高瘦瘦的,我对这种人的印象都是肯定很牛逼,可能是源于大学时代那些大牛都长这样。先让我讲下kafka的结构,然后怎么防止订单重复提交,然后开始围绕缓存同步问题展开了长达半小时的讨论:先写数据库,再写缓存有什么问题?先写缓存再写数据库有什么问题?写库成功缓存更新失败怎么办?缓存更新成功写库失败怎么办?他和我一起在一张纸上各种画,感觉不是面试,而是在设计方案。

三面

这是后端团队负责人了,很和蔼,一直笑呵呵。问了我一些微服务的问题,我提到了istio,介绍了设计理念,感觉他有点意外。然后他问java8的新特性,问我知不知道lambda表达式怎么来的,我从lambda演算说到lisp说到scala,感觉他更意外。此处有点吹牛了。我问了一些团队的问题,项目未来规划等,感觉榛果还是挺不错的。 四面。这个应该是榛果厦门的负责人了,技术问题问的不多,更多是一些职业规划,对业务的看法等。面试结束的时候他先出去,我收拾下东西,出去的时候发现他在电梯旁帮我开电梯,对待面试者的这种态度实在让人很有好感。 出来的时候已经是六点半。

网易

面的是网易云音乐,平时经常用,感觉如果可以参与研发应该是种挺美妙的感觉。 

一面

下午打过来的,问我有没有空,我说有,他说你不用上班吗?有态度真的可以为所欲为(苦笑)。然后问了为什么离职,聊了会房价,问了几个netty的问题,gc的问题,最后问下对业务的看法。 然后约了个二面的时间,结果时间到了没人联系我,第二天打电话跟我道歉重新约了时间,不得不说态度还是很好的。

二面问的反而很基础,没太多特别的。让我提问的时候我把美团二面里的缓存问题拿出来问他,很耐心的给我解答了好几分钟,人很好。

阿里

这个其实不是最后面试的,但是是最后结束的,不得不说阿里人真的好忙,周三跟我预约时间,然后已经排到下一周的周一。总体上感觉阿里的面试风格是喜欢在某个点上不断深入,直到你说不知道。

一面

自我介绍,然后介绍现在的项目架构,第一部分就是日志上传和接收,然后就如何保证日志上传的幂等性开始不断深入,先让我设计一个方案,然后问有没有什么改进的,然后如何在保证幂等的前提下提高性能,中间穿插分布式锁、redis、mq、数据库锁等各种问题。这个问题讨论了差不多半小时。然后就问我有没有什么要了解的,花了十几分钟介绍他们现在做的事情、技术栈、未来的一些计划,非常耐心。

二面

也是从介绍项目开始,然后抓住一个点,结合秒杀的场景深入,如何实现分布式锁、如何保证幂等性、分布式事务的解决方案。问我分布式锁的缺点,我说性能会出现瓶颈,他问怎么解决,我想了比较久,他提示说发散下思维,我最后想了个简单的方案,直接不使用分布式锁,他好像挺满意。感觉他们更看重思考的过程,而不是具体方案。还问了一致性hash如何保证负载均衡,kafka和rocketmq各自的优缺点,dubbo的一个请求过程、序列化方式,序列化框架、pb的缺点、如何从数据库大批量导入数据到hbase。

三面

是hr和主管的联合视频面试。这种面试还第一次遇到,有点紧张。主管先面,也是让我先介绍项目,问我有没有用过mq,如何保证消息幂等性。我就把kafka0.11版本的幂等性方案说了下,就没再问技术问题了。后面又问了为啥离职,对业务的看法之类的。然后就交给hr,只问了几个问题,然后就结束了,全程不到半小时。 不懂是不是跟面试的部门有关,阿里对幂等性这个问题很执着,三次都问到,而且还是从不同角度。

总结

从面试的难易程度看阿里 > 美团 > 头条 > 有赞 > 网易 > 曹操专车 > 美亚柏科。整个过程的体会是基础真的很重要,基础好了很多问题即使没遇到过也可以举一反三。另外对一样技术一定要懂原理,而不仅仅是怎么使用,尤其是缺点,对选型很关键,可以很好的用来回答为什么不选xxx。另外对一些比较新的技术有所了解也是一个加分项。

来源:java高级互联网架构