2.5K實習生歷時三個月終於拿下位元組offer,個人歷程和麵經總結 。

2020-10-17 12:00:35

前言

本編內容分享一下大佬的經歷,從三個月之前的2.5實習,到10K+位元組的。在這三個月是怎麼學習!老樣子先分享位元組面經,結尾有驚喜!

位元組跳動一面

  1. 什麼是jvm嗎
  2. 什麼是翻譯和編譯
  3. jvm的記憶體結構
  4. 作業系統的快取對應jvm的記憶體結構的哪一塊
  5. 說說jvm垃圾回收的演演算法
  6. jvm是怎麼回收垃圾的
  7. 你怎麼知道一個物件是不是可回收(可達性分析)
  8. 間接物件是不是可回收物件呢
  9.  https的過程,怎麼保證安全
  10. 為什麼ssl層要採用對稱金鑰通訊
  11. 對稱金鑰和非對稱金鑰的區別
  12. tcp/ip的每一層代表的是什麼
  13. ARP的過程
  14. ip地址是虛擬ip吧,為什麼使用者端和伺服器端能通通訊
  15. 傳輸層的最重要的協定
  16. tcp和udp的區別
  17. tcp伺服器端如果記憶體滿了,使用者端怎麼處理
  18. hashmap的原理
  19. 你瞭解hashtable嗎,如果給你優化,你怎麼優化
  20. 什麼是執行緒安全
  21. 你瞭解鎖嗎,synchronized是怎麼保證執行緒安全的
  22. volatile為什麼能夠保證可見性
  23. 如何刪除排序連結串列的節點,例如(1->1->1->2->3),結果是(2->3)

 

位元組跳動二面

  1. 聊聊專案,你這個專案怎麼優化的,說說過程
  2. 給你一棵樹,求兩個節點之間的最長距離
  3. 說一下怎麼設計LRU快取,虛擬碼,哪個hashmap,可以做LRU快取
  4. 程序通訊的方式,你試試實現其中的一種,虛擬碼
  5. ClassNotFoundException和NoClassDefFoundError的區別
  6. arrayblockingqueue的原理,使用場景
  7. 談談你對實驗室專案的認識,難點,收穫

 

位元組跳動三面

  1. 為什麼IPV4都已經用完了,但是我們的ip還是夠用
  2. 給你一個n,如何得到61n,不能用(+*/)
  3. 在一個桶中,有1024個數位,每個數位為[1-1024]的其中一個,假如在桶中+x,如何求這個x是多少
  4.  一個整形n,其中n為最大值,n+1會是個什麼結果。為什麼會這樣?(我是按原碼、反碼、二補數來回答,但是面試官還是不滿意,結論對的,但是原理還不是這樣,可能問底層吧)
  5. 7給你一個字串"abcd123",右移3位得到"123abcd",給你(char [] chars,int n),求如何能夠不用空間的情況下O(1),能夠移位得到這個結果
  6. 場景題
  • 涉及一個類,例如榨汁機,給你一個"榨汁"的方法,那你怎麼設計這個方法(我回答首先要放原料,所以方法要改一下,為zhazhi(Cailiao cailiao),然後材料包含蔬菜和水果。然後面試官說有可能蔬菜和水果,都不可以榨汁啊,像土豆。所以繼承不是個好想法。我就說有這麼個要要求的話,那我用介面啊,標識這個東西就是可以榨汁,然後實現了這個介面的才能呼叫榨汁機這個方法)

  • 25批馬,沒有計時器,5個賽道,求最快的3批,最少次數

  • 給你一個時鐘,0:00-23:59,時針和分針重疊了多少次

 

總結

       從2.5K實習到現在的位元組,這就是成長吧。大佬也跟我說:「曾經也無數次擔心基礎不好和短時間沒準備而找不到好工作,但既然選擇了這行,就只能咬牙堅持了,努力交給自己,剩下的交給時間"。

最後把大佬的面試資料和學習筆記免費分享給大家,希望對大家有幫助

資料免費領:戳這裡免費領取,暗號:CSDN

愛程式設計,愛分享,聽說點贊+關注的都進大廠了哦!!!