搜狗金融面试题
在茶水间面试,有很多求职者,都是一对一,并且不同面试官很可能是不同的大数据方向
1)技术部分
(1)RDD是什么?
(2)MySQL的索引如何理解?常用引擎是什么?有什么区别?比较Redis和MySQL的区别?说一下各自的持久化机制...
2)项目部分
(1)Kafka的offset、Flume的组成,项目中为什么用了两层?如何实时统计pv和uv?
(2)给定一款产品,如何评价它的性能?
(3)对于自己统计出来的结果,如何评价结果的正确性?
(4)介绍主要的业务线,现在有没有offer,职业规划是什么,对加班的看法,是否能接受数仓的工作....
3)手写部分
(1)手写代码1:将两个无序数组合并,并保证合并后的数组有序,不允许用Arrays的方法
(2)手写代码2:手写WordCount,然后比较Flatmap和Map的区别、groupByKey和reduceByKey的区别
(3)手写HQL:给定两个表,查找a中有,但是b中没有的元素
(select * from a left join b on a.id=b.id where b.id is null)
说明上述方式产生了几个job?
4)算法部分
(1)将一个栈变成一个队列,至少用几个栈?
5)感受部分
面试大约2个小时,最后面试官介绍业务时才知道主要是做数仓,并且他问的这些问题,除了项目和后面的产品相关内容,基本上每一个问题都会落到数据结构上(RDD、索引、栈、队列、包括groupByKey和reduceByKey...)