針不戳!java後端開發崗面經分享,面經+知識點+總結! 寫在前面 字節跳動 阿里 騰訊 拼多多 晨星 總結

寫在前面

大家好,這是一篇超長面經+總結,是對自己上一階段的梳理,也希望給以後準備找工作/正在找工作的同學們多多少少一點幫助。

基本介紹:普通985本+海外渣碩,大二轉到CS專業,大三項目交流3+2,19年10月留學畢業,有工程項目,無實習無額外加分項,主Java研發崗,非battmd級別選手,加一起拿了4個offer,最後準備去星環了。

一,面經集合(按公司劃分)
最早是去年的12月開始,中間有幾個月在研究室抗壓沒有面,考慮到讀者的閱讀喜好所以按公司劃分面經,強調一點是時間線很重要,前後自己面試能力也有差距,請留意。一般都是遠程視頻/電話面,每場面經內問題提問順序不定。一些過於水的面經沒有包括在內(比如8月前的某爲,銀行)

字節跳動

字節跳動一面12.24(遊戲研發 秋招補招)

程序:

1.實現優先隊列

2.設計2D遊戲功能 輸入兩個角色位置 輸出射擊轉向角

3.環形buffer設計

提問:

1.二叉樹與堆的關係

2.B+樹

3.時間複雜度

4.內積點乘叉乘

5.CAS機制

6.重載 重寫和多態

字節跳動二面12.28

1.內積點乘叉乘

2.堆

  1. 排序 各種數據結構

  2. 時間複雜度空間複雜度分析

  3. 集合類中爲什麼不用int(爲什麼Java集合不能存放基本數據類型,只存放對象的引用)

  4. 同步和異步

  5. 多態

  6. TCP表頭

  7. 四次揮手

字節跳動一面3.30(服務器研發 春招)

  1. 鏈表k次反轉

  2. DB語句查詢比平均分高的學生總數

  3. 如何查詢IP地址是否在國內網段

  4. 線程池

  5. Reentrantlock

  6. synchronized

  7. 組合索引

  8. JVM內存結構,類加載信息存儲在哪

9.數據庫的隔離級別

  1. cookie在http報文的那個位置

字節跳動二面3.30

  1. 磁盤文件到JVM的加載過程

  2. 類存在的意義

  3. 如何確定session存放值比如用戶id

  4. 手寫生產者消費者模式

  5. a數組用b數組順序排序

字節跳動7.17(研發 秋招提前批)

  1. 查找樹中連接兩個節點最大路徑

  2. 進程間通信效率最高的方式

3.共享內存怎麼實現

  1. Mysql四種隔離級別

5.Mysql InnoDB和MyISAM區別

  1. Mysql profile是做什麼的

  2. Redis負載均衡 熱鍵和大鍵的影響

8.Redis主從機制 分片分佈式

  1. 緩存怎麼實現

  2. LRU和FIFO

  3. 分頁原理

12.tcp擁塞控制

  1. http報文頭結構

  2. http報文長度邊界字段

字節跳動8.18(秋招)

  1. http和https

  2. time-wait和close-wait

  3. 最左看二叉樹第一個節點

  4. mysql左前原則

  5. innodb索引 b+樹子節點一定存錶行信息嗎

  6. redis持久化 主進程和子進程

  7. 有序集合數據結構怎麼實現

  8. jvm判斷回收

  9. minor gc和full gc

  10. 類加載過程

  11. java四種引用

  12. 方法區

  13. 項目

  14. 隊列集合怎麼實現的,有哪些

  15. 類加載過程的不足

  16. blockingqueue怎麼實現阻塞

  17. 哪些對象可以作爲gcRoot

字節跳動8.18二面

  1. dns過程

  2. dns遞歸調用和疊代調用

  3. tcp可靠性含義

  4. tcp可靠性應用

  5. 擁塞機制

  6. 長連接短鏈接

  7. http常用首部字段

  8. select函數,epoll函數

  9. 靜態鏈接庫和動態鏈接庫

  10. 進程和線程

  11. 編譯和鏈接的區別

  12. 最大連續和dp解法

面試總體體驗很好很全面,我基本都是二面掛,每次都是面掛之後總結重新刷新知識庫,然後學習很多。

阿里

阿里巴巴7.24(一二面在一天,秋招提前批)

  1. 項目

  2. 大數據優化內容

  3. 口述程序整數反轉

  4. zk的作用

5.kafka的partition

  1. kafka中一個broker故障,會怎麼辦

  2. flink如何實現exactly-once語義

  3. flink的實現原理

  4. 其他流處理框架與flink的區別

  5. spark如何處理流處理

  6. storm如何處理流處理

  7. lambda框架原理

  8. 如何解決超賣問題

  9. 如何用算法解決高併發

  10. 如何大數據快速查詢一條數據

  11. redis存儲數據,在工程中的作用

  12. 怎麼做evaluation驗證flink效果

阿里準備的最多,面試官安排了三面,不過和三面面試官商量了下,我10月畢業,他們招11月之後的,爲了怕被泡池子(因爲能力並不突出)還是放棄了。

騰訊

騰訊 3.7一面(春招實習)

  1. Java多態的實現

  2. TreeMap和HashMap的區別

3.MySQL索引底層的實現

  1. 什麼是NoSQL,NoSQL的常見應用

  2. Redis的數據結構

騰訊3.8二面

  1. GC是怎麼判斷年代的

  2. 浮點數怎麼存儲

  3. 什麼是TTL,什麼是TraceRoute

騰訊3.20三面

1.項目,大數據框架了解

2.GC回收

  1. 網絡查找命令

  2. Linux磁盤命令

5.網絡第二層和第三層有什麼區別

6.linux的常用指令

面試官說理論還可以,具體操作能力不行。。

騰訊 8.9(秋招提前批)

自己講:

  1. JVM

  2. linux內核

  3. zookeeper

  4. kafka消息隊列

  5. 數據庫mysql和redis

  6. 分佈式事務

  7. 微服務框架

  8. 網絡攻擊

  9. 代碼耦合性

  10. 項目完成背景

  11. TCP,UDP

期間提問:

  1. Zab協議

  2. 進程地址存儲

  3. 網絡編程IO多路複用

  4. 網絡傳輸模型

  5. IO過程

  6. 新的微服務框架

王者榮耀項目組。。。我還說我不喜歡玩王者哈哈哈(一個半小時腦子暈掉了)

拼多多

拼多多3.25 一面(春招 java崗)

1.jsp到servlet過程,servlet生命週期

2.http與https區別,傳輸過程,如何交互

  1. hashmap結構,concurrenthashmap結構

4.線程池聲明與使用

  1. JVM內存模型,垃圾回收

  2. Tomcat運行原理

  3. 手擼死鎖模型

  4. 流處理與批處理區別

9.storm和flink的區別

10.怎麼學習的

拼多多3.28 二面

  1. 手擼適配器模式

  2. 手擼代碼並查找邊界錯誤

  3. Spring MVC框架

  4. BASE原則

  5. 分佈式原理CAP原則

  6. Java反射

  7. private屬性,final類型舉例

  8. ReadWriteLock

  9. 數據庫-四種隔離級別-髒讀/幻讀/-索引

微信視頻面,最後問了我要不要去大數據研發,我拒絕了,當時比較傻缺

晨星

晨星3.26(一面)

  1. 網絡:tcp udp區別

http協議介紹

  1. 面向對象 抽象類和接口區別

3.單例模式實現

  1. 數據庫索引

  2. Js怎麼面向對象

  3. 裝飾器模式原理

7.靜態類和單例模式有什麼區別

  1. 設計一個股票推送的設計模式

  2. 容錯分析題:頁面加載慢原因

晨星二面(留的作業)

1:請在數據庫設計兩個表,分別存儲股票每天的交易數據表,和上市公司的運營數據表

,畫出相應的數據表和對應關係。

  1. 請用TF-IDF算法計算相關度,並採用適當的機器學習訓練模型來進行訓練,找到更高的篩選文檔準確率

3.聊人生

然後就是hr面了

總結

感謝你看到這裏,文章有什麼不足還請指正,覺得文章對你有幫助的話記得給我點個贊,每天都會分享java相關技術文章或行業資訊,歡迎大家關注和轉發文章!
歡迎關注公衆號:前程有光,領取一線大廠Java面試題總結+各知識點學習思維導+一份300頁pdf文檔的Java核心知識點總結!

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