1. 程式人生 > >大資料研發面試

大資料研發面試

第一視訊

一面:

1.spark常見運算元講一下

2.刪除連結串列中重複元素(程式碼)

3.二分查詢並返回該元素在陣列中的第一個位置

4.將字串陣列轉換成int陣列(不能用parseint會導致溢位)

思路:先轉換成char型別,然後知道每個字串的位數,依次用char型別轉int去乘位數得到int陣列

二面:

1.二叉樹的深度,不用層次遍歷、

2.實習工作資料倉庫遇到了什麼問題?都是如何解決的

kyligence:

1.currenthashmap的size方法

2.synchronized對普通方法和靜態方法的區別

3.hashmap是怎麼進行溢寫的

4.spark為什麼比hashmap快

5.hadoop和spark的區別

6.不對hashmap加鎖會導致什麼問題

7.執行緒池的常見引數

8.記憶體洩漏和記憶體溢位的區別\

cvte:

一面:

1.spark中RDD/DataSet/DataFrom的區別

2.hdfs資料怎麼儲存效率更佳

3.java異常模型

4.為什麼要設計可重入鎖

5.基於使用者和基於物品的推薦

頭條:

1.spark和hadoop的shuffle的區別?
2.什麼時候首先考慮新建一個程序而不是執行緒

3.抽象類和介面的區別

4.輸出二叉樹最底層最左邊的節點

5.B樹和B+樹的區別

6.列舉你知道的樹

shopee:

1.kafka中什麼時候用key-value形式

2.kafka中分割槽對於spark的好處

3.輸入url後,從作業系統角度考慮發生了什麼

4.tcp連線只有兩次會發生什麼

58同城:

一面:

1.java中的共享鎖和排它鎖

2.怎麼實現共享鎖和排它鎖

3.怎麼實現佇列和棧

4.怎麼保證快排中的基準不是最大值或者最小值

5.堆和棧用連結串列怎麼實現

6.kafka怎麼保證資料的有序