字節跳動的面試難嗎?我該如何應對?

還有半個月,就是“金九銀十”的秋招熱潮,前幾天有個小夥伴去【字節跳動】面試,回來後跟我說了很多他面試的經過,我稍稍整理了一下,在這裏分享給大家,希望能夠對大家在面試時有一丟丟幫助!

01 一面(簡單的自我及介紹後直接上題)

1. 進程和線程以及它們之間的區別(我通過對比多個面經,發現這道是必考題,劃重點)

2. 進程間的通信方式和對應的同步方式,你用過嗎?具體怎麼用?

3. TCP和UDP的區別

4. 三次握手、四次揮手,爲什麼?

5. TCP如何保證傳輸的可靠性?

6. TCP的擁塞控制,具體過程是怎麼樣的?UDP有擁塞控制嗎?如何解決?

7. 【算法題】一個鏈表,假設第一個節點我們定爲下標爲1,第二個爲2,那麼下標爲奇數的結點是升  序排序,偶數的結點是降序排序,如何讓整個鏈表有序?

8. 【算法題】給定一個單鏈表的頭節點 head,實現一個調整單鏈表的函數,使得每K個節點之間爲一組進行逆序,並且從鏈表的尾部開始組起,頭部剩餘節點數量不夠一組的不需要逆序。(不能使用隊列或者棧作爲輔助)

9. 【算法題】假設我們有一個隊列,可能存放幾千萬上億的數據,我們應該如何設計這個隊列?寫出來看看?(提問:這個隊列是只需要在頭尾添加和刪除嗎?雙向隊列?答:是的)

10. 【算法題】一個二維矩陣,從左到右是升序,從上到下是降序,找一個數是否存在於矩陣中(類似於二叉查找樹)

02 二面(Redis+JVM...)

前面面試官已經問了你三道算法了,那我就隨便問一道吧:翻轉鏈表(面試官:能不能用c寫)....(然後讓我一邊寫一邊跟他講redis)

1. 你知道redis有哪幾種數據類型嗎?你比較熟悉哪幾種?爲什麼?

2. 講講redis裏面的哈希表吧

3. 一個URL從瀏覽器輸入到響應頁面,整個過程是怎麼樣的,能講得多詳細就講多詳細。

4. 你說HTTP可以進行多路複用,具體是怎麼複用?如果服務器掛掉或者客戶端掛掉,會怎麼樣?

5. HTTP的各種頭你瞭解嗎?每種頭具體是什麼作用?說一下

6. 你說arp會進行廣播,會造成網絡風暴,那應該怎麼解決?

7. 你知道CDN嗎?說一下

8. BIO NIO AIO說一下?epoll瞭解嗎?用過嗎?具體調用OS什麼方法?webSocket呢?

9. 創建進程調用的是OS哪些方法?具體說說

10. 我們聊聊JAVA吧,你瞭解JVM嗎?給我講講

11. JVM具體會在什麼時候進行垃圾回收?JMM具體說說?

12. 垃圾回收算法具體說說?各種垃圾回收器瞭解嗎?什麼時候執行STOP THE WORLD?

03 三面(高冷總監)

感覺應該是總監,看起來很高冷,可能就是「壓力面」,從容應對就好。

1. 我們聊聊JAVA吧,如何將一個Java對象序列化到文件裏?

2. 修改對象A的equals方法的簽名,那麼使用HashMap存放這個對象實例的時候,會調用哪個equals方法?

3. Object類的equal和hashCode方法重寫,爲什麼?

4. 現在我要求設計一個容器,容器滿的時候生產者阻塞,容器空的時候消費者阻塞(我跟他講了一下BlockingQueue和Condition,然後用Condition來寫)

5.  二叉樹的最大路徑

04 HR面(談工資啦)

1. 自我介紹一下吧

2. 你的學習方法是什麼樣的?項目中遇到的最大困難是什麼以及如何解決的?

3. 就你申請的這個職位,你認爲你還欠缺什麼?

4. 如果通過這次面試我們錄用了你,但工作一段時間卻發現你不適合這個職位,你怎麼辦?

5. 如果你的工作出現失誤,給本公司造成經濟損失,你認爲該怎麼辦?

6. 在五年的時間內,你的職業規劃?

7. 你理想中的工資薪酬是多少呢?

8. 那你有什麼想問我的?

這裏分享一下精心整理的Java面試資料(PDF文檔)及學習筆記導圖,希望能夠幫助到有需要的Java工程師朋友們,省的大家再去網上花時間找資料了!

面試資料領取方式:點擊鏈接加入【java架構技術交流

學習筆記導圖(領取方式):點擊鏈接加入【java架構技術交流

如果覺得有所收穫的話可以關注我和轉發分享給更多的程序猿們哦,在這裏祝願每一個求職者都能夠進入自己如願以償的公司拿到心儀的offer~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章