前言:
金九銀十過了金三銀四還會遠嘛,本文后面分享面試題給正準備跳槽,準備找工作的你,這次面試字節跳動也是做了很多的準備,還好順利拿到了offer,特分享一下這次的4面技術面真題,可能有些記不全了,但多少也能夠給一些正在面試字節或計劃面試字節的朋友提供幫助。
之前學校活動有去過字節跳動公司總部參觀,所以一直以來就蠻想進入字節工作的,被字節的企業文化和工作氛圍所影響。字節作為發展速度最快的互聯網公司,旗下的很多產品的用戶都比肩BAT了,所以自己也算是字節的死忠粉了。
這次字節跳動的面試,給我的感觸很深,意識到基礎的重要性,這次字節共4面技術面+HR面
拼多多(三面)
面試前
面完螞蟻后,早就聽聞拼多多這個獨角獸,決定也去面一把。首先我在脈脈找了一個拼多多的HR,加了微信聊了下,發了簡歷便開始我的拼多多面試之旅。這里要非常感謝拼多多HR小姐姐,從面試內推到offer確認一直都在幫我,人真的很nice。
拼多多:一面
- 為啥螞蟻只待了三個月?沒轉正?
- Java中的HashMap、TreeMap解釋下?
- TreeMap查詢寫入的時間復雜度多少?
- HashMap多線程有什么問題?
- CAS和synchronize有什么區別?都用synchronize不行么?
- 如果要保證線程安全怎么辦?(ConcurrentHashMap)
- ConcurrentHashMap怎么實現線程安全的?
- get需要加鎖么,為什么?
- volatile的作用是什么?
- 底層怎么實現的?
- 在多核CPU下,可見性怎么保證?
- 聊項目,系統之間是怎么交互的?
- 系統并發多少,怎么優化?
- 給我一張紙,畫了一個九方格,都填了數字,給一個MN矩陣,從1開始逆時針打印這MN個數,要求時間復雜度盡可能低
- 可以先說下你的思路(想起來了,說了什么時候要變換方向的條件,向右、向下、向左、向上,依此循環)
- 有什么想問我的?
拼多多:二面
- 自我介紹下
- 手上還有其他offer么?
- 部門組織結構是怎樣的?
- 系統有哪些模塊,每個模塊用了哪些技術,數據怎么流轉的?
- 鏈路追蹤的信息是怎么傳遞的?
- SpanId怎么保證唯一性?
- RpcContext是在什么維度傳遞的?
- Dubbo的遠程調用怎么實現的?
- Spring的單例是怎么實現的?
- 為什么要單獨實現一個服務治理框架?
- 誰主導的?內部還在使用么?
- 逆向有想過怎么做成通用么?
- 有什么想問的么?
拼多多:三面
二面老大面完后就直接HR面了,主要問了些職業發展、是否有其他offer、以及入職意向等問題,順便說了下公司的福利待遇等,都比較常規啦。不過要說的是手上有其他offer或者大廠經歷會有一定加分。
拼多多面試小結
拼多多的面試流程就簡單許多,畢竟是一個成立三年多的公司。面試難度中規中矩,只要基礎扎實應該不是問題。但不得不說工作強度很大,開始面試前HR就提前和我確認能否接受這樣強度的工作,想來的老鐵還是要做好準備
字節跳動
面試前
頭條的面試是三家里最專業的,每次面試前有專門的HR和你約時間,確定OK后再進行面試。每次都是通過視頻面試,因為都是之前都是電話面或現場面,所以視頻面試還是有點不自然。也有人覺得視頻面試體驗很贊,當然蘿卜青菜各有所愛。最坑的二面的時候對方面試官的網絡老是掉線,最后很冤枉的掛了(當然有一些點答得不好也是原因之一)。所以還是有點遺憾的。
字節跳動:一面
- 先自我介紹下
- 聊項目,逆向系統是什么意思
- 聊項目,逆向系統用了哪些技術
- 線程池的線程數怎么確定?
- 如果是IO操作為主怎么確定?
- 如果計算型操作又怎么確定?
- Redis熟悉么,了解哪些數據結構?
- 跳表的查詢過程是怎么樣的,查詢和插入的時間復雜度?
- 紅黑樹了解么,時間復雜度?
- 既然兩個數據結構時間復雜度都是O(logN),zset為什么不用紅黑樹
- 點了點頭,說下Dubbo的原理?
- CAS了解么?
- 那我們做一道題吧,數組A,2*n個元素,n個奇數、n個偶數,設計一個算法,使得數組奇數下標位置放置的都是奇數,偶數下標位置放置的都是偶數
- 先說下你的思路
- 下一個奇數?怎么找?
- 有思路么?
- 你這樣時間復雜度有點高,如果要求O(N)要怎么做
- 時間差不多了,先到這吧。你有什么想問我的?
字節跳動:二面
- 面試官和藹很多,你先介紹下自己吧
- 你對服務治理怎么理解的?
- 項目中的限流怎么實現的?
- 具體怎么實現的?
- 如果突然很多線程同時請求令牌,有什么問題?
- 怎么解決呢?
- 如果不用消息隊列怎么解決?
- 分布式追蹤的上下文是怎么存儲和傳遞的?
- Dubbo的RpcContext是怎么傳遞的?
- 你說的內存泄漏具體是怎么產生的?
- 線程池的線程是不是必須手動remove才可以回收value?
- 那你說的內存泄漏是指主線程還是線程池?
- 可是主線程不是都退出了,引用的對象不應該會主動回收么?
- 那你說下SpringMVC不同用戶登錄的信息怎么保證線程安全的?
- 這個直接用ThreadLocal不就可以么,你見過SpringMVC有鎖實現的代碼么?
- 我們聊聊mysql吧,說下索引結構
- 為什么使用B+樹?
- 什么是索引覆蓋?
- Java為什么要設計雙親委派模型?
- 什么時候需要自定義類加載器?
- 我們做一道題吧,手寫一個對象池
- 有什么想問我的么?
字節跳動面試小結
頭條的面試確實很專業,每次面試官會提前給你發一個視頻鏈接,然后準點開始面試,而且考察的點都比較全。
面試官都有一個特點,會抓住一個值得深入的點或者你沒說清楚的點深入下去直到你把這個點講清楚,不然面試官會覺得你并沒有真正理解。二面面試官給了我一點建議,研究技術的時候一定要去研究產生的背景,弄明白在什么場景解決什么特定的問題,其實很多技術內部都是相通的。很誠懇,還是很感謝這位面試官大大。
Kafka進階篇知識點
Kafka高級篇知識點
44個Kafka知識點(基礎+進階+高級)解析如下
Kafka**高級篇知識點
[外鏈圖片轉存中…(img-f5yj837X-1624443804225)]
44個Kafka知識點(基礎+進階+高級)解析如下
[外鏈圖片轉存中…(img-dXBNaCx1-1624443804227)]
由于篇幅有限,小編已將上面介紹的**《Kafka源碼解析與實戰》、Kafka面試專題解析、復習學習必備44個Kafka知識點(基礎+進階+高級)都整理成冊,全部都是PDF文檔**,有需求的朋友可以戳這里免費下載