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

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

1.熟悉Hadoop哪些组件?算法

答:hdfs、yarn、MapRedue、Hive网络

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

答:blabla。。。oop

3.yarn的调度器有哪些?学习

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

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

答:(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的话,就分割成一个小文件(感受面试官不是很满意,这种题型以前看的少,没有很深刻的思考过,结果弊端就显现出来了。。。)

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

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

相关文章
相关标签/搜索