快手提前批大数据工程师面经凉经
一面:
1、能讲下你做的项目吗?
2、前端的log怎么来的?
3、ngnix,负载均衡用的是哪个策略?iphash还是最小连接,还是权重?
4、码入Mysql这块怎么做的?你是通过什么往里面写数据的?要监听mysql要开始row模式吗?
5、kafka的isr和osr。ack有几种值?
6、最终会落到ES吗?那ES的索引是怎么建的?数据量有多大?数据量大的时候index怎么办?可以按照时间分区去建索引。
7、HDFS怎么读文件和写文件的?
8、最终MR文件输出的个数取决于什么?
9、ZK的ZAB选举算法。他的一个选举算法。ZK里的节点类型有几种?(临时节点、永久节点用来作什么?)
10、HIVE怎么把SQL转成MR了解吗?能想想吗?语法解析、XX校验、BLOG?
11、窗口函数有哪些?rownumber排序取第一个
12、UDF、UDTF、UDAF区别?
13、HBase的架构。region主要是用来管理最终table的一个存储。Store里面又有什么呢?
14、RowKey的设计原则?为什么不能超过一定的长度?为什么要唯一?rowkey太长会影响Hfile的存储是吧?Hfile里面会有memstore,是占内存里的,太长的话放不了太多数据,减慢检索效率。
hbase是按字典序存储的,所以要利用这个排序的特点。
15、FLume主要用来做什么?Flume用tail吗?比如说我删除了一个文件句柄,然后我touch了一个一模一样的文件,文件name是一样的,还能tail到吗?F和f,F的话如果文件名一样还是可以tail到那个文件的。
16、sparkstreaming的工作机制。spark的工作机制,怎么绘制DAG的?
17、sparkstreaming的双流join的过程,怎么做的?讲一下。
18、代码:斐波那契数列。
19、sql熟吗?点击率那些有了解吗?比如说我有一个页面,A页面曝光次数100次,点进去之后跳到B页面,B页面的refer来源是A页面,来源于A页面的只有50,那A页面的点击率只有50/100。
2面:
过程:35min,面试官一开始就说面试分为四个阶段
第一个阶段:自我介绍,简单扼要的讲下流程,你的亮点、你所特有的别人所没有的。1-2min。考察归纳总结的能力。
第二个阶段:考察实际项目的参与度,遇到问题的思维方式。会选对你成长最有帮助的一个项目,讲出你的成长是什么?遇到问题怎么解决的?你是怎么爬坑的?会问你一些原理。
第三个阶段:写题目。实现能力、编码习惯、书写能力、书写格式。
第四个阶段:最后聊一聊工作和生活上的随便聊。
MR和spark的执行过程。select a.bp , sum(a.a) from a join b on a.bp=b.bp and a.id=b.id;说一下整个执行过程。
1、能讲下你做的项目吗?
2、前端的log怎么来的?
3、ngnix,负载均衡用的是哪个策略?iphash还是最小连接,还是权重?
4、码入Mysql这块怎么做的?你是通过什么往里面写数据的?要监听mysql要开始row模式吗?
5、kafka的isr和osr。ack有几种值?
6、最终会落到ES吗?那ES的索引是怎么建的?数据量有多大?数据量大的时候index怎么办?可以按照时间分区去建索引。
7、HDFS怎么读文件和写文件的?
8、最终MR文件输出的个数取决于什么?
9、ZK的ZAB选举算法。他的一个选举算法。ZK里的节点类型有几种?(临时节点、永久节点用来作什么?)
10、HIVE怎么把SQL转成MR了解吗?能想想吗?语法解析、XX校验、BLOG?
11、窗口函数有哪些?rownumber排序取第一个
12、UDF、UDTF、UDAF区别?
13、HBase的架构。region主要是用来管理最终table的一个存储。Store里面又有什么呢?
14、RowKey的设计原则?为什么不能超过一定的长度?为什么要唯一?rowkey太长会影响Hfile的存储是吧?Hfile里面会有memstore,是占内存里的,太长的话放不了太多数据,减慢检索效率。
hbase是按字典序存储的,所以要利用这个排序的特点。
15、FLume主要用来做什么?Flume用tail吗?比如说我删除了一个文件句柄,然后我touch了一个一模一样的文件,文件name是一样的,还能tail到吗?F和f,F的话如果文件名一样还是可以tail到那个文件的。
16、sparkstreaming的工作机制。spark的工作机制,怎么绘制DAG的?
17、sparkstreaming的双流join的过程,怎么做的?讲一下。
18、代码:斐波那契数列。
19、sql熟吗?点击率那些有了解吗?比如说我有一个页面,A页面曝光次数100次,点进去之后跳到B页面,B页面的refer来源是A页面,来源于A页面的只有50,那A页面的点击率只有50/100。
2面:
过程:35min,面试官一开始就说面试分为四个阶段
第一个阶段:自我介绍,简单扼要的讲下流程,你的亮点、你所特有的别人所没有的。1-2min。考察归纳总结的能力。
第二个阶段:考察实际项目的参与度,遇到问题的思维方式。会选对你成长最有帮助的一个项目,讲出你的成长是什么?遇到问题怎么解决的?你是怎么爬坑的?会问你一些原理。
第三个阶段:写题目。实现能力、编码习惯、书写能力、书写格式。
第四个阶段:最后聊一聊工作和生活上的随便聊。
MR和spark的执行过程。select a.bp , sum(a.a) from a join b on a.bp=b.bp and a.id=b.id;说一下整个执行过程。
写了个sql题目
2面很紧张,表现很不好,面试官也努力让我不要紧张,说紧张对你没有任何好处,但我还是表现太差了。。。。。。。。
#校招##面经##大数据开发工程师##快手#