騰訊 CDG Java后端 面試經(jīng)驗分享
各種面經(jīng)總結、面試技巧、Java所有面試知識總結都在個人gihub了,
歡迎關注:[JavaNotesForInterview](https://github.com/QiuYukang/JavaNotesForInterview)
一面
2021.03.18 90min 騰訊CDG
- 智力題:一個蛋糕切三刀分成四塊,有哪些切法
- 算法題:
- 平時使用的技術棧
- HashMap多線程存在什么問題?怎么解決?除了ConcurrentHashMap外自己寫代碼怎么解決。
- sychronized和ReentrantLock的使用方法有什么區(qū)別?
- 公平鎖和非公平鎖的區(qū)別?synchronized是一種非公平鎖?
- 線程的生命周期和狀態(tài)?
- 進程間通信的方式有哪些?
- 有沒有多線程編程的經(jīng)驗?
- ThreadLocal的原理和使用場景?
- 如何確定對象是否需要被回收?垃圾回收算法有哪些?
- 說說CMS和G1垃圾收集器的區(qū)別?
- 年輕代回收的過程?年輕代為什么要分E區(qū)/S0和S1區(qū)(為什么要兩個S區(qū))
- 對象什么時候進入老年代?什么是大對象,由什么參數(shù)決定?
- TCP頭部長度和格式?TCP默認窗口大小?數(shù)據(jù)太大怎么辦?分片后會亂序嘛?出現(xiàn)差錯了怎么辦?
- HTTP和HTTPS默認端口?HTTP頭部格式?
- binlog所有相關的東西?和undo log以及redo log的存儲形式的不同?【mark】
- MySQL主從復制的過程,binlog怎么使用的?
- 分庫分表怎么做,有沒有試過分庫分表?
- 一張表的并發(fā)量和什么有關?【CPU核數(shù)、連接數(shù)、表的互斥訪問數(shù)】;并發(fā)數(shù)量大致是多少?
- 在B+樹中查找的過程是怎么樣的?
- 主鍵索引和唯一索引的區(qū)別?
- gap lock是什么?
- 主服務器怎么確定從服務器同步完成了呢?同步失敗了怎么辦?
- 數(shù)據(jù)庫分庫分表?一個分表后的數(shù)據(jù)庫實例能頂住多大的并發(fā)請求(500左右)?
- 未來的規(guī)劃?
- 項目中的難點在哪里,解決了什么問題?
- IEEE比賽中印象最深刻的地方?
- 項目中的收獲
面試官反饋:簡歷項目沒有亮點?沒有把難點說出來?沒有可深挖的東西。
二面
2021.03.24 50min 騰訊CDG
- 項目的構成(還是沒給面試官描述清楚,被打斷了)
- Java的Socket編程有沒有用過?用的哪種模式?(應該說沒用過,但是了解過)
- 項目里的Socket編程用的哪種模式?
- TCP/HTTP都用的現(xiàn)成的接口?
- TCP如何保證可靠傳輸?
- TCP TIME_WAIT狀態(tài)在哪里出現(xiàn)?
- JVM內存區(qū)域
- 說說GC(從垃圾的判定、垃圾回收算法、分代回收理論來說)
- 了解G1嗎
- MySQL用的什么存儲引擎?
- MySQL事務的隔離級別?
- 可重復讀怎么實現(xiàn)的(加鎖?那豈不是串行化了?只加行鎖?讀寫鎖?讀快照?啥?。?。
- 讀寫是否加鎖,什么時候加鎖?寫加鎖那就不能并發(fā)了啊?(行鎖,可以并發(fā),不是表鎖?)
- SELECT ... FOR UPDATE干嘛的?(加X行鎖,加了之后呢)
- SQL注入了解嗎?
- B+樹有什么特點嗎?(從存儲結構、葉子節(jié)點的構成來說)
- 怎么處理日志打印,并發(fā)量高的接口怎么打印日志,存文件的時候需要注意什么?(應該反問面試官到底怎么做)
- 項目里面的技術難點?
- 共享內存了解嗎?
- 進程間通信了解嗎?
三面
2021.03.27 25min
- 數(shù)據(jù)庫的索引有哪些?【B+樹索引(聚集索引、非聚集索引)、哈希索引、全文索引】
- 事務的隔離級別有哪幾種?
- 事務并發(fā)控制怎么做的?
- 事務備份的checkoutpoin機制是怎么樣的?
- 網(wǎng)絡方面常見的IO模型
- 操作系統(tǒng)的內存管理是怎么做的?【頁式管理+多級頁表和快表】
- 文件系統(tǒng)了解嗎?
- Redis怎么做容災?
- Redis內存怎么管理的?【16個數(shù)據(jù)庫,過期鍵刪除策略,內存淘汰策略】
- 微服務方面有了解嘛?
- 高并發(fā)有了解嗎?