8

大厂面经分享——来聊聊我的阿里云P7面试经历

 3 years ago
source link: https://blog.csdn.net/songguangfan/article/details/115386378
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

大厂面经分享——来聊聊我的阿里云P7面试经历

original.png
神技圈子() 2021-04-01 23:04:45 1673
分类专栏: 分布式存储 文章标签: 面试

  这篇文章为了记录下自己工作历程里面的一些面试经验,同时对于那些想了解大厂情况的童鞋希望也能有个借鉴。本文来自于个人经历,有些地方可能同你以前获取的经验有所出入,请权当参考。
  我面的阿里云后端存储开发岗,职级P7。大概花了三周时间,一共经历了三轮技术面,一次笔试,一次BOSS面。下面就根据面试先后顺序,分享下我的面试经历。

一面:简历面试

  面试觉得简历还合适的话,就会先找你大概聊下简历描述到的项目的情况。算是摸下你的底,看你是否符合招聘岗位,以及对应的职级是否满足。所以这个面试一般不会对项目中的技术细节问得太深,双方都是宽泛地聊下而已。主要包括你的项目以及项目设计的面,也可以聊应聘的岗位涉及的技术情况。以我知道的情况看,这个面试一般会是你未来的主管来安排(除非他没时间)。
  这次面我的是个女主管,她很健谈,思维也很清晰,主要关注点在我以前做了哪些。比如做存储项目里面承担的角色是啥,怎么解决关键问题的。因为我个人发展路径不完全是技术岗,她重点就在问我从非技术转技术是怎么考虑的,打算今后怎么发展。她还特意提醒我后面HR也肯定会问这个问题。我这里答的挺好,我表明我觉得做技术对个人成长更好,很多互联网公司的管理都是技术出身的管理,没有所谓的纯管理。面试官也问了我一些业务上用的技术,比如三副本存储怎么保证数据的可靠性以及一致性的。这些都是些基础的知识点,只做了探讨,并未很深入的谈细节,所以整体面试下来压力不大。整改一面聊了大概1个小时,面试官说的居多,后面一直给我讲他们做的索引层业务,如果面试官在主动给你介绍业务,那么这是一个比较好的信号,说明他对你是比较认可,这时候你可以心情放轻松,更容易彼此的交流。

二面:基础技术面

  这轮面试是真正技术细节的探讨。我是一面后大概隔了一周才安排的二面。二面面试官是个新晋升的P8,以前是菊厂背景,正好背景跟我有相似之处,聊起来就很投机。他问了我几个技术细节一一阐述下。首先:讲讲你们做的存储产品里面的怎么保证数据可靠性以及一致性的。这里我从三副本说起,三个副本怎么分布保 盘级、 节点级以及机柜级可靠性,然后将了NRW算法,在兼顾性能的同时又能保障数据的更新。又讲了vector clock算法去保障数据写冲突的处理。最后又讲了下如果是EC算法数据大概如何分布保证数据可靠性。这个问题回答的是比较全面的,面试官还是挺满意的。在沟通的过程我提到以前搞竞标比拼测试时候攻击友商说的友商写放大问题,他就这个问题问我们是如何实现对小IO的性能提升的。这个问题用的经典的数据结构 LSM tree。下一篇文章我会专门来讲讲LSM tree。
  这轮面试其实有点引导面试官了,我主动引导话题,然后面试官顺着思路来。第三个问题,让我讲讲分布式系统如何选主的,这个我就把raft算法仔细讲了下,重点讲主故障后到新主产生然后数据补偿的过程。这个问题回答也是比较满意。最后一个问题,问我们是否有温冷数据,系统是否能自动识别温冷数据并做搬迁。这个问题我直接回答我们是用户手动触发,没做系统自动识别。整个二面下来感觉过程挺顺畅的,都是自己做的东西和比较熟悉的东西。最后和面试官互相吹捧了下就结束了流程。整个面试过程大概花了1个小时。

三面:交叉面

  第三轮面试,阿里云找的是个其它团队的人来做的交叉面。跟二面大概隔了三天。整个面试过程不其实算顺利。面试开始我就感觉出来了,因为面试官就是个纯粹对技术很较真的人,沟通也很直白,没啥委婉以及技巧。他问了我项目里面做的异步复制如何实现主备之间的一致的,其实这个主要是用到了日志复制,checkpoint 点如何恢复,然后讲RPO 5分钟是如何实现的。第二个问题是EC(Erasure Code的条带写过程是怎么样的,如果条带不满是如何处理的?是一直在内存吗?这个问题我没回答好,其实数据在cache里面是混合存储的,就是可以几个不相干的数据组成一个满条带去存,因为EC格式的数据,数据的存取单位是一个个的EC块,不是按对象的维度。后来又让介绍了下整个IO路径的流程在系统存储过程,这个我只是大概描述下。
  最后给了个笔试题,通过邮件发送给我的,其实就是阿里的内部笔试平台链接,题目是这样的://对单链表表示的大数进行求和:1->2->3+4->5=1->6->8 (123+45=168) 先让说思路,然后才让开始做题,给个半小时做完。其实这个题的关键是想到要把链表反转下然后了个链表依次把位数相加存到第三个链表。想要笔试题答案的童鞋记得关注我并留言哟。
  这轮面试结束后,我一度以为没戏了,还好我找内推的人主管打听到面试没问题。让我等着BOSS面。所以有时候内部有人还是很重要的。
  这轮面试觉得没答好,主要在跟面试官沟通感觉不太理想的时候没能及时调整好心态,整个过程没有像二面那样去引导面试官,其实可以引导面试官谈下擅长的多副本以及raft算法的,无赖当时状态不好,没能占得先机。

四面:Boss面

  Boss面运气比较好。面试官是我以前在菊厂的上级同事,只是在菊厂的时候彼此还不太熟。整个面试过程其实挺温馨的,一起吃了午饭然后去聊天的。共同聊了下以前认识的人,以及当前业务分布。最后他问了几个跟面试相关的问题,:1你在以前公司认为做的正确的三件事以及认为没做好的三件事。你对KV 存储熟悉不,常用的算法有哪些。这些问题体现积极正面即可。

  以上就是我的面试经历,虽然每个人的面试经历不同,但还是希望我的面试心路历程可以供大家参考。最后,祝大家在三金四银这段时间都能找个好的工作!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK