金九銀十最新的美團技術四面已拿熱乎乎的offer,分享面經總結
美團我是在拉勾網上投的簡歷,之前也投過一次,簡歷都沒通過刪選.
後來讓一位大佬幫我改了一下簡歷,重新投另一個部門,獲得了面試機會.
話不多說,看核心重點問題吧!!!!
美團技術一面20分鐘
1、自我介紹
說了很多遍了,很流暢撿重點介紹完。
2、問我資料結構演算法好不好
挺好的(其實心還是有點虛,不過最近刷了很多題也只能壯著膽子充胖子了)
3、找到單連結串列的三等分點,如果單連結串列是有環的呢
用快慢指標,一個走一步,一個走三步。如果有環,先判斷環在哪,找最後一個節點,然後用之前的無環的做法
4、講一下專案的架構
我重點講了MVC
5、說一下你熟悉的設計模式
我重點講了單例、工廠方法、代理
5、有沒有配置過伺服器啥啥啥
這個我真不知道,都沒聽過呢,只能誠實說沒有,畢竟都沒法扯。
一面挺匆忙的,我估計面試官剛開完會還沒吃飯呢。他說讓我等,可能再找一個同事面我,可
能就直接告訴我結果了。
從一面面試官的聲音和口吻,我判斷他一定是個部門老大,問的設計偏多,後面hr告訴我他就
是我要去的部門的老大。哈哈。
美團技術二面60分鐘,詳細問答
面完一面正準備出去打羽毛球,北京的電話又來了。(註定這週五參加不了球隊活動了!)
二面:跟一面比起來,二面面試官的聲音聽起來就像是搞技術開發的,果不其然,一個小時的
純技術電話面試!面的特別全面!
1、Spring:有沒有用過Spring,Spring IOC、AOP機制與實現,Spring MVC
其實我挺不想被問到Spring的細節的,框架這些我都沒有複習不太記得了。所以我對面試官說
Spring裡面的一些比較重要的機制我理解的還不錯,然後我用一個實際的例子把我對IOC、
AOP理解講了一下,他聽了說對,理解的不錯(難得遇到一個邊面試邊能給反饋的面試官,好開心)
Spring MVC其實我用過,我就對面試官講了我的專案中用到的Servlet,jsp和javabean實現
的MVC,以及MVC各個模組職責以及每個模組是怎麼聯絡到一起的,最後我補充了一句我想
SpringMVC的思想其實跟這個是一樣的(他說對的,嘿嘿有反饋真好)
2、多執行緒:怎麼實現執行緒安全,各個實現方法有什麼區別,volatile關鍵字的使用,可重入鎖
的理解,Synchronized是不是可重入鎖
這裡我就主要講了Synchronized關鍵字,還有併發包下面的一些鎖,以及各自的優缺點和區別。
volatile關鍵字我主要從可見性、原子性和禁止JVM指令重排序三個方面講的,再講了一下我
在多執行緒的單例模式double-check中用到volatile關鍵字禁止JVM指令重排優化。
3、集合: HashMap底層實現,怎麼實現HashMap執行緒安全
我講了一下HashMap底層是陣列加單連結串列實現,Node內部類,add的過程,Hash衝突解決
辦法,擴容,三種集合檢視。HashMap執行緒安全的實現方式主要講了HashTable、
ConcurrentHashMap以及Collections中的靜態方法SynchronizedMap可以對HashMap進
行封裝。
以及這三種方式的區別,效率表現。
4、JVM記憶體管理,GC演算法,HotSpot裡面的垃圾回收器、類載入
JVM記憶體主要分為五個區,哪些是執行緒共享的,哪些是執行緒獨享的,每個區存放什麼。
GC方面:怎麼判斷哪些物件需要被GC,GC的方法,Minor GC與Full GC。HotSpot GC演算法
以及7種垃圾回收期,主要講了CMS和G1收集器。
類載入:類載入的過程,Bootstrap classloader-ExtClassloader-AppClassloader,父類委
託機制。
5、程式和執行緒的區別
從排程、併發性、擁有的資源和系統開銷四個方面回答的。
6、HTTP有沒有狀態,我說無狀態,怎麼解決HTTP無狀態 怎麼解決HTTP無狀態其實就是怎
麼進行會話跟蹤,有四種方法:URL重寫、隱藏表單域、Cookie、Session。
7、Java IO,NIO,Java中有沒有實現非同步IO
Java IO實現的是同步阻塞,它是怎麼實現同步阻塞的。我拿了read()方法舉例來講的。
NIO實現的是同步非阻塞,我詳細講了一下Selector中的select()方法輪詢說明它是如何實現多路複用IO的。
然後對比了一下他們的效率。面試官可能看我對這一塊比較瞭解,又繼續問我Java中有沒有實現非同步IO,我感覺好像沒有,但面試官說有,讓我想想,其實這裡我並不清楚啦,所以我就對面試官講了一下我對Unix中非同步IO模型的理解,然後說至於Java裡面有沒有我真的不太清楚。(他居然笑了!說你理解是對的,Java裡面有沒有不重要!哈哈)
8、前端會不會,Ajax是什麼,Ajax實現原理
前端我只是會用一些js而已,用過jquery框架,問我Ajax全稱是啥,我猜是非同步的js和xml。Ajax實現原理其實我也不懂,我就只簡單講了一下它通過XMLHttpRequest物件進行非同步查詢,Ajax引擎在客戶端執行,減少了伺服器工作量。
9、讓我設計一個執行緒池
因為我簡歷中有寫到我對多執行緒、併發這一塊理解比較好。所以他老問這方面的題。這個問題因為我之前看過ThreadPoolExecutor的原始碼,所以我就仿照那個類的設計思路來想的,詳細講了一下核心池、建立執行緒可以用工廠方法模式來進行設計、執行緒池狀態、阻塞佇列、拒絕策略這幾個方面。設計的還算比較周全。
10、講幾個設計模式,哪些地方用到了,為什麼要用
單例模式,jdk中的getRuntime();
工廠方法模式:ThreadPoolExcutor用到ThreadFactory;
觀察者模式:java.util包下面的Observable和Observer。
最後主要講了一下工廠方法模式的使用場景。
11、Mysql優化、索引的實現
我從資料庫設計優化和查詢優化兩方面講的。
索引B+樹實現,InnoDB和MyISAM主鍵索引的實現區別,一個聚集一個非聚集。
12、事務的隔離級別
四種隔離級別,可能會出現哪些異常,mysql中預設級別。
13、有沒有用過Hibernate、mybatis、git
這個簡單講一下就好,分別是幹什麼的
14、Linux
我說這個本科學過,但是很久沒用,命令忘光了。他說沒事,考你幾個簡單的:cd、ls、
dir(真的是簡單的)
15、演算法題
從10萬個數中找最小的10個,時間複雜度分析(最大堆,考慮記憶體)
從一個有正有負陣列中找連續子陣列的最大和,時間複雜度分析(動態規劃)
滿二叉樹第i層有多少個節點,n層的滿二叉樹共有多少個節點
終於到我提問環節了
1、你們是什麼部門(他說是核心部門,大資料研發)
2、我對高併發和負載均衡挺有興趣的,但是我平時在學校也沒有這個環境讓我在這方面有所體驗,那你建議我目前可以怎麼學呢(他說這確實是不太好學,只能看些理論和別人的部落格,以後工作中才能慢慢學)
3、中介軟體具體是做什麼的,是解決高併發和負載均衡嗎(他說差不多是的,然後他說我們這個部門不是中介軟體,是大資料部門啊,我說恩我知道)
最後沒啥問題了,他讓我保持電話暢通。
這一面面完,口乾舌燥,我一度懷疑他可能不知道我是在應聘實習生的崗位。有太多要總結的了,放在總結的地方一起講吧。
美團技術三面25分鐘
面試官說是他是另外一個部門的,需要進行交叉面試。
1、MySql優化
2、說下專案做了些什麼,架構之類的
3、在collabedit上線上寫程式碼,題目很簡單是程式設計之美上的原題,一個有序的整數陣列,輸出兩個數,使它們的和為某個給定的值。之前做過很快寫好,然後給他講思路。他繼續問如果陣列無序怎麼辦,先排序。
4、兩個檔案,每個檔案中都有若干個url,找出兩個檔案中相同的url(用HashMap)
這一面挺簡單的,只是增加之前面試沒有過的線上寫程式碼環節,collabedit後來我才瞭解,像facebook一些網際網路公司遠端面試都會用這個線上編輯器寫程式碼,就是文字文件寫,沒有提示,不能編譯執行,跟白板寫一樣。平時練練手就好。
美團技術HR四面30分鐘
三面面試官說他那就是終面,說我過了等hr聯絡我。萬萬沒想到半小時後的hr面居然也是技術。
1、自我介紹,都四面了還自我介紹?!我還以為是單純的hr面,所以介紹的都是我的性格和生活方面的,結果並不是。
2、問專案,問的特別特別細,技術細節,還有遇到什麼問題,怎麼解決的,做專案有沒有人帶,怎麼跟別人溝通的。
3、資料庫優化,如果資料庫一個表特別大怎麼辦 資料庫優化我就講了之前講過很多遍的點,他問一個表特別大怎麼辦:大表分小表,怎麼實現:使用分割槽表
4、確定入職時間 這一面確實讓我感到有壓迫感,專案是本科做的,挺久了,一些技術細節上
也沒太總結,所以問細了我只能連想帶編。
上面的這些面試題都整理成了PDF文件,希望能幫助到你面試前的複習並找到一個好的工作,相對來說也節省了你在網上搜尋資料的時間來學習!!!
Java核心面試寶典
-
JVM
-
JAVA集合
-
JAVA多執行緒併發
-
JAVA基礎
-
Spring原理
-
微服務
-
Hetty與PC
-
網路
-
日誌
-
Zookeeper
-
Kafks
-
Rabbi tMQ
-
Hbase
-
MongoDB
-
Cassandra
-
設計模式
-
負載均衡
-
資料庫
-
一致性演算法
-
JAVA演算法
-
資料結構
-
加密演算法
-
分散式快取
-
Hadoop
-
Spark
-
Storm
-
YARIN
-
機器學習
-
雲端計算
求來的大廠面試場景(為了學習提升可以沒臉沒皮,啊哈哈哈)
我針對這些大廠的面經場景也找了很多題刷,對自身的提升也是非常大(還特意要了份面試答案)
美團部分面經
好未來面試場景
分享一些我個人的學習文件,有需要的朋友自行選擇獲取:
1、面試文件專題整理
既然是要面試,那麼就少不了刷題,實際上春節回家後,哪兒也去不了,我自己是刷了不少面試題的,所以在面試過程中才能夠做到心中有數,基本上會清楚面試過程中會問到哪些知識點,高頻題又有哪些,所以刷題是面試前期準備過程中非常重要的一點。
根據自身面試經歷整理以及不斷收集的(珍藏版)
相關的電子書、底層原始碼
阿里巴巴必備學習知識點
最後
很多人感嘆“學而無用”,實際上之所以產生無用論,是因為自己想要的與自己所學的匹配不上,這也就意味著自己學得遠遠不夠。無論是學習還是工作,都應該有主動性,所以如果擁有大廠夢,那麼就要自己努力去實現它。
以上學習資料均免費放送,最後祝願各位身體健康,順利拿到心儀的offer!
資料獲取方式:轉發和評論這篇文章,然後
相關文章
- 美團四面,已拿offer
- 金九銀十跳槽季,JAVA兩年經驗樂信面經分享。已拿offerJava
- 四面美團,收割 offer
- 分享2019年螞蟻金服面經(已拿Offer)!附答案!!
- 美團面經總結(2023最新)
- 最新熱乎的尚矽谷Docker核心技術視訊教程Docker
- 分享我的優質面經,螞蟻金服社招三面面經分享,已拿offer
- 金九銀十鐵12,目前騰訊、美團等五家大廠都收到意向offer | 掘金技術徵文
- 螞蟻金服2019實習生面經總結(已拿口頭offer)
- 2020最新位元組跳動面試經驗分享,已拿到offer (4輪技術面+hr面)面試
- 我的秋招經驗分享(已拿BAT,頭條,網易offer) | 掘金技術徵文BAT
- 萌妹子的面試經歷,美團四面三小時,成功拿到 Java 崗 offer面試Java
- 位元組跳動實習面經分享(已拿offer附攻略)
- 金三銀四面試季來臨,最新BAT面試資料分享給你面試BAT
- 金九銀十鐵12,講述一個收到騰訊、美團等五家大廠意向offer的大神
- 大三實習生,位元組跳動面經分享,已拿Offer
- 19校招阿里騰訊華為美團演算法崗面經,均已拿offer | 掘金技術徵文阿里演算法
- “金九銀十”,產品經理面試準備手冊面試
- 春招後端阿里騰訊位元組美團Offer拿來吧你,面試經驗分享後端阿里面試
- 六面天貓,已拿 offer,我的面經覆盤總結,大廠真的有那麼難進嗎?
- Java開發:錯過金三銀四 你還要錯過金九銀十嗎?面試大綱總結Java面試
- Java開發5年,四面美團(多執行緒+redis+JVM+資料庫),終拿offer!Java執行緒RedisJVM資料庫
- 一位大佬螞蟻金服2019實習生面經總結(已拿口頭offer)
- 最新阿里技術三面(已拿Offer):JVM+高併發效能+單點登入+微服務阿里JVM微服務
- 熱乎的騰訊資料分析實習生面經
- 給大家分享下騰訊菜鳥京東Java面經(已經收到 Offer) | 掘金技術徵文Java
- 熱乎的前端筆試/面試/跳坑筆記(指南)前端筆試面試筆記
- 2019Android秋招提前批面試總結(已拿BAT等6家offer)Android面試BAT
- 金九銀十,教你如何高效的促單LJF
- 一次美團面經分享!
- 大三Java實習總結網易百度小米美團阿里(均拿offer)Java阿里
- 《金三銀四面試系列》—面試必問Spring面試Spring
- 各個大廠面經合集,阿里、騰訊、螞蟻金服Java技術面試及經驗總結(文末分享答案)阿里Java面試
- 2020年“金九銀十”的面試寶典:騰訊,位元組等大廠面試真題彙總面試
- (年後第一面)3年後端北漂小夥京東四面收到offer面經總結後端
- 1-3年Android開發工程師怎麼面試?已拿下知乎、網易和快手的offer!Android工程師面試
- Android&Java面試題大全—金九銀十面試必備AndroidJava面試題
- 金九銀十中,看看這31道Android面試題Android面試題