阿里四面复盘+offer数据开发,谁说普二不能去大厂?

      作为一名很普通的二本学生,说实话自己从来就没有想过自己能去大厂,尤其是正好赶上了今年的疫情,本来就很不好找工作进大厂更是天方夜谭,但这种事情确实就发生在我身上了。其实在面试阿里之前我也投过很多公司,也有拿到过几家offer,在三月初就收到了阿里云的实习生offer(不接收20届实习生,破格录用),但自己也坚信疫情很快过去,自己也有能力找到全职所以直接拒绝了。

     自己身边的朋友包括同学以及家人也曾经在劝阻我,现在不好找工作,你凭什么拒绝?也许我始终坚定自己可以找一份差不多的工作吧!外加实习生之后也会面临很多问题,自己经历了这次疫情后自己也真的不想再找工作了,废话说了很多,我就来聊聊自己的这四轮面试吧!

一面 技术

  一面不知道是不是部门原因,采取的是突击面试,当时我记得自己都准备要外出去买菜,但是面试官突然打电话告诉自己要面试了,让我找一个安静的环境,不过这样也确实很好,可以锻炼面试者的应变能力,毕竟远程面试Bug太多。一面其实就问了很多基础性的问题。当然刚开始的都是自我介绍,这一点我就直接全部忽略了。

1.先简单介绍一下MR,之后面试官问了一下MR的shuffle,其中着重问了DAG中数据和元数据的存放位置,假如先把有向无环图看成一个长方形的话,数据byte在哪?(长方形的左边)元数据在哪?(长方形的右边)怎么写?

2.就是Spark,Spark我认为问到东西其实很基础,RDD,DF与DS的区别?coalesec与reparation区别?map和mappartition的区别?从集合中创建RDD提供的函数,底层实现?

3.Hive问题问的很多,毕竟是数仓开发!其中着重问了UDF与UDTF,大家有空就好好写一下,解析了什么字段,具体要实现什么方法,抛出什么异常,出现过什么问题?还有就是Hive的数据不能实时更新这个你应该怎么解决?我的答案是拉链表(拉链表有点老了,但毕竟自己用过),介绍了拉链表的创建过程,具体在那些表中使用,以及为什么使用拉链表?

4.有用过flume拦截器吗?怎么具体使用的? 主要回答实现的方法以及在实习和写项目的时候主要干了什么?

5.懂得SQL优化吗?怎么查看一下SQL语句的运行时间需不需要进行调优? 慢查询和explain

二面 技术 实习经历

因为自己面试的是数据开发岗位,自己也庆幸自己面试的是数据开发,相对于大数据开发来说,数据开发显得接触到的面不是很多,说到底不就是写SQL吗?而且大部分人的第一反应就是去投大数据开发,自己所有就直接去找了数据开发的岗位,而且自己之前有半年的外包公司实习经历(数据开发),自己在面试之前也专门再做了一遍自己的数仓项目。而二面也主要是问了和数仓相关的点,当然自己觉得这个面试其实并没有那么难,毕竟是校招其次就是你真正做过项目之后就会觉得轻车熟路。

1.介绍一下自己在实习时候的工作,之前实习的时候做过一段时间迁移和去O,之后做的报表开发,自己就介绍了整个过程,已经做过的需求。

2.现在就直入主题了,SQL开发和SQL优化,两种常用的存储引擎和区别,怎么分析查询语句或表结构的性能瓶颈,使用explain查看语句并对语句进行具体的优化,优化到底什么程度就OK?system>const>eq_ref>ref>range>index>all。

3.了解过聚簇索引吗? 有什么好处和限制?

4.介绍双路和单路排序,具体聊了一下单路排序怎么调优(怎么解决单路的缺点)?

5.问一下Hive的一些函数,行转列,列转行,窗口函数,自己在项目中具体怎么使用的?

6.Hive数据的导入导出的方式,最少说四种(基本上都涵盖了所以的导入导出方式)!Hive具体的优化,自己有没有专门研究过?(先过滤后jion,JVM重用(怎么开启,底层过程),分区,分桶,压缩,列式存储)

三面 业务

三面开始其实是我最慌的时候,面试官一直在点我学校一般,毕竟普通二本,自己也做了相应的解释,毕竟学历确实是硬伤,但只能代表他们高中的时候比我努力,但是在大学的时候我没有迷茫,学历而言没有任何优势,那我们只能去好好研究技术了。其实很多和我有相同经历的普通二本学生很多,也许屏幕前的你可能技术这一层就比我好很多,而遇到不刷简历的大厂真的就得好好珍惜了,好好准备简历,在这里也实名制感谢TALKDATA老哥,他帮我很细心的改了简历,自己也突出了自己项目中所运营的技术,面试官和HR一天要在那么多份简历中记住你,除了排版外还得清晰凸显自己项目中的技术

1.介绍自己的项目,一个是自己实习的时候做的项目,一个是自己做的项目,自己之前做了个数仓的项目,数仓分了三层,自己因为实习也是从事的数仓开发,因此自己就根据实习的公司(一家外包)将项目改成了四层,具体介绍项目的细则。

2.在做项目的时候遇到了什么难题,怎么解决的?

3.实习的时候主要做什么工作遇到了什么问题?怎么解决,经过这段时间的实习有什么收获?详细的介绍了一下自己之前做过的需求。有没做过上亿级别的数据,那个时候自己怎么处理的?有没有进行优化,优化后跑了多久?

4.自己在实习的时候最大的收获是什么?1.解决问题的能力和写需求的思路,当然最重要的是满足感

5.说一下自己的职业规划。

四面 HR

四面的时候HR也在说我学历的问题,学校不是很好,自己真的当时都慌了,害怕因为学校出身的问题将自己卡主,当然HR之后也问了一些校园经历,因为自己在学校的时候担任了学校新媒体的站长,因此就聊到了部门微信公众号的问题,个人觉得是HR想知道你有没有真的去好好了解这家公司,这个部门(数据中台 政府大数据)!最后过了两天自己收到了确认信息,拿到了数据开发的Offer。

其实面经千千万,我们在看面经的时候其实无非就是知道面试公司的侧重点在什么?看具体的问题没有任何意思,问题很多就看面试官怎么问你,往深层次面终究会把你问住,但无论是HR还是技术面,最起码你得保持着一个真诚的态度,自己会的就好好说,不会的话就坦白,与其你装懂被戳穿还不如直接坦白,最起码会给面试官留个好印象

自己的学习经历

自己从18年10月份就开始大数据的学习,买了很多书,但是最权威的还是得看Apache的官网,其次就是无论是大数据,java还是数据开发,你真的得自己亲手做几个项目,而且项目不要仅仅停留在把东西做出来而已,要懂得相应的优化,不过幸好是远程面试,没有去撸代码!

其次就是面试,自己从20年二月初就约到了面试,但收到的消息都是复工失败,最后自己在三月份才约到了正式的面试,期间也有大厂,当然很多同学可能都在想,我们也是二本,但为什么我投简历就石沉大海?这个时候你就应该好好看看自己的简历了,我的简历是两页,其中包含两个项目,项目看起来其实很普通,但相对于那些烂大街的项目而言我运用技术就显得很透彻,具体运用了什么技术实现了什么功能,这样做的好处无非就是让面试官觉得,你确实做项目了!

还有就是得看看源码了,面试造火箭入职拧螺丝,前提是咱们得有那个机会去拧螺丝,之所以看源码就是因为这一点可能会被很多同学忽略,大家可能就说一下运用的过程,但是你说一句你看过源码,说清楚具体的底层实现,这样面试官就可以眼前一亮,因为他一天可能会面试很多人,但是你给了他别人给不到的感觉。

最重要的一点 量力而行且自信

尤其是二本的同学,咱们不一定非得投大数据开发,去平台搞大数据开发是很多同学的第一反应,但是这未免是好的选择,这就相当于你要搞算法,结果你还是一名二本的学生,这样你的技术得多厉害?当然如果我当时投的是大数据开发,我可能连面试的机会都没有,要知道大数据开发牵扯的东西真的太多了,Hadoop,Spark,Hive,SQL包括其他的组件你都得研究的差不多,但是数据开发或者数据挖掘和数据分析呢?很明显会少很多东西,毕竟侧重点不一样!其次就是自信,二本确实和985 211甚至还是一本都有很大的差距,但是这并不是你退缩的理由!你还有路退缩吗?


 

发布了6 篇原创文章 · 获赞 6 · 访问量 776

猜你喜欢

转载自blog.csdn.net/qq_41574679/article/details/105664966