讨论区 > 求职面经 > 快手大数据开发工程师社招面经

快手大数据开发工程师社招面经

义气萧萧白展堂 发布于2021-02-04 18:07:22   91浏览

刚刚参加了快手大数据研发工程师面经,从下午2点到6点多,全程见了2位HR和4位研发,其中2位研发是比较高级的leader。目前等HR回复中。


个人情况:

自己之前在小公司做了2年大数据,人手少,哪里需要哪里搬,所以这次被考察的面也有点广。题目做了一下简单记录,会有遗漏,并且没有按顺序哈,个人觉得大概回答下来80%多吧。


Java

1.HashMap的底层数据结构,为什么JDK8要用红黑树.ConcurrentHashMap的底层数据结构,如何保证线程安全

2.synchronized关键字的本质,作用是什么.volatile关键字的作用,哪些情况下会用它

3.Java线程的几大状态及转换.线程可重入是什么概念,可重入锁呢

4.如果要设计一个线程池,需要考虑哪些要素.Executors工厂类能创建哪些线程池,用过哪些

5.讲一讲熟悉的设计模式.单例模式及工厂模式的实现方法.装饰器模式是怎么一回事

6.讲一讲熟悉的JVMGC算法,常用的垃圾收集器.CMS有什么优缺点

7.一个Java应用上线后,关注哪些性能指标.如果响应时间过长或者CPU占用过高,如何排查,用哪些工具或命令


大数据组件

1.是否自己搭建的集群,集群节点数及配置

2.Hadoop的XML配置文件有哪些,改过哪些参数,分别代表什么含义

3.HDFSNameNode高可用如何实现,需要哪些角色.YARN有哪些组件,如何分配资源

4.SparkRDD有哪些特点,宽依赖和窄依赖.RDD的缓存级别

5.DAGScheduler及stage如何划分.给一个比较复杂的RDDlineage,手动划分stage和task

6.SparkStreaming以一定的时间窗口统计PV/UV,如果窗口内数据量暴涨,如何保证稳定性.如果会延迟上报,如何保证实时性

7.Kafka与SparkStreaming集成,如何保证exactlyonce语义

8.Spark/Hive中大表join小表的优化方法.数据倾斜和shuffle调优方法

9.调整过Hive的哪些参数,用什么执行引擎.HiveUDF怎么写,写过哪些.HiveQL是怎样解析成MR/Sparkjob的

10.HBase的数据在HDFS上是怎样存储的,写入数据的流程是怎样的.为什么HBase适合写多读少业务

11.HBase的一个region由哪些东西组成.RegionServer宕机之后如何感知,如何迁移数据

12.为什么选用Kudu作为HBase和Hive的折中方案,它有什么特点.如果不用Kudu,HBase的二级索引能解决问题吗

13.Impala的查询及执行与Hive有什么不同[PS.我之前的项目里用了Kudu+Impala]


数据仓库设计

1.之前业务中的数据仓库是如何分层的,怎样建模,主题如何划分

2.从ODS到DW层的ETL,做了哪些工作

3.1~3NF的含义,维度建模中星型模型和雪花模型的不同,代理键是什么,支架表是什么

4.如何处理缓慢变化维,怎样建设拉链表,如何在拉链表中恢复最新数据


算法和应用题

1.最长公共子序列(LCS)问题.动态规划

2.找出二叉树中任意两个节点的最低公共根节点,如果树是BST呢.深度优先搜索+二分查找树性质

3.10亿条64B长的URL,限定1G内存,做计数,如果要TopN的话呢.哈希分桶+堆排序时间复杂度

4.用户行为日志有UID和时间戳,设定一个session间隔.离线及在线地计算用户的平均session长度

5.之前做过标签推荐系统,详细讲一下架构和自己设计的算法.算法流程是行为评分+指数衰减+线性归一化+余弦相似度/皮尔逊相关性+TF-IDF打压


评论( 0
我要评论

还可以上传7

表情
  • 微信扫码加好友进群