回复”资源“获取更多资源
这个其实说来就话长了。是小编曾经面试阿里妈妈的经历。这次面试最终在HR面挂掉,以至于后面回忆起来,仍然是一桩美谈。这次面试长达一个月之久,共经历了4轮技术面,1轮HR。前四轮面试过关斩将,简直开了挂一般,跟面试官正面对线,丝毫不虚。听我一一道来。第一轮
第一面是电话面试,晚上10点半。我特么一脸问号?你们这是刚加完班吧?事实上我幼稚了,后来我才知道可能是刚吃完夜宵。
一面小哥简单的问了一下个人的学历、工作经历,问了一些基础的问题。问题是从项目介绍谈起的,然后会进行无限扩展,这也是大多数的面试套路。有些面试官会让你介绍一下自己的项目经历,然后中间打断你从一个问题下手,然后蔓延开来。然而我是不会虚的。因为。这个项目我闭着眼睛都能画出架构图,熟悉项目中的每一个细节。从立项、PRD评审、技术方案Review、上线运维等。我们开始聊的切入点是从Spark Shuffle开始的,分别聊到Spark的原理、Shuffle特性、Spark在项目中的优化、Spark对接Kafka的细节、反压问题的处理等等。一面涉及到的问题主要是Spark、Kafka和一部分语言基础。基本上都包括在这里了,兄弟们,听我说,好好看我写的面试题系列,不是随随便便攒起来的忽悠人的面试题目。《独孤九剑-Spark面试80连击(上)》https://t.1yb.co/eQOF
《独孤九剑-Spark面试80连击(下)》https://t.1yb.co/eQOI
《SparkSQL 整体运行架构和底层实现》
《Spark-submit 参数调优完整攻略》
《Apache Spark 统一内存管理模型详解》
《三万字长文 | Spark性能优化实战手册》
更多的可以在公众号搜索【Spark】关键词进行搜索,不一一列举了,基本涵盖了那些面试题。
第一面持续了大概40分钟,面试过程异常顺利,问题对答如流,还反问了几个小问题看他们是怎么考虑的。总体是因为实践真的遇到过,问题没有特别深入,跟面试官聊的也很开心。
第二轮
第二轮和第一轮中间大概隔了1周左右,晚上我还在楼下吃宵夜的时候就打来了电话。这里我不得不吐槽一下,从来不预约,直接电话call,问有没有时间?我:有。
兄弟们,听我说,这时候最好有时间,因为没时间可能就再也没下文了...本人立即表示有时间,可以聊。然后愉快的第二面就开始了。这轮面试持续了2个小时...
面试官明显的技术深度足够,涉猎也非常广。大家可以参考我的这篇文章《剑谱总纲 | 大数据方向学习面试知识图谱》,基本上涉及到了所有的知识点。整个面试过程基本上从几个方面:Java基础
涉及到基础数据结构、并发、多线程、JVM、NIO,关于面试的细节,都在《剑谱总纲 | 大数据方向学习面试知识图谱》这个文章里了,大家照着去看即可。离线计算
这部分几乎涵盖了整个 Hadoop技术栈,其中HDFS涉及的非常深入,问到了源码级别的实现。这部分答上来的70%-80%,中间有些问题确实答不上来,因为没看过。这里大家要注意,不会的就是不会,没有研究过。千万不要撒谎,瞎胡说,会留下非常恶劣的印象。可以参考《【大数据面试之对线面试官】MapReduce/HDFS/YARN面试题70连击》实时计算部分
Spark、Kafka为主,常见的问题几乎都有涉及。可以参考我下面给出的连接,其中Spark问的非常非常深入,可以这么说,如果对Spark的源码研究的不够深入,我大概率在这一轮就挂掉了。面试题是背不完的,而且你觉得做没做过,看没看过能骗得到面试官吗?Kafka因为已经成为事实上的大数据下的消息中间件,对原理、细节、源码问的都很深很深。后来我才知道,因为在阿里用的很多中间件都是参考了开源的实现,所以对原生的熟悉这些经验可以直接拿过来用。直接在公众号搜索【Spark】【Kafka】或者对应的关键词即可,今年小编也会在春招前整理完数据技术栈的面试系列。平台设计
这部分面试官让我描述了项目中的整体架构、实现细节。另外要求设计一个符合业务场景的大数据平台,可能会遇到的问题。并且跟我的设计,提了非常多的问题。可以感觉出来,这些问题大概率都是面试官在工作中遇到的。这一部分大家可以参考我发过的一些数据平台、实时数仓的设计。在很多公司我们个人其实是接触不到平台层面的设计,但是没有办法,如果你要筛选那些更加有能力的人,就要问到不熟悉的领域,看反应能力。参考:
大话实时数据平台设计(上)
大话实时数据平台设计(下)
大数据平台演进之路 | 淘宝 & 滴滴 & 美团
腾讯基于Flink的实时流计算平台演进之路算法
这部分问到了Spark反压中用到算法细节,常用的大数据量下的算法,这些在之前的文中都有过介绍。不在详细展开了。另外还有一些简单的机器学习算法,逻辑回归、SVM和KNN因为小编仔细研究过,多说了一点。这部分略过,不是长项,只是涉猎。十个海量数据处理方法大总结
PID算法和Spark实现反压的原理后端
这部分主要聊了Spring的原理、Mysql中的常见问题例如索引优化,数据结构等。所以说,SQL Boy & Girl 们,你们怕了吗?如果有人告诉你数据从业者不需要学习后端的框架和知识,那么就是在害你。因为稍微大一点的公司跟数据相关的组件都进行了平台化,慢慢变成运维角色。不要把自己的路走窄了。整个过程聊完了,我只有一个感觉就是:被掏空了。我感觉面试官把我毕生所学都问出来了。这一轮也是淘汰率最高的一轮,深度和广度都要有。
最后我表示手机快没电了,小伙也表示太晚了,今天到这里吧。回去我没吃完的饭都被老板收了。还以为我逃单了...第三轮和第四轮
这里就不表细节了,这两轮更多的是偏架构设计、技术选型、基于业务的解决方案。这两轮也有很多人倒下,挂面大概率是因为做的事情太螺丝钉了,没有主动宏观了解过部门做的事,对业务思考没有深度,架构设计能力偏弱。需要在日常工作中有意识的提高。HR
很不幸,小编就是倒在这一轮。小编还是太年轻了。
HR这面主要会考察大家一些个人职业规划、工作态度、沟通能力等等,总之这轮一般只要不犯傻就没有什么问题。可能会跟你聊一下待遇,但也有概率是不会聊的。按照常理出牌就行了。HR问我:你未来有什么规划?我:希望在数据领域深造,同时也在业务上能成为广告(阿里妈妈主营业务)方面的专家。其他的就走一步看一步吧...在我说出走一步看一步的时候,我感觉屋里的温度瞬间到了冰点...HR...很...狐...疑...的...看...着...我....我...也...很...狐...疑...的...看...着...她...然后就没有然后了。
后来,这个梗就成为了小编茶余饭后的笑谈。