标题:北京快手大数据研发技术面经 内容: 昨天面的, 下午2点到6点多, 全程见了2位HR和4位研发, 其中2位研发是比较高级的leader. 目前等HR回复中自己之前在小公司做了2年大数据, 人手少, 哪里需要哪里搬, 所以这次被考察的面也有点广题目做了一下简单记录, 会有遗漏, 并且没有按顺序哈. 个人觉得大概回答下来80%多吧Java1. HashMap的底层数据结构, 为什么JDK8要用红黑树. ConcurrentHashMap的底层数据结构, 如何保证线程安全2. synchronized关键字的本质, 作用是什么. volatile关键字的作用, 哪些情况下会用它3. Java线程的几大状态及转换. 线程可重入是什么概念, 可重入锁呢4. 如果要设计一个线程池, 需要考虑哪些要素. Executors工厂类能创建哪些线程池, 用过哪些5. 讲一讲熟悉的设计模式. 单例模式及工厂模式的实现方法. 装饰器模式是怎么一回事6. 讲一讲熟悉的JVM GC算法, 常用的垃圾收集器. CMS有什么优缺点7. 一个Java应用上线后, 关注哪些性能指标. 如果响应时间过长或者CPU占用过高, 如何排查, 用哪些工具或命令大数据组件1. 是否自己搭建的集群, 集群节点数及配置2. Hadoop的XML配置文件有哪些, 改过哪些参数, 分别代表什么含义3. HDFS NameNode高可用如何实现, 需要哪些角色. YARN有哪些组件, 如何分配资源4. Spark RDD有哪些特点, 宽依赖和窄依赖. RDD的缓存级别5. DAGScheduler及stage如何划分. 给一个比较复杂的RDD lineage, 手动划分stage和task6. Spark Streaming以一定的时间窗口统计PV/UV, 如果窗口内数据量暴涨, 如何保证稳定性. 如果会延迟上报, 如何保证实时性7. Kafka与Spark Streaming集成, 如何保证exactly once语义8. Spark/Hive中大表join小表的优化方法. 数据倾斜和shuffle调优方法9. 调整过Hive的哪些参数, 用什么执行引擎. Hive UDF怎么写, 写过哪些. HiveQL是怎样解析成MR/Spark job的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打压 发布时间:2024-09-19 11:39:02 来源:职责网 链接:https://www.hachui.cn/bbs/show-542.html