阿里中间件 6 轮面试被砍的血泪总结 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zacard
V2EX    职场话题

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

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

背景

年前在 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  
PRO
   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
作为技术被楼主甩好几条街的人.....看来不用想阿里了..
xxm459259
    31
xxm459259  
   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 订阅啊
KgM4gLtF0shViDH3
    46
KgM4gLtF0shViDH3  
   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 倍的服务器就可以解决,无限和这个没法比
TheOutgoing
    73
TheOutgoing  
   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     Solana     2477 人线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 32ms UTC 01:47 PVG 09:47 LAX 18:47 JFK 21:47
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86