美團喜歡一口氣把三輪技術面和HR面一塊兒面完,雖然身心比較累(每一面差很少一個小時),不過也算是一個好事,不像某些公司一天就一面而後讓回去等消息,等面試通知也等得讓人很焦慮,並且還容易出現面試時間衝突。面試
一面算法
1.比較LinkedList、ArrayList的區別,分別適用於什麼場景數據庫
2.Synchronized關鍵字和ReentrantLock的區別網絡
3.用過哪些線程池,ThreadPoolExecutor的參數含義併發
4.什麼是悲觀鎖和樂觀鎖,樂觀鎖的實現原理post
5.計算機網絡中OSI七層模型每一層的做用學習
6.TCP三次握手、四次握手的過程,TCP和UDP協議的區別網站
7.操做系統層面如何實現鎖,造成死鎖的必要條件,如何解決死鎖spa
8.數據庫索引的實現原理,B樹和B+的區別,建索引時通常會考慮哪些點操作系統
9.怎麼判斷SQL查詢是否使用到了索引
10.MySQL存儲引擎有哪些,區別是什麼
11.公平鎖和非公平鎖區別
二面
1.Object類中包含哪些方法
2.重寫hashCode方法但沒有重寫equals方法會有什麼問題
3.HashMap的實現原理,在併發場景會有什麼問題
4.ConcurrentHashMap的實現原理
5.Redis兩種持久化方式的區別,過時時如何淘汰數據
6.Java中強引用和弱引用的區別
7.SpringMVC處理Web請求的完整流程
8.Spring中AOP的實現原理
9.JDK動態代理和CGLib代理的區別
10.如何解決哈希衝突
三面
1.介紹本身印象最深的項目
2.Web工程哪些地方可能會致使中文亂碼,如何解決
3.Error和Exception的區別,舉例常見的Error和Exception,遇到Error、Exception時分別應該如何處理
4.介紹JVM的垃圾回收機制,爲何年輕代使用複製算法,老年代採用標記算法
5. 爲何只須要一個Eden而須要兩個Survivor,如何設置年輕代的大小,這個比率的是誰和誰的比值
6.何時發生浮點數精度丟失,存儲0.1會不會發生精度丟失
7.在要求高精度的場景,Java怎麼解決
8.比較下Java和C++語言的不一樣點
9.post、get請求的區別
10.https和http區別
11.平時看哪些技術網站,如何學習新技術