首页 > 搜狐畅游数据工程师校招面经
头像
牛客752439959号
编辑于 2020-05-26 21:27
+ 关注

搜狐畅游数据工程师校招面经

一、HR面

1 做了哪些项目
2 使用什么技术
3 哪个是你主导的项目,一共开发多少个接口,项目多长时间,数据库有多少个表

二、技术问题

1. 用自己擅长的语言实现非递归单链表反转 现场手写
2 .问Hadoop和spark的主要区别
3 .Hadoop中一个大文件进行排序,如何保证整体有序?sort只会保证单个节点的数据有序
4 .问Hive中有哪些udf
5 .Hadoop中文件put get的过程详细描述
6 .Java中有哪些GC算法

7 .Java中的弱引用 强引用和软引用分别在哪些场景中使用

8.Hadoop和spark的主要区别-这个问题基本都会问到

记住3点最重要的不同之处:
1.spark消除了冗余的 HDFS 读写: Hadoop 每次 shuffle 操作后,必须写到磁盘,而 Spark 在 shuffle 后不一定落盘,可以 cache 到内存中,
以便迭代时使用。如果操作复杂,很多的 shufle 操作,那么 Hadoop 的读写 IO 时间会大大增加,也是 Hive 更慢的主要原因了。

2.spark消除了冗余的 MapReduce 阶段: Hadoop 的 shuffle 操作一定连着完整的 MapReduce 操作,冗余繁琐。而 Spark 基于 RDD 提供了丰富的算子操作,
且 reduce 操作产生 shuffle 数据,可以缓存在内存中。

3.JVM 的优化: Hadoop 每次 MapReduce 操作,启动一个 Task 便会启动一次 JVM,基于进程的操作。而 Spark 每次 MapReduce 操作是基于线程的,
只在启动 Executor 是启动一次 JVM,内存的 Task 操作是在线程复用的。每次启动 JVM 的时间可能就需要几秒甚至十几秒,那么当 Task 多了,这个时间 Hadoop 不知道比 Spark 慢了多。

9.Hive中有哪些UDF

10.你写过哪些UDF?在哪种情况下会使用该UDF?



更多模拟面试

全部评论

(0) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐