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

一、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?



#搜狐畅游##校招##面经##数据开发工程师#
全部评论

相关推荐

3 13 评论
分享
牛客网
牛客企业服务