美團一面:
收到了HR的信息,通知我去面試,說實話真的挺緊張的。自己准備了近一個月的時間,很擔心面試不過,到時候又後悔不該“裸辭”。
- 自我介紹
- spring的IOC,AOP原理
- springmvc的工作流程
- handlemapping接收的是什麼
- 項目中你用到了MyBatis,說說#和$的區別
- MyBatis你寫的XML怎麼綁定對應的接口?namespace.id
- Spring有幾種方式定義Bean
- git你用過哪些命令
- linux怎麼在查找目錄下的一個文件
- redis基本數據結構
- redis單線程模型
- 事務的四大特性
- 解釋線程池的三個主要參數
- 具體的問項目中線程池如何使用的(這裏因為有些忘記,導致扣了很久)
- AQS都有什麼公共方法
- 那單例模式和prototype模式,spring都是怎麼實現的
- 計算機網絡應用層都有什麼協議
美團二面
第二面問的挺多的內容,只記得個大概,所以也只能分享一個我所能記憶到的面試內容
- 描述從輸入一個url到得到結果的過程
- springMVC的執行過程
- MVC設計模式
- static變量初始化在哪個階段
- jvm堆中的內存區域分布
- 垃圾收集算法
- redis如何實現高並發
- synchronized是可重入的嗎?是公平還是非公平
- 公平鎖和非公平鎖的區別、
- 項目中如何使用的redis
- MySQL的的默認隔離級別、防止了什麼讀
- SQL題:有一個學生錶,有id和name,姓名有可能重複,查詢出所有姓名重複的人的名字
- 四次揮手的過程
- 動態規劃的特點
- 索引結構?為什麼使用B+索引
- CAS原理?用CAS實現 兩個線程給同一個變量賦值
- 為什麼 Redis 需要把所有數據放到內存中
- mysql的主從複制機制
- 將阿拉伯數字轉換成中文數字。如(int)123456->十二萬三千四百五十六
這一面自我感覺比一面好很多,面試官態度很和藹,就讓我沒有那麼的緊張,讓我稍等一下,我也不知道下一面是情况,或者有沒有下一面。
美團三面
- 自我介紹
- 介紹一個你覺得難的項目
- 說一下sql做了什麼優化
- 項目中如何使用的redis
- redis如何保持和mysql的數據一致性
- 說一下都有什麼類型二叉樹
- 代碼題:構建一個二叉樹,做前序的非遞歸遍曆
- 數據庫最大的錶大概多大
- 了解哪些分布式的技術
- 最近在看什麼書?說一說
面試官給出的建議是,如果代碼再稍微優美一點就很好了,不過也沒什麼大問題。然後跟我說讓我等一等,出去商量商量。哎,真的太難了~~~
交叉面
來了個其他部門更牛B的大佬,感覺自己要凉,我太難了~~~
- 項目介紹一下
- AQS介紹一下
- Java中有哪些鎖機制
- 介紹一下ConcurrentHashMap
- 為什麼項目中用Springboot
- 用過Spring事務嗎?有哪些事務傳播屬性
- A方法上有@Transactional注解,B方法上也有@Transactional,在一個方法裏(也有@Transactional注解)。先調用A,再調用B,B出現了异常,A是否能提交?如果不能,怎樣能讓A提交成功
- 緩存穿透了解嗎?怎麼解决
- 布隆過濾器了解嗎?有什麼問題
- 有A,B兩個大的文件集合,記錄了一些訂單號,怎樣找到A中有的但B中沒有的訂單號?使用布隆過濾器可以嗎
- 一個方法上有@Transactional注解,裏面調用了A(),B(),C()。其中B進行了網絡調用,可能傳輸時間比較長,這樣設計有什麼問題?怎麼解决
- MQ用過嗎
- 最近在學什麼
最後
CodeChina開源項目:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視頻】


