2019春招——Vivo大数据开发工程师面经

Vvio总共就一轮技术面+一轮HR面,技术面总体而言,比较宽泛,比较看中基础,面试的全程没有涉及简历上的东西(都准备好跟他扯项目了,感觉是抽取的题库。。。)具体内容如下:

1.熟悉Hadoop哪些组件?

答:hdfs、yarn、MapRedue、Hive

2.讲一讲yarn的调度过程?

答:blabla。。。

3.yarn的调度器有哪些?

答:FIFO、多队列分开调度、CapacityScheduler、FairScheduler。。。(当时没答全)

4.讲讲Hive内部表和外部表的区别?

答:(1)内部表完全受Hive管理,外部表除了受Hive管理外,还受HDFS的管理

  (2)删除内部表数据的话,元数据和存储数据都会被删除,而删除外部表的话,只有元数据会被删除,而存储在hdfs中的数据不会被删除。

  (3)外部表通过external关键字来创建,内部表不需要。

  (4)对内部表的结构进行修改后,会同步给元数据;而对外部表的结构进行修改后,需要进行修复。

5.Hive的join操作怎么写?

答:blabla....

6.Mapper和Reducer写过吗?

答:好久没写了,忘记了。。。

问:udf呢?

答:。。。。

7.熟悉哪些排序?

答:堆排序、快排、归并排序、直接插入排序、简单选择排序

问:那手写下快排

答:。。。(幸好前一天晚上又了遍)

8.MapReduce的哪个过程用到了排序?

答:shuffle过程用到了归并排序(这里说错了个地方,把shuffle过程说成了是在Reduce阶段的刚开始,实际上是在Map阶段的结尾处)。。。

9.Linux熟悉吗?

答:基本的常用命令比较熟悉...

问:如何找出最近三天修改过的文件?

答:find命令,具体参数忘记了,囧。。。

问:如何显示各个程序占用的端口?

答:我。。。netstat?(这一块还是要加强。。。)

10.计算机网络熟悉吗?TCP的三次握手和四次挥手讲一下?

答:blabla。。。。

问:为什么要三次握手而不用两次握手,举个实际的例子说明下》

答:(这不分答得不好,主要是好久没看计算机网络了。。)

11.给你一个1G的文件,机器的内存只有1M,如何利用机器找出出现次数最多的100个字符串?

答:将大文件分成小文件,每个小文件进行统计,找出最大的100个字符串出来,然后将每个小文件统计的前100个出现次数最多的字符串存放到一个文件中,在该文件中找出出现次数最多的100个字符串出来即最终的出现次数最多的100个字符串。

问:具体是如何划分的呢?

答:感觉这里答的不是很好,我是按照单词的个数进行划分的,如果单词的数量凑够1M的话,就分割成一个小文件(感觉面试官不是很满意,这种题型之前看的少,没有很深入的思考过,结果弊端就显现出来了。。。)

=========================================================分割线===================================================================

基本上就这些问题了,总体而言问的实际上并不是很难,一方面由于第一次面试大数据开发相关岗位,没搞清楚知识点的懂点(其实这些问题都见过,只不过有些就一带而过了,没有深入的去学习思考;花费大量的时间在算法题上了,结果并没有怎么问算法题);另一方面秋招到春招好几个月了,已经没啥面试状态了。。。

猜你喜欢

转载自www.cnblogs.com/wangkundentisy/p/10575759.html