位元組跳動技術一面
面問的都還比較基礎,答得也還算順利
- 說下你的實習項目吧
- 講一下線程參數的含義
- Innodb的索引實作
- 為什麼是B+樹?
- Redis的使用,分布式鎖的實作
- 作業系統虛拟記憶體換頁的過程
- TCP三向交握
- volatile關鍵字的作用
- 樂觀鎖、悲觀鎖
- HashMap結構,是否線程安全?ConcurrentHashMap如何保證線程安全?
- 之前用過哪些設計模式?
- 算法題:滑動視窗
位元組跳動技術二面
發現位元組的面試官都挺年輕的,頭發也沒怎麼秃,哈哈~
- 說一下B樹和B+樹的差別
- 說一下HashMap的實作,擴容機制,擴容時如何保證可操作?
- Redis擴容機制(漸進式單線程擴容)
- Spring AOP的原理
- Spring IoC的原理,如何實作,如何解決循環依賴?
- 兩線程對變量i進行加1操作,結果如何?為什麼?怎麼解決?
- CAS概念、原子類實作原理
- synchronize底層實作,如何實作Lock?
- AQS有什麼特點?
- 手寫項目中某個子產品代碼。
- 介紹各種網絡協定。
- DNS在網絡層用哪個協定,為什麼。
- 介紹HTTPS協定,詳述SSL建立連接配接過程。
- 代碼題:反轉單連結清單。
- 代碼題:複雜連結清單複制。
- 代碼題:數組a,先單調位址再單調遞減,輸出數組中不同元素個數。要求:O(1)空間複雜度,不能改變原數組
位元組跳動技術三面
算法題多到爆炸,感覺是算法專場,宇宙條果真名不虛傳
- 說一下Java垃圾回收機制
- 64匹馬,8個賽道,找最快的4匹馬。
- 64匹馬,8個賽道,找最快的8匹馬。
- 給出兩個升序數組A、B和長度m、n,求第k個大的
- 給出數組A,長度為n,數組中元素的值位于[0, n - 1]之間,求是否有重複元素
- 講一下多線程與多程序差別
- JVM中什麼時候會進行垃圾回收?什麼樣的對象是可以回收的?
- Spring主要思想是什麼?
- 你未來的發展方向是什麼?确定了麼?打算一直做Java?有考慮過轉嗎?
- 那你平時是怎麼學習Java的呢?
- 分享最近看的一本書
位元組跳動技術四面
那天狀态不佳,面試官也沒有問太多問題,以為沒戲了
- 場景題目:設計一個短域名服務:短信存不了太長網站,需要弄成短域名,你該如何設計一個服務,可以為全國的網址服務。
- TCP為什麼是三次握手四次揮手?
- 資料庫的隔離級别
- sql題,寫了個連表查詢外加模糊查詢
- 算法:鏡像二叉樹 …
位元組跳動HR面
再次感歎一下,位元組跳動的小姐姐又漂亮又年輕!
- 自我介紹
- 你了解位元組跳動嗎?說說你眼中的位元組吧!
- 你平時用位元組跳動的哪個産品比較多?
- 為什麼想要來位元組?意向城市是北京嗎?
- 說一下你自己的職業規劃吧
- 預期薪資
- 其他一些正常問題
最後
由于細節内容實在太多了,為了不影響文章的觀賞性,隻截出了一部分知識點大緻的介紹一下,每個小節點裡面都有更細化的内容!

需要這份文檔的朋友可以幫忙點個贊,點選下方神秘超連結,就可以免費擷取到了,還有小編準備的一份Java進階學習路線圖(Xmind)以及來年金三銀四必備的一份《Java面試必備指南》