北京快手大數據研發技術面經

2020-07-01    面經大全    【本頁移動版】


昨天面的, 下午2點到6點多, 全程見了2位HR和4位研發, 其中2位研發是比較高級的leader. 目前等HR回復中

自己之前在小公司做了2年大數據, 人手少, 哪里需要哪里搬, 所以這次被考察的面也有點廣

題目做了一下簡單記錄, 會有遺漏, 并且沒有按順序哈. 個人覺得大概回答下來80%多吧

Java

1. 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和task

6. 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打壓



相關文章
熱點文章
二尾中特在哪个网站 北京pk拾下载安装 pk10走势图怎么看 河南快3基本一定牛 吉林十一选五分布基本走势 快3开奖官网 北京pk10基本走势图360 股票开户哪个证券公司好 重庆快乐十分现场开奖 股票分析师简介 黑龙江快乐十分规则