位元組跳動資料探勘筆試

2021-10-05 23:52:02 字數 1942 閱讀 3620

題型:單選7道,不定項3道,程式設計3道(單選涉及linux, sql)

1. 怎麼解決資料傾斜

① 增加reduce的個數,② 重新設計key,有一種方案是在map階段時給key加上乙個隨機數,有了隨機數的key就不會被大量的分配到同一節點,待到reduce後再把隨機數去掉即可。③ 使用combinner合併,combinner是在map階段,reduce之前的乙個中間階段,在這個階段可以選擇性的把大量的相同key資料先進行乙個合併,可以看做是local reduce,然後再交給reduce來處理,這樣做的好處很多,即減輕了map端向reduce端傳送的資料量(減輕了網路頻寬),也減輕了map端和reduce端中間的shuffle階段的資料拉取數量(本地化磁碟io速率)。④ 增加jvm記憶體。

///這是乙個多選題,我記得題上給的選項有①,②,③,但是我好像沒選完。///

2.事務特徵

①原子性,②一致性, ③ 隔離性,④ 永續性。

///這也是乙個多選題,題上所給選項四個都有///

3. 系統產生死鎖的必要條件

①互斥條件:乙個資源每次只能被乙個程序使用。②請求與保持調價:乙個程序因請求資源而阻塞時,對已獲得的資源保持不放。③不剝奪條件:程序已獲得的資源,在未使用完之前,不能強行剝奪。④迴圈等待條件:若干程序之間形成一種頭尾相接的迴圈等待資源。

///同樣是多選題,選項好像有①,③,④。不記得有沒有②了。

4.tcp協議中,client需斷開連線時。。。。

///不記得選項了,然而也沒有找到答案///

單選題中還有數學的計算題,(雖然我是數學生,但是還是費勁的算了一會兒),關於sql的題是考inner join,outer join,left join,left outer join。left join和left outer join沒什麼區別,看來當時應該選outer join了,學了這麼久sql,這麼簡單的題還錯了,也是服了自己了。

程式設計題一

題目:小明設計了乙個編輯器,內容s最開始是乙個空字串,只能通過特定的命令q來修改編輯器內容,目前支援下面四個命令:

1 w : w字串追加到s末尾

2 k : 刪除s的最後k個字元

3 k : 輸出s的第k個字元

4 回滾上一步對s的操作(1,2會修改s,回滾對1,2操作)

最後輸出的應該是步驟3要求的第k個字元

命令列要求:

第一行輸入總步驟的個數n

輸入:8

1 abc

3 32 3

1 xy

3 22 2

43 1

輸出:cya

///目前沒有找到答案,後面有答案了會補上///

程式設計題二

小c追小h,小h給了小c一篇文章和一本字典,這篇文章是無標點符號的,小h的要求是讓小c把這篇文章根據字典來斷句,就這麼說吧,我也忘了題上怎麼表述的)把這篇文章有多少種分段方法求出來。

命令列要求:

第一行輸入文章,第二行輸入字典中字的個數,後面一次輸入字典內容。

輸入:abcba5ab

babccba

輸出:2

說明:文章可以斷為:

a | bc | ba

ab | cb | a

///後續補答案///

程式設計題三

小h有n雙純色襪子,對標號為i的襪子定義顏色為c_i,接下來的m天,第i天會選擇標號為a_i和b_i的兩隻襪子。問:怎麼染色,才能最少染色。

(第三個題沒有去細想,所以只記了個大概)

總結這次筆試,感覺大廠的題好難啊!!!!

自己還要多學習。

若有大佬自己寫出來了程式設計題的**,或者找到了,麻煩和小弟分享一下,感謝感謝了!!

python資料探勘面試 位元組跳動資料探勘面試總結

1.資料探勘任務 使用者常住城市 2.資料倉儲任務 演出主藝人名標籤挖掘 3.mapreduce原理 4.mapreduce特別慢的原因 4.1 計算機效能 cpu 記憶體 磁碟健康 網路 4.2 i o操作優化 資料傾斜 map reduce數設定不合理 reduce等待過久 小檔案過多 大量的不...

位元組跳動開發方向筆試

輸入乙個字串,判斷改字串是否是完全迴圈,如果迴圈,則輸出最短迴圈子串 反之輸出自身 迴圈 輸入abababab,輸出最短迴圈子串 ab不迴圈 輸入 abc,輸出 abcleetcode 459題 留著吃了飯寫實現加法 1 2 輸出 3實現減法 1 2 輸出 1實現乘法 1 3 輸出 3實現冪運算 2...

位元組跳動筆試題

要求 輸入陣列長度,然後輸入陣列中的各個元素,最後輸入整數k,要求找出陣列中三個元素小於k的三個元素,例如 輸入陣列長度 6 輸入陣列元素 2 0 1 2 3 6 輸出三元組 共4個 下面給出思路和 思路 1 獲得使用者輸入的陣列長度n,若n不為整數,則提示錯誤。2 建立陣列。3 獲得使用者輸入的陣...