疫情在家刷了幾個月的面試題及演算法,我終於拿到了位元組跳動offer
前言
2020多麼特殊,讓人記憶猶新的一年…
但是再艱難的日子也將過去,我們也要更加努力的去應對生活.
宅在家這幾個月,每天生活除了陪家人,然後就是不斷的刷題刷題…我想這樣的生活只有我們程式猿能懂…不負眾望,我也拿到自己心儀的offer,“位元組跳動”不枉我為他準備了那麼久.
從接到面試通知,到拿到offer共336小時53分鐘21秒,這個時間段內,我沒有一刻是不緊張的,直到我清清楚楚地看到“錄用意向書”5個大字,懸著的心才放了下去。
這次位元組跳動的面試,給我的感觸很深,意識到基礎的重要性、演算法的龐大需求,這次位元組共4面技術面+HR面,特分享一下這次的4面技術面真題,可能有些記不全了,但多少也能夠給一些正在面試位元組或計劃面試位元組的朋友提供幫助。
位元組跳動技術一面
面問的都還比較基礎,答得也還算順利
1.說下你的實習專案吧
2.講一下執行緒引數的含義
3. Innodb的索引實現
4. 為什麼是B+樹?
5. Redis的使用,分散式鎖的實現
6. 作業系統虛擬記憶體換頁的過程
7. TCP三次握手
8. volatile關鍵字的作用
9. 樂觀鎖、悲觀鎖
10. HashMap結構,是否執行緒安全?ConcurrentHashMap如何保證執行緒安全?
11. 之前用過哪些設計模式?
12. 演算法題:滑動視窗
位元組跳動技術二面
發現位元組跳動的面試官都挺年輕的,頭髮也沒怎麼禿,哈哈~
1. 說一下B樹和B+樹的區別
2. 說一下HashMap的實現,擴容機制,擴容時如何保證可操作?
3. Redis擴容機制(漸進式單執行緒擴容)
4. Spring AOP的原理
5. Spring IoC的原理,如何實現,如何解決迴圈依賴?
6. 兩執行緒對變數i進行加1操作,結果如何?為什麼?怎麼解決?
7. CAS概念、原子類實現原理
8. synchronize底層實現,如何實現Lock?
9. AQS有什麼特點?
10. 手寫專案中某個模組程式碼。
11. 介紹各種網路協議。
12. DNS在網路層用哪個協議,為什麼。
13. 介紹HTTPS協議,詳述SSL建立連線過程。
14. 程式碼題:反轉單鏈表。
15. 程式碼題:複雜連結串列複製。
16. 程式碼題:陣列a,先單調地址再單調遞減,輸出陣列中不同元素個數。
要求:O(1)空間複雜度,不能改變原陣列
位元組跳動技術三面
演算法題多到爆炸,感覺是演算法專場,宇宙條果真名不虛傳,還好我有左神
1. 說一下Java垃圾回收機制
2. 64匹馬,8個賽道,找最快的4匹馬。
3. 64匹馬,8個賽道,找最快的8匹馬。
4. 給出兩個升序陣列A、B和長度m、n,求第k個大的
5. 給出陣列A,長度為n,陣列中元素的值位於[0, n - 1]之間,求是否有重複元素
6. 講一下多執行緒與多程序區別
7. JVM中什麼時候會進行垃圾回收?什麼樣的物件是可以回收的?
8. Spring主要思想是什麼?
9. 你未來的發展方向是什麼?確定了麼?打算一直做Java?有考慮過轉嗎?
10. 那你平時是怎麼學習Java的呢?
11. 分享最近看的一本書
位元組跳動技術四面
那天狀態不佳,面試官也沒有問太多問題,以為沒戲了
1. 場景題目:設計一個短域名服務:簡訊存不了太長網站,需要弄成短域名,你該如何設計一個服務,可以為全國的網址服務。
2. TCP為什麼是三次握手四次揮手?
3. 資料庫的隔離級別
4. sql題,寫了個連表查詢外加模糊查詢
5. 演算法:映象二叉樹 …
位元組跳動HR面
再次感嘆一下,位元組跳動的小姐姐又漂亮又年輕!
1. 自我介紹
2. 你瞭解位元組跳動嗎?說說你眼中的位元組吧!
3.你平時用位元組跳動的哪個產品比較多?
4. 為什麼想要來位元組?意向城市是北京嗎?
5. 說一下你自己的職業規劃吧
6. 預期薪資
7. 其他一些常規問題
面試到這裡也就結束了,後面經過漫長的等待,終於拿到了錄用意向書,懸著的心也終於放下來了
總結
無論面試那個大廠,基礎的掌握是必不可少的,都要你去研究下底層、讀下原始碼,另外演算法現在也是大廠必備,尤其是在位元組更甚。
下面給大家整理了一些進大廠必備的知識點資料、面試題。
感興趣的朋友可以幫忙點贊文章後,關注戳這裡,暗號:CSDN來免費獲取
演算法方面,我給大家(尤其是想進位元組的朋友)準備了左程雲左神寫的書、還有視訊
《程式設計師程式碼面試指南 IT名企演算法與資料結構題目最優解》
左程雲針對大廠位元組跳動、京東、騰訊、阿里演算法面試題而講解的視訊,感興趣的朋友可以關注我來領取一份
演算法視訊以及文中《程式設計師程式碼面試指南》、大廠必備知識點資料、面試資料已經給大家打包整理好了,感興趣可以來關注我戳這裡,暗號:CSDN免費領取