阿里中间件 6 轮面试被砍的血泪总结

2018-03-20 22:37:03 +08:00
 zacard

背景

年前在 V2EX 遇到阿里中间件的哥们,内推面试。从 2018.02.01 开始到今天 2018.03.20 ,一场浩浩荡荡,跨年,持续了 1 个半月时间的残酷面试终于尘埃落定。遗憾的未能加入阿里中间件部门这个大家庭,让我深感痛惜。

最终未能如愿的原因是“名额有限,有更适合的同学”。这也可能是内推大哥为了顾及我的感受的说辞,可能是最后一面面的不好。

这里凭借隐约的记忆,总结下面试经过。让我自己引以为戒,奋发自强,继续前行

一面

主要问一些 java 基础。包括集合、多线程、ClassLoader、锁、juc 类库等都要知道大致的原理、使用规范、约定

二面

根据项目,深入探讨。你需要清楚你所做项目的关键细节、优化、特点、原理。所用第三方库&中间件等的原理,即使不知道,也要有自己的想法能够说出如何代替实现!而且需要一定的技术知识的广度,对于如何选型,为何这么选型能够说出自己的理由

三面

个人感觉着重技术深度

从 ConcurrentHashMap 一路问到锁&锁优化->LongAdder->伪共享->缓存行填充->cas 等诸多技术细节;

从 hystrix 一路问到原理->自己如何实现->如何优化->响应流编程(reactive streams);

从简单的生产者消费者模式设计到如何高效健壮实现;

等等。

四面

纯 coding。

如何倒序输出单向链表?

个人直接想法是用栈先进后出的特点,把链表数据读到栈里然后输出。

有更好的实现方式吗?

仔细一想,确实不够优雅,还好之前刷过一阵子的 leetcode,一般能用栈解决的都能用递归搞定。换了一种递归实现:

具体看本人的github 传送门

五面

hr 面,唯一一次现场面,一直以为是最后一面呢。

给大家抛出几大深坑问题:

这几个问题,大家深思啊,不多说。

六面

大概晚上 20:00 的时候接的电面。那会刚刚游泳游了大概 2,300 百米,然后又没有吃饭,肚子咕咕叫。忍着接听。

主要问项目情况,然后根据一个项目,问如果量级扩大 1000 倍,你会怎么做?有哪些优化措施?高性能&高可用措施?

后面有点饿的眩晕,不知道怎么结束的。。。

总结

感觉阿里更偏重扎实的基础和解决问题的创意与能力。个人感觉自己缺乏大并发、大流量下面对各种复杂问题的处理经验与解决方案,继续沉淀学习吧。

另外,烦请各位大神指点在下写的博客

30462 次点击
所在节点    职场话题
115 条回复
0915240
2018-03-21 11:01:07 +08:00
@zacard #60 已订阅
fcoolish
2018-03-21 11:21:26 +08:00
楼主社招几年的?
Socket
2018-03-21 11:27:21 +08:00
阿里巴巴新零售招各种开发职位,邮箱 socketio#qq.com ,团队大有可为,欢迎各位
richardhit
2018-03-21 11:42:39 +08:00
说实话,感觉很多内部的人出去,再想面试进来,也是蛮难的。真是尴尬。
miki6180
2018-03-21 11:44:50 +08:00
瑟瑟发抖
coalo
2018-03-21 11:50:56 +08:00
下周一去阿里前端一面瑟瑟发抖地飘过。。。
york1996
2018-03-21 12:00:08 +08:00
@Socket 阿里有 python 开发的吗?
AlibabaSS
2018-03-21 12:23:18 +08:00
欢迎这周六来阿里调度&容器技术沙龙,系统软件事业部的同学们欢迎大家~ http://sc-meetup.wixsite.com/scmeetup
TimCheng
2018-03-21 12:28:01 +08:00
@callmexiaobo #50 整理一下发出来吧,让更多开发者看到。
joeke
2018-03-21 12:32:05 +08:00
阿里那么恐怖的吗 六面!!!!
lance6716276
2018-03-21 12:49:32 +08:00
@zacard 我没太看过 JVM,但是递归的话 JVM 也要额外保存上下文吧,存储的东西更冗余了。JVM 的栈深度总比你自己申请一个要浅吧,这在 C 系里面不是常识吗
winglight2016
2018-03-21 12:59:19 +08:00
@bengol 1000 倍,简单点水平扩展 1000 倍的服务器就可以解决,无限和这个没法比
StephenW
2018-03-21 13:29:20 +08:00
楼主工作几年了?面这么多轮不是能力不匹配的问题,都是其他因素决定的。
arsgm
2018-03-21 13:49:47 +08:00
请教一下楼主,这些知识都是日常工作积累吗?感觉好多都接触不到,平时怎么积累这些方面的知识呢?
liuguicen
2018-03-21 13:50:28 +08:00
这个栈的题真不咋样啊,反转链表感觉好很多
fyooo
2018-03-21 14:08:04 +08:00
Orz
fxxkgw
2018-03-21 14:31:14 +08:00
这个一面有点搞笑啊,社招会专门问这些么?不应该是掺杂着顺道提一下么?
阿里的面试其实也就那样,我身边从 P6 到 P8 都有过去的,但我个人并不觉得他们怎么厉害,只要你在工作中实际参与过一些稍微复杂、高大上的项目,面试时候基本都过得去,剩下的就是看面试官情况了,有些人角度刁钻,逮着你三年前的项目一个劲问,有些阿里面试官喜欢显摆算法,一言不合就一堆算法抛过来。
记得在知乎看过一个问题:哪些事情是你当了领导才知道的?有个回答是:作为面试官,真的会很紧张。
社招一面、二面这些面试官,可能他们跳槽时候换成了你面试他们,所以他们只能逮着你简历里他熟悉的东西一个劲的问,假如你当时只是浅尝辄止,那可能就悲剧,如果你真的很深入,那恭喜你。。
所以综上,面试有时候真的需要运气。
MasterC
2018-03-21 14:55:27 +08:00
我一般面试别人 都是对着简历上做过的项目问,基本的算法数据结构掌握即可,复杂一点的我自己都没法深刻掌握,毕竟平时都是搞业务。希望我再出去的时候也能遇到个“懂事”的面试官吧
luohuanlhh
2018-03-21 15:18:14 +08:00
战略性 mark
fcten
2018-03-21 15:26:06 +08:00
倒序单向链表用递归或者栈那是学生写作业的写法……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/439890

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX