一塌糊涂。
终究不是因为电面才一塌糊涂,终究是因为自己太菜。
一面(结果未知)
一面喜欢问理解,讲逻辑。跟涛神路子不一样,涛神路子野,只讲逻辑。
理论基础(全跪)
对分布式的理解
面试官:“我理解你的三个主要技能是Java、并发和分布式,对吧?”
小菜鸡:“我觉得只有Java掌握了基本使用,并发和分布式只能说在学习。”
面试官:“好,那你对分布式的理解是什么?”
。。。
不过仔细想想,这样问也没毛病。如果我说熟悉分布式,那才可能是真的提问了。。。我勉强按照大问题分解为小问题,但是实际上还有容错性等等,非常多的内容。当时学分布式的时候正在实习,这学期得认真学一遍了。
容错性的几种方案
只答上来了冗余备份。
冗余备份的几种方案
我答的是:以存储为例,可按照冗余的对象可分为 对存储单位冗余(如HDFS中对Block冗余)、对存储对象冗余(如直接备份整个文件)、对存储介质备份(如磁盘冗余阵列)、对存储系统冗余(如HA)。
面试官期待的是:物理冗余(多备份)、时间冗余(超时重发)、软件冗余(HA)、信息冗余(校验和)。
源码
围绕HDFS写文件的过程讲述HDFS中NameNode、SecondaryNameNode、DataNode的作用
最开始面试官提问的很模糊,,不说HDFS,就说分布式系统,,,搞得我只能根据HDFS抽象着回答。其实我觉得这一点是面试官文档问的不好,总之后来面试直接要求我回答两个问题:
- put大文件的过程(顺着我开始说的大问题分解为小问题的思路描述,实在贴心)
- 写文件过程中,DN挂了怎么办
这俩问题之前面试陌陌答过一次了,这次提前声明了源码版本,才开始讲。依旧被评价讲的啰嗦。
Yarn中主要有哪些组件(小跪)
- 最高层:ResourceManager、NodeManager(丢了AppMaster)
- ResourceManager上细分:ResourceTracker、ResourceScheduler、安全相关的服务等
- NodeManager上细分:NodeStatusUpdater、ContaineManager、安全相关的服务等
就是我丢的那个,,,我后来知道面试官只是希望我答RM、NM、AM。
为什么Yarn能够支持多种多样的框架
这得益于Yarn的两层调度机制,RM只负责资源分配,具体的业务逻辑由AM负责,AM根据业务逻辑向RM申请Contaienr。
项目
讲一个你觉得最有挑战的项目
讲的vulture,被啪啪啪的批评讲的啰嗦。
总结
第一次经历这种模式:一面之后,结果未知的等待二面。第一次有准备的经历电面。听一面的面试官说,二面你想面谈可以来公司,三面是部门老大,在杭州,应该也是电面。我的内心是崩溃的,,,可是我还是要练啊,,拿阿里练手真是奢侈啊T_T。
表现不好的本质原因还是自己太菜。但其实也想明白了一点,我之所以电面比面谈表现差,是因为自己表达能力不好,面谈还可以通过写写画画,让面试官明白自己想表达的意思,但电面几乎就只能靠嘴皮子了——沟通不畅、吐字不清、逻辑混乱都是大bug。
到今天写完面经的时候,还没收到二面通知,估计是挂了。这个面试官,看不上我加我微信干嘛呢T_T
给自己的建议:
- 耐心学习分布式系统的理论知识,不管为了面试还是深入都是必要的
- 还是讲不好源码和项目,多练习
- 项目介绍三步骤:目标、我产出的价值、项目收益
- 面试问答三步骤:明确问题、拆分问题、简洁概括
本文链接:【面经】阿里健康-2017年8月29日,散招实习生
作者:猴子007
出处:https://monkeysayhi.github.io
本文基于 知识共享署名-相同方式共享 4.0 国际许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名及链接。
网友评论