1. 小米
一面(8.25)
- 你有沒有 閱讀過 什麼源碼 封裝、繼承、多台是怎麼用的 你有沒有見過那些比較好的設計
- 線程池7大參數 原理
- 死鎖 原理 以及怎麼解決
- 動态代理底層
- http請求全過程
- 占包和丢包
- 你了解那些mq mq怎麼保證資料不丢失 幂等性怎麼解決
- 三個分布式鎖 說的面試官很滿意
- aqs的底層
- 可重入鎖
- 一個數組 找出 最長的降序子序列
2. 滴滴轉正
一面(8.25)
- 瘋狂追問traceId和spanId的實作
- java基礎==和equal的差別
- 發射原理
- spring如何解決對象的依賴關系
- springMVC原理
- 現在怎麼找到對應的方法?以前呢?
- 注解原理
- AOP怎麼攔截注解的
- 系統異常和普通異常 怎麼實作
- 序列化中有個 關鍵字 可以不讓某個成員變量 序列化
二面(8.30)
- 二輪車業務,資料庫當機了怎麼辦
- 怎麼優化檔案太大
- 延遲消費怎麼實作
- 怎麼迅速排查程式的bug
- 建立線程池的時候需要考慮什麼問題
- springboot的啟動,監聽器怎麼實作的
- sychronized 1.5之後做了哪些優化?自旋底層是怎麼實作的?CAS的底層呢?我們能不能調用unsafe類?
- 你覺得你實習期間最大的亮點是啥?
- 你為什麼想來滴滴
- 除了幹好 導師配置設定的工作 你還幹了啥
- 你是怎麼看程式的 架構是啥
3. 映客
一面(8.26)
- http1.1和1.0差別?
- http1.1 緩存(瞎幾把亂說了幾句)
- http1.1複用
- http1.1和1.0 連結的差別(不會)
- 三次握手 為啥三次 兩次不行嗎(這個說的有點自己都不會了)
- 四次揮手 兩次wait time
- 七層協定(忘他媽求完了)
- tcp和udp差別
- udp怎麼保證可靠性 實作udp的一個啥協定 沒聽清(不會)
- 快重傳與快恢複怎麼了解?出現在什麼時候 是一個概念嗎
- mysql索引怎麼了解
- Redis淘汰政策
- 過期和淘汰的差別
- 過期政策有哪些?(不會)
- 程序和線程的差別
- 程序通信方法
- 程序排程政策
- 反問環節