分享
定制
自己之前在小公司做了2年大數(shù)據(jù), 人手少, 哪里需要哪里搬, 所以這次被考察的面也有點廣
題目做了一下簡單記錄, 會有遺漏, 并且沒有按順序哈. 個人覺得大概回答下來80%多吧
Java
1. HashMap的底層數(shù)據(jù)結(jié)構(gòu), 為什么JDK8要用紅黑樹. ConcurrentHashMap的底層數(shù)據(jù)結(jié)構(gòu), 如何保證線程安全
2. synchronized關鍵字的本質(zhì), 作用是什么. volatile關鍵字的作用, 哪些情況下會用它
3. Java線程的幾大狀態(tài)及轉(zhuǎn)換. 線程可重入是什么概念, 可重入鎖呢
4. 如果要設計一個線程池, 需要考慮哪些要素. Executors工廠類能創(chuàng)建哪些線程池, 用過哪些
5. 講一講熟悉的設計模式. 單例模式及工廠模式的實現(xiàn)方法. 裝飾器模式是怎么一回事
6. 講一講熟悉的JVM GC算法, 常用的垃圾收集器. CMS有什么優(yōu)缺點
7. 一個Java應用上線后, 關注哪些性能指標. 如果響應時間過長或者CPU占用過高, 如何排查, 用哪些工具或命令
大數(shù)據(jù)組件
1. 是否自己搭建的集群, 集群節(jié)點數(shù)及配置
2. Hadoop的XML配置文件有哪些, 改過哪些參數(shù), 分別代表什么含義
3. HDFS NameNode高可用如何實現(xiàn), 需要哪些角色. YARN有哪些組件, 如何分配資源
4. Spark RDD有哪些特點, 寬依賴和窄依賴. RDD的緩存級別
5. DAGScheduler及stage如何劃分. 給一個比較復雜的RDD lineage, 手動劃分stage和task
6. Spark Streaming以一定的時間窗口統(tǒng)計PV/UV, 如果窗口內(nèi)數(shù)據(jù)量暴漲, 如何保證穩(wěn)定性. 如果會延遲上報, 如何保證實時性
7. Kafka與Spark Streaming集成, 如何保證exactly once語義
8. Spark/Hive中大表join小表的優(yōu)化方法. 數(shù)據(jù)傾斜和shuffle調(diào)優(yōu)方法
9. 調(diào)整過Hive的哪些參數(shù), 用什么執(zhí)行引擎. Hive UDF怎么寫, 寫過哪些. HiveQL是怎樣解析成MR/Spark job的
10. HBase的數(shù)據(jù)在HDFS上是怎樣存儲的, 寫入數(shù)據(jù)的流程是怎樣的. 為什么HBase適合寫多讀少業(yè)務
11. HBase的一個region由哪些東西組成. RegionServer宕機之后如何感知, 如何遷移數(shù)據(jù)
12. 為什么選用Kudu作為HBase和Hive的折中方案, 它有什么特點. 如果不用Kudu, HBase的二級索引能解決問題嗎
13. Impala的查詢及執(zhí)行與Hive有什么不同 [PS. 我之前的項目里用了Kudu+Impala]
數(shù)據(jù)倉庫設計
1. 之前業(yè)務中的數(shù)據(jù)倉庫是如何分層的, 怎樣建模, 主題如何劃分
2. 從ODS到DW層的ETL, 做了哪些工作
3. 1~3NF的含義. 維度建模中星型模型和雪花模型的不同. 代理鍵是什么, 支架表是什么
4. 如何處理緩慢變化維. 怎樣建設拉鏈表, 如何在拉鏈表中恢復最新數(shù)據(jù)
算法和應用題
1. 最長公共子序列(LCS)問題. 動態(tài)規(guī)劃
2. 找出二叉樹中任意兩個節(jié)點的最低公共根節(jié)點, 如果樹是BST呢. 深度優(yōu)先搜索+二分查找樹性質(zhì)
3. 10億條64B長的URL, 限定1G內(nèi)存, 做計數(shù), 如果要TopN的話呢. 哈希分桶+堆排序時間復雜度
4. 用戶行為日志有UID和時間戳, 設定一個session間隔. 離線及在線地計算用戶的平均session長度
5. 之前做過標簽推薦系統(tǒng), 詳細講一下架構(gòu)和自己設計的算法. 算法流程是行為評分+指數(shù)衰減+線性歸一化+余弦相似度/皮爾遜相關性+TF-IDF打壓
【使用錘子簡歷小程序制作簡歷】
零經(jīng)驗實習簡歷模板
21254人用過
學生求職簡歷模板
52754人用過
申請研究生簡歷模板
2324人用過
經(jīng)典工作簡歷模板
6254人用過
投行咨詢簡歷模板
12465人用過
產(chǎn)品經(jīng)理簡歷模板
7532人用過
程序員簡歷模板
7457人用過
留學英文簡歷模板
4554人用過