V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zacard
V2EX  ›  职场话题

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

  zacard · 2018-03-20 22:37:03 +08:00 · 28871 次点击
这是一个创建于 2199 天前的主题,其中的信息可能已经有所发展或是发生改变。

背景

年前在 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 倍,你会怎么做?有哪些优化措施?高性能&高可用措施?

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

总结

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

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

115 条回复    2018-08-29 17:24:45 +08:00
1  2  
Socket
    1
Socket  
   2018-03-20 22:40:58 +08:00   ❤️ 1
其他部门有兴趣吗?
pozhenzi998
    2
pozhenzi998  
   2018-03-20 22:49:21 +08:00 via Android   ❤️ 4
能经过六轮面试,已经很厉害了
lyragosa
    3
lyragosa  
   2018-03-20 23:03:43 +08:00
能过六面已经是非常厉害的了……
几乎是等同于副本打到最后关底 BOSS 才挂掉。
恭喜你打败了 99%的程序员!

我还在准备第一个 BOSS ……
aias
    4
aias  
   2018-03-20 23:06:25 +08:00 via iPhone
666
callmexiaobo
    5
callmexiaobo  
   2018-03-20 23:49:43 +08:00 via Android
哇,这是哪个级别的啊,社招吧
q397064399
    6
q397064399  
   2018-03-20 23:52:03 +08:00
老铁 +1 就目前你的 知识领域,超过绝大部分普通 Java 开发工程师了
lwbjing
    7
lwbjing  
   2018-03-20 23:54:16 +08:00   ❤️ 1
算不算是运气不好,如果 5 面就你一个人走到 BOSS 面前的话,可能 5 面就结束了吧...
pke
    8
pke  
   2018-03-21 00:05:11 +08:00
不错了 估计换个部门就能过了
feverzsj
    9
feverzsj  
   2018-03-21 00:08:02 +08:00   ❤️ 2
这明显是刷 kpi
lance6716276
    10
lance6716276  
   2018-03-21 00:11:43 +08:00 via Android   ❤️ 2
递归不就是用的 JVM 的栈吗…这不是更糟了…
0915240
    11
0915240  
   2018-03-21 00:16:07 +08:00
博客写的蛮不错的 希望加一个 rss 我可以订阅下 :)
aheadlead
    12
aheadlead  
   2018-03-21 00:26:25 +08:00
你就不能把链表倒过来再输出吗…

大不了输出完再倒回去
coffeSlider
    13
coffeSlider  
   2018-03-21 00:29:39 +08:00 via Android
@aheadlead

show me code
mentalidade
    14
mentalidade  
   2018-03-21 00:37:55 +08:00
这个帖子要火。。。
watzds
    15
watzds  
   2018-03-21 00:52:40 +08:00 via Android
以前校招三轮电话就没了😂,伤心
参加比赛去阿里中间件逛了逛
ouyangnandi
    16
ouyangnandi  
   2018-03-21 00:57:40 +08:00
愿意来我们部门吗?你的水平绝对够了。。。中间件对技术要求太高。。
choulinlin
    17
choulinlin  
   2018-03-21 01:12:44 +08:00 via Android
@aheadlead 最好弄成双向链表 倒过来干嘛 直接 while 到最末尾 再 while ( prev )输出完毕 你的指针指向链表头 这么简单的东西 还搞什么栈
cyspy
    18
cyspy  
   2018-03-21 01:27:40 +08:00 via Android
瑟瑟发抖。。。想换志愿了
yanjinbin
    19
yanjinbin  
   2018-03-21 01:29:10 +08:00 via iPhone   ❤️ 1
也没觉得有多难
bravecarrot
    20
bravecarrot  
   2018-03-21 01:40:41 +08:00 via iPhone
@choulinlin 是我没看懂吗..弄成双向链不更麻烦吗。递归直接
a { a ( root.next ); output ( root.val );}不就完了吗..
bravecarrot
    21
bravecarrot  
   2018-03-21 01:41:03 +08:00 via iPhone   ❤️ 1
楼主很强
v2orz
    22
v2orz  
   2018-03-21 04:01:53 +08:00
这是面的 P 几啊
songdezu
    23
songdezu  
   2018-03-21 04:40:24 +08:00
哪个部门啊 这么刁难人
hlwjia
    24
hlwjia  
   2018-03-21 04:53:26 +08:00
可以了,拿着这个可以去刷其他公司面试了 哈哈哈哈哈
TimCheng
    25
TimCheng  
   2018-03-21 07:23:58 +08:00 via iPhone
希望你把这篇文章发到掘金专栏啊,我门在做春招面试的有奖征文活动。了解一下? https://juejin.im/entry/5aaf2e9f51882555677e5a07
bengol
    26
bengol  
   2018-03-21 07:51:24 +08:00
1000 倍与无限扩展有什么区别?
xhinliang
    27
xhinliang  
   2018-03-21 08:02:19 +08:00 via iPhone
楼主可以试一下快手~xhinliang#gmail
xiaoyukid
    28
xiaoyukid  
   2018-03-21 08:25:18 +08:00
楼主可以的半年后再战
shallyy
    29
shallyy  
   2018-03-21 09:02:15 +08:00 via Android
厉害了
cyril4free
    30
cyril4free  
   2018-03-21 09:08:08 +08:00
作为技术被楼主甩好几条街的人.....看来不用想阿里了..
pandachow
    31
pandachow  
   2018-03-21 09:21:28 +08:00
毕竟中间件团队……
leeg810312
    32
leeg810312  
   2018-03-21 09:25:42 +08:00 via Android
基础、广度、深度,还有想象中的案例,这是面试技术总监吗?年薪百万?
woodface2233
    33
woodface2233  
   2018-03-21 09:29:11 +08:00 via iPhone
这个是问的 p8 以上? hr 的问题那种很明显就是坑啊,怎么回答都是给自己下套
woodface2233
    34
woodface2233  
   2018-03-21 09:30:31 +08:00 via iPhone
如果只是去做个 p6 就不要去了
whypool
    35
whypool  
   2018-03-21 09:39:02 +08:00
到 6 面很厉害了
romanroad6
    36
romanroad6  
   2018-03-21 09:46:51 +08:00
萌新请教各位大佬,达到楼主这样的水平有什么学习路线吗?
zacard
    37
zacard  
OP
   2018-03-21 09:48:08 +08:00 via iPhone
@lyragosa 哥们过奖了
zacard
    38
zacard  
OP
   2018-03-21 09:49:32 +08:00 via iPhone
@lance6716276 没有更糟,理论上空间复杂度是一样的,但是递归更简洁易懂
iceheart
    39
iceheart  
   2018-03-21 09:49:34 +08:00 via Android
反转链表的时间复杂度是 O(2n),空间复杂度是 O(1).用栈,时间复杂度仍然是 O(2n),空间复杂度是 O(n)
zacard
    40
zacard  
OP
   2018-03-21 09:50:08 +08:00 via iPhone
@0915240 我研究下如何加,感谢建议
zacard
    41
zacard  
OP
   2018-03-21 09:53:14 +08:00 via iPhone
@woodface2233 面的 p6/p7 岗
andev
    42
andev  
   2018-03-21 09:54:59 +08:00
来讨论下 HR 那几个问题怎么答,感觉怎么答都不好
coffeSlider
    43
coffeSlider  
   2018-03-21 09:55:29 +08:00 via Android
@iceheart

用栈明显是 O(N)啊,大哥
coffeSlider
    44
coffeSlider  
   2018-03-21 09:57:42 +08:00 via Android
@iceheart
看错了,以为你说的是递归了
nl101531
    45
nl101531  
   2018-03-21 09:58:22 +08:00
答主的博客怎么不提供一个 rss 订阅啊
bestkayle
    46
bestkayle  
   2018-03-21 10:04:02 +08:00
难得的面试分享诶
sunysen
    47
sunysen  
   2018-03-21 10:07:04 +08:00
楼主是否有意向加入比特大陆呢,我的微信 love16898
callmexiaobo
    48
callmexiaobo  
   2018-03-21 10:07:05 +08:00 via Android
@TimCheng 你看下这篇,我帮大佬打个广告
http://mp.weixin.qq.com/s/igrHTiwotRKA6UlEDLb10g
nycbdwss
    49
nycbdwss  
   2018-03-21 10:08:42 +08:00
真的难我去 去年才毕业的感觉这辈子都进不了阿里了把
callmexiaobo
    50
callmexiaobo  
   2018-03-21 10:08:59 +08:00 via Android
amon
    51
amon  
   2018-03-21 10:10:45 +08:00
到 6 面很厉害了,ne 的头像兽王的 id,刚他。
jjianwen68
    52
jjianwen68  
   2018-03-21 10:13:41 +08:00
听起来很牛逼了,阿里的 p6/p7,这个水平还不够吗
zacard
    53
zacard  
OP
   2018-03-21 10:15:21 +08:00
@amon 哥们看穿了一切啊
Xrong
    54
Xrong  
   2018-03-21 10:16:47 +08:00   ❤️ 1
PHP 低端码农,暗暗路过。。。
YouXia
    55
YouXia  
   2018-03-21 10:21:37 +08:00
没有交叉面,应该面的是 P6 吧。阿里系统相关岗位面试都比较难,可以看看某人面阿里 C++系统岗位的题目:

![面试题]( )
aheadlead
    56
aheadlead  
   2018-03-21 10:24:31 +08:00
@coffeSlider O(N) 和 O(2N) 差别不大吧
studyJ
    57
studyJ  
   2018-03-21 10:29:44 +08:00
感觉就像打通关一样
crossoverJie
    58
crossoverJie  
   2018-03-21 10:31:56 +08:00
原来我不是一个人,也是年前面到年后。

流程差不多,三轮技术面,两轮 coding。

最后跪在了 HR,择日再战吧。
alangz
    59
alangz  
   2018-03-21 10:33:26 +08:00
都是对技术深度和广度的考察,以及问题的解决能力
zacard
    60
zacard  
OP
   2018-03-21 10:57:57 +08:00
@0915240 @nl101531 哥们,rss 加上了,之后请多指点
0915240
    61
0915240  
   2018-03-21 11:01:07 +08:00
@zacard #60 已订阅
fcoolish
    62
fcoolish  
   2018-03-21 11:21:26 +08:00
楼主社招几年的?
Socket
    63
Socket  
   2018-03-21 11:27:21 +08:00
阿里巴巴新零售招各种开发职位,邮箱 socketio#qq.com ,团队大有可为,欢迎各位
richardhit
    64
richardhit  
   2018-03-21 11:42:39 +08:00   ❤️ 1
说实话,感觉很多内部的人出去,再想面试进来,也是蛮难的。真是尴尬。
miki6180
    65
miki6180  
   2018-03-21 11:44:50 +08:00
瑟瑟发抖
coalo
    66
coalo  
   2018-03-21 11:50:56 +08:00
下周一去阿里前端一面瑟瑟发抖地飘过。。。
york1996
    67
york1996  
   2018-03-21 12:00:08 +08:00
@Socket 阿里有 python 开发的吗?
AlibabaSS
    68
AlibabaSS  
   2018-03-21 12:23:18 +08:00
欢迎这周六来阿里调度&容器技术沙龙,系统软件事业部的同学们欢迎大家~ http://sc-meetup.wixsite.com/scmeetup
TimCheng
    69
TimCheng  
   2018-03-21 12:28:01 +08:00 via iPhone
@callmexiaobo #50 整理一下发出来吧,让更多开发者看到。
joeke
    70
joeke  
   2018-03-21 12:32:05 +08:00
阿里那么恐怖的吗 六面!!!!
lance6716276
    71
lance6716276  
   2018-03-21 12:49:32 +08:00 via Android
@zacard 我没太看过 JVM,但是递归的话 JVM 也要额外保存上下文吧,存储的东西更冗余了。JVM 的栈深度总比你自己申请一个要浅吧,这在 C 系里面不是常识吗
winglight2016
    72
winglight2016  
   2018-03-21 12:59:19 +08:00
@bengol 1000 倍,简单点水平扩展 1000 倍的服务器就可以解决,无限和这个没法比
StephenW
    73
StephenW  
   2018-03-21 13:29:20 +08:00
楼主工作几年了?面这么多轮不是能力不匹配的问题,都是其他因素决定的。
arsgm
    74
arsgm  
   2018-03-21 13:49:47 +08:00
请教一下楼主,这些知识都是日常工作积累吗?感觉好多都接触不到,平时怎么积累这些方面的知识呢?
liuguicen
    75
liuguicen  
   2018-03-21 13:50:28 +08:00
这个栈的题真不咋样啊,反转链表感觉好很多
fyooo
    76
fyooo  
   2018-03-21 14:08:04 +08:00
Orz
fxxkgw
    77
fxxkgw  
   2018-03-21 14:31:14 +08:00   ❤️ 2
这个一面有点搞笑啊,社招会专门问这些么?不应该是掺杂着顺道提一下么?
阿里的面试其实也就那样,我身边从 P6 到 P8 都有过去的,但我个人并不觉得他们怎么厉害,只要你在工作中实际参与过一些稍微复杂、高大上的项目,面试时候基本都过得去,剩下的就是看面试官情况了,有些人角度刁钻,逮着你三年前的项目一个劲问,有些阿里面试官喜欢显摆算法,一言不合就一堆算法抛过来。
记得在知乎看过一个问题:哪些事情是你当了领导才知道的?有个回答是:作为面试官,真的会很紧张。
社招一面、二面这些面试官,可能他们跳槽时候换成了你面试他们,所以他们只能逮着你简历里他熟悉的东西一个劲的问,假如你当时只是浅尝辄止,那可能就悲剧,如果你真的很深入,那恭喜你。。
所以综上,面试有时候真的需要运气。
MasterC
    78
MasterC  
   2018-03-21 14:55:27 +08:00
我一般面试别人 都是对着简历上做过的项目问,基本的算法数据结构掌握即可,复杂一点的我自己都没法深刻掌握,毕竟平时都是搞业务。希望我再出去的时候也能遇到个“懂事”的面试官吧
luohuanlhh
    79
luohuanlhh  
   2018-03-21 15:18:14 +08:00
战略性 mark
fcten
    80
fcten  
   2018-03-21 15:26:06 +08:00
倒序单向链表用递归或者栈那是学生写作业的写法……
phieo2018
    81
phieo2018  
   2018-03-21 15:33:28 +08:00
兄弟 蚂蚁金服开放平台技术部 java 岗位了解一下?
ldd882008
    82
ldd882008  
   2018-03-21 16:01:13 +08:00 via iPhone
mark,老哥已经很牛逼了
ldd882008
    83
ldd882008  
   2018-03-21 16:03:03 +08:00 via iPhone
萌新路过、谢谢大佬分享
ucaime
    84
ucaime  
   2018-03-21 16:04:54 +08:00
兄弟 信息平台的岗位了解一下?
hnpyhyz
    85
hnpyhyz  
   2018-03-21 16:10:22 +08:00 via iPhone
lz 这是 P 几啊,看得瑟瑟发抖
fish267
    86
fish267  
   2018-03-21 16:10:42 +08:00
兄弟, 蚂蚁金服网商银行技术部 java 岗位了解一下?
SoulSleep
    87
SoulSleep  
   2018-03-21 16:30:27 +08:00
这面试,估计也就能撑到三面
miketeam
    88
miketeam  
   2018-03-21 16:45:31 +08:00 via iPhone
阿里是要找神仙啊!刚才看到新闻阿里 22 岁少年吐槽加班文化。真不知道技术这么牛的人都这么想不开要去体验加班生活
rebill
    89
rebill  
   2018-03-21 17:04:08 +08:00
厉害,我都是止步在一面。
choulinlin
    90
choulinlin  
   2018-03-21 17:15:11 +08:00 via Android
@YouXia 这样的岗位年薪多少呢
choulinlin
    91
choulinlin  
   2018-03-21 17:17:04 +08:00 via Android
@fcten 你有什么高见
xwhxbg
    92
xwhxbg  
   2018-03-21 17:19:11 +08:00
大佬,阿里这要求确实有点高啊,我面的蚂蚁中间件,二面就挂了,没看到后面居然还有这么多的要求
YouXia
    93
YouXia  
   2018-03-21 17:35:30 +08:00
@choulinlin

啥都算上,40-100,都有可能。这个面试,也可能 P6+,也可能 P7。现在面试能去阿里的,去其他公司短期内可以获得更大的收益,但是还是很多人会选择阿里,原因比较多,一方面大家都想去核心部门,去见识更牛逼的程序员,第二就是现在互联网已经在走下坡路,已陆续出现裁员的公司,早回大厂早占坑,大厂干的好有股票激励,其实长远看收入并不低。
TZ
    94
TZ  
   2018-03-21 18:14:04 +08:00
六面,好恐怖啊
zzh992
    95
zzh992  
   2018-03-21 19:10:32 +08:00
先 Mark 在膜拜
conn4575
    96
conn4575  
   2018-03-21 19:14:56 +08:00 via Android
这么恐怖吗😱我感觉我一面都过不了…
aprilfool001
    97
aprilfool001  
   2018-03-21 19:55:23 +08:00
兄弟, 杭州 蚂蚁金服 客户平台 是否考虑一下?
ashitaka
    98
ashitaka  
   2018-03-21 20:06:01 +08:00
看了下面试过程 觉得 lz 还是很厉害的 中间件要求的确是高
lz 有兴趣阿里其他的岗位 可以联系我 我这边提供妈妈的职位内推 广告相关的
Soula
    99
Soula  
   2018-03-21 20:22:49 +08:00
其实用栈还是递归用系统栈还是改成双链表都没啥区别,递归也就优雅点。。
要我的话就 while loop 反转单链表再输出得了。。
zacard
    100
zacard  
OP
   2018-03-21 20:44:52 +08:00
@arsgm 多看源码多看书
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3480 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 11:08 · PVG 19:08 · LAX 04:08 · JFK 07:08
Developed with CodeLauncher
♥ Do have faith in what you're doing.