2019-2020年美團Android安卓開發面試經驗貼彙總(牛客,面經,實習,校招,社招,工程師,集合)

快樂李同學(李俊德-大連理工大學)發表於2020-04-27

一、問題背景

博主在4月份上旬準備美團Android安卓開發面試時,在牛客網上對2019-2020年所有的美團Android安卓開發面試經驗帖進行了彙總,現在把這些彙總的內容分享出來給大家參考。

二、2019-2020年美團Android安卓開發面試經驗貼彙總

1.美團Android工程師秋招麵筋

該面經帖作者:長街不敵千里雪(2019屆秋招)
該面經帖釋出時間:2018-10-12

2018/9/20 一面

自我介紹
   SS助手介紹
   SS助手有什麼專案難點
   java 執行緒池如何設定引數?
   Flutter或者一個新東西是如何學習的?
   後臺介面如何協商
   前後臺都會做的程式碼量,怎麼看待?
   android的效能問題如何發現?
   android如何除錯效能問題?
   android的自定義view是如何做的?   
   開放性問題:專案很緊急怎麼辦?
   產品定義的產品需求不是很好,如何反饋?
   你有什麼要問我的嗎?

2018/9/27 二面

自我介紹
介紹下你是如何學習的
介紹下在阿里實習的經歷
flutter 的層級結構
flutter和 react native的區別?
flutter 選擇dart語言的原因是什麼?
物件導向程式設計的特點
里氏替換原則
依賴倒置原則
docker 用在什麼地方比較多?
docker 和虛擬機器的不同
git 常見開發流程
git branch 的底層實現結構
git branch 和 git tag的區別?
未來職業規劃
你和周圍的人優點是什麼?
你有什麼問題要問我嗎?

2018/9/29 三面

自我介紹
實習經歷
知道哪些設計模式?
你的優點是什麼?
你平時的興趣愛好是什麼?
java的excetion和error的區別?exception和error共同繼承哪個類?
java的error在哪些情況下會碰到?
你可以來北京嗎?
SS助手主要做什麼?
性格是怎麼樣的?

2018/10/11 hr面

沒問啥問題,簡單介紹自己,然後問下工作意向,薪資要求。說等通知

2.美團android一面面經

該面經帖作者:牛客683658658號(2020屆春招)
該面經帖釋出時間:2020-03-30

面試官的電腦出了點問題,所以從視訊面變成了微信電話面
1.自我介紹
2.專案內容,問的很多,挺細的,哪些功能用了哪些方法,思路,問題,解決方案(android的問題都是這一部分問的)
3.資料庫三正規化
4.作業系統死鎖,分頁
5.知道哪些資料結構,紅黑樹平衡二叉樹區別,棧佇列區別,陣列連結串列區別,程式碼題兩個棧實現佇列
6.http https
7.tcp/ip
8.怎麼學android的
9.遇到過什麼問題,怎麼解決的
10.除了android還學過什麼(我之前做後臺的,簡歷上有)
11.設計模式
12 集合,hashmap實現細節

3.美團Android客戶端一面面經

該面經帖作者:星__塵(2021屆實習)
該面經帖釋出時間:2020-03-29

人生中第一次求職面試給了美團。自己實在太菜,面試官問基礎知識都不會了,自己準備的那些看起來很高深的知識點面試官基本沒問。面試官特別和藹,都讓我覺得自己在這浪費了面試官的時間。

發出來攢攢人品,大佬勿噴??方便的話點個讚唄
你之前都學的後端技術棧,為什麼選客戶端?
寫個快排(當時腦子空了,竟然沒寫完整)快排複雜度是什麼?O(nlogn)是怎麼推算出來的?
實現個單連結串列結構,實現個連結串列尾部插入方法
說一下怎麼判斷連結串列是否有環(這是劍指offer原題)
說一下反轉連結串列,要求用遞迴(也是劍指offer原題)
看你的專案用了springboot框架,這個框架怎麼便捷了?幫你解決了什麼問題,具體體現在哪些方面?
作業系統學完沒?說說死鎖發生的原因,怎麼解決?在現實開發中出現這種狀況怎麼解決?
你的專案網路用的什麼協議?回答:http。為什麼用http,不直接用tcp?我自己封裝一個tcp傳輸不行嗎?
說一下Redis底部實現,用了哪些資料結構,舉幾個例子。
你還了解過什麼技術有自己的感受和想法,可以說一說。我提到了flutter,問flutter跟原生開發有什麼不同,有哪些問題或者優勢,實現跨端的原理是什麼。
面試官:有什麼問題問我?問了部門業務,對跨端開發的看法,還有覺得我需要再重點學習哪一塊。

最後說是可能後面還會有同學或者hr聯絡我,讓我等通知。基本涼透了,第一次面試最直觀的感受就是基礎知識很重要,當時快排沒寫完整,瞬間石化,我咋連這個都不會了,明顯感覺面試官後面幾個問題更簡單了。

4.美團Android面經(許願實習offer)

該面經帖作者:ZhuVincent(2021屆實習)
該面經帖釋出時間:2020-03-30

美團一面:

自我介紹
學校課程
計網:OSI七層模型
應用層協議瞭解多少
DNS和Http在什麼層
TCP、UDP區別
一般在什麼層操作
學校學過的語言
Java三大特性
怎麼體現多型
private public protected區別
程式執行緒區別
單核多執行緒
Java多執行緒
資料結構佇列和棧的區別
佇列和棧的應用(我說了非遞迴的樹的前序和層次遍歷中的應用)
給我看了一棵樹,叫我寫出前序遍歷
安卓中啟動一個APP一般啟動多少個程式,多少執行緒
UI執行緒和工作執行緒的區別
ListView複用item
知道自己筆試成績不
後面有沒有去想那些題

來思考兩道題:
1.在下述程式碼中當i== 3, j== 2 時跳出多層迴圈
2.如何在下述程式碼的註釋那裡做一些操作讓後面輸出時,i=5並且j=3呢?

for (int i = 0; i < 5; i++) {
	for (int j = 0; j < 5; j++) {
		printf("\ni * j = %d", i * j);
	}
}
int i = 3, j = 5;
printf("\ni = %d, j = %d", i, j);
// do something
printf("\ni = %d, j = %d", i, j);

反問問題:美團文化,工作環境

美團二面覆盤:

學了多久安卓
學習途徑
你的意向城市
樹的前序後序,非遞迴,你說說
你說你瞭解原始碼,你瞭解哪些
Handler原始碼說說
還有其他嗎,你說說view繪製吧
你覺得你在安卓中有什麼突出的
你在安卓學習中的成就
Otto和eventbus區別
兩者原理
使用場景,你用過嗎
單例模式實現
績點
網路方面你用過什麼
合併兩個有序連結串列
給我看看你的上線專案

問問題:怎麼更深入的學(先看安卓底層的原始碼,再看框架的原始碼)

二面一週了,祈禱能被撈或者能給機會HR面

美團點評重新面一面(2020.03.28更新):

面試官自我介紹,我自我介紹
熟悉的設計模式(單例)
介紹了單例的五種實現
手寫單例的靜態內部類實現
說了一下為什麼要雙檢鎖
鎖的實現原理(synchronized實現原理)
鎖方法,鎖程式碼塊,鎖類的區別
Java四種引用
弱引用一定會在下一次GC回收嗎
還有其他熟悉的設計模式嗎
HTTP1.01.12.03.0
活動啟動流程
誰啟動活動的
活動生命週期
onStart,onResume的區別
onPause和onStop區別
為什麼onPause不能執行耗時操作
事件處理機制
滑動衝突
Handler中是否有messagequeue
Handler解決記憶體洩漏
記憶體洩露是什麼,怎麼解決
有沒有使用過記憶體檢視工具
Handler可以主動釋放嗎

思考題:一個掛家裡的攝像頭怎麼連上WiFi
問問題:怎麼學習原始碼

5.美團android一面,發個面經吧

該面經帖作者:我一定可以!!(2021屆實習)
該面經帖釋出時間:2020-03-27

1.雙連結串列找相交結點
2.10億數,找最大100個數
3.synchronize 靜態方法和普通方法
4.ANR是什麼,怎麼解決
5.Activity生命週期,如何摧毀一個Activity(finsh()6.startserver和bindserver
7.聊專案
8.聊各種各樣的工作

6.美團android春招實習面經 (三輪技術面+hr面)

該面經帖作者:Senrnata(2021屆實習)
該面經帖釋出時間:2020-03-23

一面 時長50分鐘

自我介紹 實習時長
有沒有做過相關的專案或者自己實現過小daemon嗎
平時有跟其他同學合作過嗎,你是寫客戶端的,遇到問題如何解決,你覺得跟你合作的同學水平如何?
前後端通訊用的什麼協議?
輸入一個URL發生了什麼,webview有用過嗎?
瞭解HTTPS嗎,建立的過程? 使用Json有遇到什麼問題嗎
android如何發起網路請求,有用過相關框架嗎,okhttp框架解決了你什麼問題?
如何更新UI,為什麼子執行緒不能更新UI?
瞭解ANR嗎?
String有哪些方法,常用哪些, ==與equals的區別?
JAVA中用過哪些容器類,HashMap底層資料結構,如何處理hash衝突?
Activity的四種啟動模式,區別?
Activity A 跳轉B B跳轉C,A不能直接跳轉到C,A如何傳遞訊息給C?
AndroidManifest檔案中用過哪些相關許可權?
Intent顯示跳轉與隱式跳轉,如何使用?
除了JAVA還會其他語言嗎?說了C++,寫過一點JS
React Native瞭解嗎?答:不瞭解 瞭解過NDK。於是問為什麼用NDK
接著問Jni瞭解嗎?有沒有自己使用過,只要編譯成功Hello World也算,與JAVA相比效率如何
後來面試官解答:同一段程式碼C與JAVA執行效率快很多,因為JAVA要編譯成位元組碼,但考慮到JNI本身呼叫的開銷,在排程頻率不高但一次任務處理量大的情況下時候適合用JNI調C
手撕程式碼 逆序輸出ArrayList
提問環節  問:部門技術棧? 答,React Native所以要學JS 平時開發偏View嗎? 答,是的

二面 時長1h

自我介紹
RecyclerView與ListView的對比,快取策略,優缺點
Activity與Fragment的生命週期
Fragment add與replace的區別,分別對Fragment的生命週期影響
事件的分發機制 提到了責任鏈模式,就接著問責任鏈模式的優缺點
除了責任鏈模式還了解哪些設計模式,說了觀察者模式,單例模式,工廠模式
觀察者模式的優缺點,什麼情景下使用?使用過哪些用觀察者模式的框架?
RxJava瞭解嗎? 不瞭解
Gradle檔案瞭解嗎? 說不太瞭解就沒往下問
中間就優化問題問了好多,我都不會,問的我都覺得我已經涼了
view的繪製流程,View層次過深怎麼優化,選擇哪個佈局比較好?
手撕程式碼  遞迴反轉棧,判斷連結串列是否有環,反轉連結串列
StackOverFlow與OOM的區別?分別發生在什麼時候,JVM棧中儲存的是什麼,堆中儲存的是什麼?
什麼時候會發生記憶體洩漏?舉幾個例子
提問環節 於是問了一下平時如何學習android以及準備面試?

三面 時長50分鐘

日語什麼水平,為什麼學日語,不看字幕能聽懂嗎?
平時怎麼學習的?覺得自己哪些專業課學得比較好?
除了日語還有哪些興趣愛好,準備學到什麼程度?
為什麼選擇android?身邊同學都選擇什麼方向?
為面試做了哪些準備?說了看了深入理解JVM那本書,於是問JVM哪一部分比較熟?
如何判斷一個物件是否被回收,有哪些GC演算法,實際虛擬機器使用較多的是什麼GC演算法?
如何開啟一個執行緒,開啟大量執行緒會有什麼問題,如何優化?
執行緒池的相關引數,有哪些型別的執行緒池,執行緒池任務如何排程,任務佇列只是先進先出的佇列嗎,任務有優先順序怎麼辦,知道優先順序反轉嗎?
平時開發遇到問題會怎麼辦?提到了StackOverFlow這個網站,於是被問你知道StackOverFlow除了是個網站還有其他意思嗎? 答:棧溢位
於是接著問什麼時候會StackOverFlow,如果讓你寫一段棧溢位的程式碼你會什麼寫,一個棧大概有多大,為什麼?每個執行緒都有這樣大小的一個棧嗎?
有了解過面試的崗位做什麼的嗎?說了下好像是用React Native做跨端
有沒有對筆試和前面的面試進行復盤?現在你覺得筆試題你能做出幾道?
除了Android還關注過哪些技術?
提問環節  為什麼問了很多非技術問題?  答:因為我覺得非技術方面如性格,工作是否穩定不僅是HR的事,用人部門也需要了解
如何判斷
手撕程式碼  求集合所有的子集

hr面 時長20分鐘

電話簡單的聊了一下
哪裡人?現在在家嗎?
實驗室什麼方向,學校什麼時候開學,上網課跟平時上課有什麼區別,感受如何?
為什麼選擇做前端(android),身邊有其他同學做android嗎,平時有交流技術嗎?
有了解自己的崗位做什麼的嗎?
還面了哪些公司,進度如何?後續有相關通知會聯絡你,有問題可以打電話給我
最好嘴賤問了我面試通過沒有?沒得到肯定答覆,好像面試比較忌諱直接問結果?不知道有沒有影響 有沒有同學知道阿?

7.美團Android開發實習二面面經

該面經帖作者:dsdisenc(2021屆實習)
該面經帖釋出時間:2020-03-20

之前投的美團,第一次筆試被撈,週二一面週五二面,效率還是挺快滴~

一面就不回憶了,問題都比較常規,但還是有難度,也有點壓力。

二面面試官很nice,很會把握節奏,問的問題也很開放,很舒服~
發波面經攢人品~希望美團通過,真滴很喜歡美團啦

1、自我介紹
2、AndroidUI繪製流程?
3、Android中每一幀繪製時間在多少ms以下算流暢?
1000/60 = 16ms

4、電影是24fps,為什麼Android需要60幀才流暢?
觸控、點選事件反應的角度還有動畫流暢性的角度,開放性問題

5、學習Android的方式?為什麼選擇做安卓
6、你自己覺得做過最好的一個Android頁面是什麼?
7、桶排序,對全省高考成績做一個排序,怎麼設計?
8、手撕單例模式
9、Android和Spring都用的Java,你分析一下這兩種開發(框架)用的Java的區別?
10、對美團的看法?
說了一下看過美團的技術部落格,對他們的CI流程特別感興趣,還有業務很有潛力等等等

最後面試官還給我介紹了一下美團對實習生校招生的培養體系,感覺很不錯hhh
這次面試基本上都是圍繞簡歷上的專案和個人經歷來擴充套件的,我覺得這樣的面試確實很舒服hhh

8.美團android面經(已拿offer)+準備技巧

該面經帖作者:coder_hezi(2021屆實習)
該面經帖釋出時間:2020-04-02

準備技巧
拿到了心儀的offer來回饋牛客,在面試題開始之前想給大家先分享一些經驗。

不要盲目複習和看面經,要去抓你自己專案中涉及到的基礎知識,重點去準備專案中涉及到的基礎知識。

java很重要,不要以為android基礎最重要,我面了好多家了都是java的比重最大。

簡歷上的個人技能突出你幾個你最熟悉的關鍵點,不要只寫熟悉android,熟悉java。比如熟悉網路請求庫OkHttp或Retrofit,或者熟悉View、IPC等等等,這樣面試官才會有針對性的去考察你。

專案不好沒關係,但是要熟悉,建議自己以部落格的形式記錄下專案的整體流程和一些關鍵技術的使用。

面經(1-2面技術問題彙總)
可能還有些問題記不住了,還有就是這裡只是簡單寫個問題的方向,具體面試的時候會繼續深入問,所以看著問題少但面試時間反而很長。
java問題

1.以下兩種建立String方式的區別,`==`與`equals`的區別,以及Object類中`equals`的原理,new一個物件所經歷的步驟(判斷是否載入,記憶體分配等等等),以及str在棧中與記憶體中的儲存。

String str = new String("hello");
String str2 = "hello";

2.java中Exception的結構(exception class結構關係父類子類等等等)

3.Java IO的結構與區別

4.java中建立執行緒的方式

5.java中可以保證多執行緒安全的方式(包括:欄位,多種鎖,保證執行緒安全的資料結構與實現)

6.虛擬機器中的記憶體分配

7.ThreadLocal的內部原理,以及Thread中有什麼屬性和方法。

8.ArrayList與LinkedList的區別,以及陣列擴容。

9.樂觀鎖與悲觀鎖

手撕程式碼

1.手寫氣泡排序+二分查詢

2.手寫翻轉二叉樹

3.手寫兩個單例模式,DCL和靜態內部類(同時問了final關鍵字與靜態內部類為什麼能滿足單例模式)

計算機基礎

1.TCP/IP的四層結構

2.TCP三次握手與四次揮手

3.TCP的報文

4.Http的報文

5.put與get的區別

6.put與post的區別

Android

1.Android中解決滑動衝突的方式:
考察的不是內部攔截與外部攔截,其實考察的是:NestedScrollParent  NestedScrollChild

2.Activity的生命週期與四種啟動模式。(除普通的那些還有onRestoreInstanceState與onSaveInstanceState與onNewIntent以及他們的使用場景與區別)
注意呼叫onNewIntent不會再呼叫onCreate方法了,會直接呼叫onStart與onResume。如果是已經不可見的Activity(呼叫了onStop的,則會先呼叫onRestart之後在呼叫onStart方法)。

3.View的繪製過程(非常詳細地說),具體還有些仔細的小問題。

4.View的事件分發(非常詳細地說),具體還有些仔細的小問題。

5.多個具體的場景講述Activity生命週期呼叫的過程。諸如一個Activity開啟另一個Activity,他們之間的生命週期呼叫。

6.瞭解RN麼,瞭解前端麼。

其他問題

協作上的問題(發散性問題)
1.如何評估一個需求多久能夠做完;
2.給出的時間比你想象的少會怎麼做;
3.給出的時間比你想象的多會怎麼做;
4.如何學的android,看過哪些書
5.實習時間與實習長度
6.專案的個人完成情況
7.反問環節的部門介紹,工作介紹等等等。

9.美團Android一二面涼經

該面經帖作者:一個髮際線兩個高(2020屆春招)
該面經帖釋出時間:2020-03-26

一面(30分鐘):

0、實習期間公司專案,自己開發的專案
1、程式和執行緒的區別
除了常規的,還比較了一下兩者排程的區別,程式是靠中斷來使系統陷入核心態然後完成排程,執行緒是依靠JVM進行。
2、執行緒的狀態。
新建、就緒、執行、阻塞、死亡。不小心把程式的僵死什麼的給說了……還好面試官撈了一手
3、TCP屬於哪個層、TCP三次握手四次揮手。
4、Activity生命週期,A啟動B生命週期變化。
5、自定義View,需要重寫哪幾個方法。如果要你實現WIFI訊號的顯示,那麼你會怎麼做。
6、Android動畫了解嗎。
說了過渡動畫,說了自己封裝的ObjectAnimator工具類,以及MotionLayout相關使用、以及過渡動畫實現共享Item的用法。
7、演算法,列印2100所有的質數,不要求效率,你輸出就好了……

二面(1hour):

0、自我介紹
1、實習期間做的最成功的一件事,為什麼覺得最成功。
2、針對具體的實習過程進行了討論。
3、Java泛型。
4、為什麼基本重寫equals方法時也需要重寫hashCode方法。
5、手撕生產者消費者模型,很慚愧……沒撕出來。
6、成績怎麼樣……LZ本科期間及其浪蕩,成績很差,然後面試官臉色就變了。心態就有點崩。
7、計算機怎麼畫一條線,底層怎麼實現的。
8、PV原語。
9、排序演算法。
10、樹的遍歷方式。
11、反問。

心得體會:成績不好的同學需要謹慎回答關於成績的問題,不要那麼直白,是把雙刃劍。華為面試的時候說自己成績不好,但是有部落格和github作為後期努力的支撐,面試官就還是很開心。LZ直到大三下學期才開始努力學習,確實浪費了很多時間。
收到了面試官的簡訊說掛了,難受,奉勸各位好好學習。

10.美團Android三面+hr面面經(已拿offer)

該面經帖作者:一個髮際線兩個高(2020屆春招)
該面經帖釋出時間:2020-03-26

前面兩面:https://www.nowcoder.com/discuss/390384
以為自己涼了,看來還沒有。

三面(50mins):

0、自我介紹。
1、實習工作介紹。
2、如果讓你從0開始搭建一款APP,你會怎麼做。比如說就是美團外賣。
a、 基礎類設計
b、網路設計
c、相容性考慮
d、程式碼質量保證
e、測試相關
f、設計模式的使用
g、MVVM架構的使用
3、學校學習了什麼課程,成績怎麼樣……
4、程式碼,快排。
5、反問

問了一下美團對於Android應屆生的需求,得到的答覆是需要CS相關基礎好,其他的要求比較寬鬆。
還有就是學習Android的方法,大佬說多看各種不同APP和優質框架的原始碼,從原始碼中學習。

總結:問題很少,每題都很致命……而且是沒有答案的那種,你得自己思考。這個時候可以許願一波hr面了。

4月1日更新:
hr面(20mins):

0、期望工作地點
1、事業群介紹
2、為什麼想要留在北京
3、為什麼不讀研究生
4、如何看待Android開發,為什麼不接觸IOS呢
5、剛開始工作壓力會很大,你有沒有想過怎麼處理壓力呢
6、反問
7、有沒有健身房
8、有住房補貼或者房源推薦嗎
9、招多少個Android應屆生呀
10、應屆生培養方案

總結:沒有談薪資,這是唯一的風險……還是希望能收到OC吧。

好快啊,隔天直接offer。有點爽,透露一下,有三個月簽字費。

11.美團Android一二面面經

該面經帖作者:初亦澤(2021屆實習)
該面經帖釋出時間:2020-04-23

2020/04/23更新。今天二面,部門leader 面,估計上次評價挺好的,這次隻手撕一些簡單的程式碼,加起來四十分鐘吧。

二面面經

1、你覺得你上次面的怎麼樣(還行吧)
2、隨便寫一個二叉樹的遍歷(前序遞迴、前序非遞迴)
3、列印二叉樹左側第一個元素(層序遍歷,列印第一個元素)
4、判斷一個字串在另一個字串裡面的出現次數(其實寫到最優了,但還是和麵試官討論了下如何優化)
5、看你程式碼寫的挺好啊,平常經常練嗎?(平時就喜歡寫程式碼)
5、手上有哪些offer?如實說了一下,然後吐槽了下IOS...6、反問環節(你們使用哪些語言呢,Android開發。)
7、面試官介紹部門,說是比較核心,然後加微信。

一面面經

面的美團Android實習,總體上來講比較簡單。

1、簡單的介紹了自己的兩個專案
2、Handler機制,詳細講了Handler、Looper、Message、MessageQueue、空訊息時的阻塞、IntentService、HandlerThread、AsyncTask的實現
3、程式間通訊機制,講了執行緒和程式的區別(是否有獨立地址空間,怎麼實現獨立地址空間),Android裡面常用的程式間通訊方式,包括基於Binder的(ContentProvider、AIDL、Messanger)和基於檔案的(普通檔案讀寫,sp)和基於網路的(Socket)
4、詳解Binder機制,Binder通訊的幾個角色,實現一次拷貝的函式mmap。
5、OkHttp相關,包括它的優勢,責任鏈模式中各個攔截鏈做了什麼。
   詳細講了OkHttp的橋接攔截鏈和快取攔截鏈:https://blog.csdn.net/qq_23594799/article/details/105478769
6、由上面引申出http的四種快取管理方式,講了HTTP的304狀態碼
7、OkHttp的dispatcher,非同步請求,同步請求
8、LruCache實現方式,包括底層結構,資料的插入刪除為什麼是O(1),提到Gilde的軟引用、OOM上面
9、RecycleView的快取機制,四級快取,然後又說ListView兩級快取,RecycleView的區域性重新整理機制,最後講了它的用法
10、手撕列印素數,秒了,在我部落格裡有:https://blog.csdn.net/qq_23594799/article/details/105168841
11、反問環節(雖然講的很多,但我講的比較快只面了25分鐘,問題全部答上來了,還以為沒HC涼了,試探了下問問自己還需要提升的地方、如果入職有培訓嗎?然後說聯絡二面)

12.美團Android一面二面面經(已收感謝信)

該面經帖作者:IuSpet(2021屆實習)
該面經帖釋出時間:2020-04-21

美團一面

自我介紹

程式設計題,用選擇排序對連結串列進行排序
  題目很簡單,但是把 NULL 寫成 null ,找了很久的錯

詢問專案相關經歷
  我的專案主要就是課程的大作業,問了計網和編譯原理的,這些寫的比較近,基本能說上來;問java的就完全沒印象了,因為用的Swing,而當時覺得Swing是過時的東西,也沒認真學。面試官說Swing那一套和android很像,精通了學android就非常簡單

瀏覽器輸入URL到產生頁面的過程
  解析域名,tcp連線,http請求,返回html頁面,請求其他資源

斷網的情況下也會有頁面,為什麼?瀏覽器的快取是怎樣的
只知道有快取,瀏覽器快取完全沒了解過。

死鎖
  死鎖的產生條件、避免方法,正好面試前看了一遍,自我感覺說的比較完整

程式排程
  給面試官說對各種排程有印象,但是沒法清楚的梳理出來,面試官也沒繼續問我

資料庫事務
  這個不會,跳過了

  在自我介紹階段也說了Android和Java還在學習階段,所以沒問相關問題,也象徵性的問了下有沒有看過view的原始碼,是否瞭解類載入機制

9.反問,問了一些Android相關的問題,如對新版本的學習、對kotlin的態度

美團二面

演算法題,兩個連結串列相加
  能想到一些做法,但都很麻煩,就和麵試官溝通了下,讓我按照從最高位一一對應來做加法
  我思路是先用一個連結串列儲存不考慮進位的結果,之後再用遞迴的方式解決所有進位,寫完後也沒提交就給面試官說完成了,他簡單問了下我思路,也沒細看

  面試結束後發現bug特別多……變數名不一致,迴圈條件也錯了,遞迴的時候表示式和順序也都錯了,就很離譜,改了20分鐘才跑出面試官要的結果

執行緒和程式區別,切換代價哪個大
  我回答在以前的作業系統上,程式是排程單元,也是作業系統分配資源的基本單位;但在現代作業系統上,程式更類似一個容器,提供執行所需的資源,執行緒是排程的單元,切換到別的程式中的執行緒,就會導致程式的切換。還提到了通訊方式的區別。切換代價自然是程式大,執行緒只要切換程式計數器等幾個暫存器的值,程式有整個程式控制塊需要切換。

程式間的通訊方式
  共享記憶體、訊息佇列、管道

tcp三次握手四次揮手
  這個我從服務端和客戶端建立socket,呼叫 connect 系統呼叫開始,敘述了一遍核心建立socket並放入兩個佇列的過程;四次揮手對應 close 系統呼叫,一方呼叫後會發出 FIN 請求,收到 ACK 確認,不再傳送資料,雙方都呼叫後就是四次揮手

對於物件導向的看發
  這個也沒細想過,雖然平時寫程式碼的有一些突然的明悟“啊,原來這就是物件導向“,但這塊我覺得說的還是有點亂。談了程式導向需要時刻管理所有變數、狀態,物件導向將這些操作封裝成一個整體,就不用關注底層的操作,只需要關心自己這一層。

對於多型的看法
  這個和上一題類似,我也有點不知道從哪說起。就先舉了一個多型的例子,談到底層方法提供者就不用關心傳入的引數具體是什麼,只要用介面或抽象類約定好就行,上層呼叫時放入滿足要求的物件就行,便於解耦

平時空閒時間做什麼
  我就實話實話,說會打遊戲、和同學去打籃球、晚上會去健身房,當然有時候也會去圖書館,或者自己找演算法題做(後面問面試官評價,他說這裡他比較失望,空閒時間我沒有把學習放第一位)

因為我android基礎差,問我如果給我一個比較困難的任務,我如何去完成
  我回答說先請教這個任務會用到哪些方面的知識,下去後我會對這些知識有一個最基礎的瞭解,然後去看一些demo中如何應用,之後就開始自己解決任務

和同事之間產生分歧怎麼辦
  我會和同時認真分析問題,求同存異,找出具體的分歧點,然後一起討論分析,最後形成一個統一的觀點

對於加班的看法
  如果是我自己的工作沒有完成,我願意付出額外的時間去完成。但如果是其他方面的任務,我會具體考慮。

反問環節。一面的時候和麵試官聊了很多Android方面的問題,這次我就問的生活。我問了他平時工作壓力如何,公司的娛樂設施平時會使用嗎。對我這次面試的評價。

一二面隔了一週,針對java我認真學了好幾個知識點,結果面試官完全沒提相關問題,反問聊天時我透露出希望他問我一些技術上相關的問題,他說他沒有針對某一點問,一直隨便挑著問,想考察我的知識面咋樣,看一看平時是否有這些積累,我一想自己基本都答上了,還挺高興的

結果
因為面試官問的都是很基礎的問題,問面試官評價,也是不錯,只對我日常空閒時間沒有第一時間學習不滿意。二面完還挺樂觀,問面試官什麼時候有結果,說是下週一二。接著在第二週週六收到了感謝信

總結
第一次面試,也沒怎麼準備,尤其是對於Android和java,一面給了面試官完全不會的印象。面試官說幫我把這個標註上,二面就完全沒問我java,android的問題。最後沒過,感覺和這個關係也比較大

13.美團Android實習三面面經(已口頭offer)

該面經帖作者:虛淮(2021屆實習)
該面經帖釋出時間:2020-04-16

4.10 一面

一面大概一個小時左右,問的問題偏向於基礎這一塊,也有問到簡歷上的專案。
靜態內部類和雙重檢驗兩種單例模式的差別
Object類有哪些方法

物件導向的理解

封裝是怎麼樣的

父類的private方法,子類重寫了,呼叫到誰的方法

介面和抽象類的區別

泛型能不能動態獲取型別

HashMap的put過程

HashMap為什麼要擴容

HashMap的執行緒安全問題

Synchronized的鎖升級

volatile的作用

類載入機制

JVM記憶體分佈

JVM垃圾回收

RxJava處理異常

RxJava的flatMap操作符

為什麼用MVP

handler訊息機制

handler的postDelay時間精確嗎

執行緒池有用過嗎

圖片框架的快取和記憶體複用

事件分發
滑動衝突
知道什麼排序演算法講一講

團隊的git,分支,衝突

講快排思路,手寫快排

4.13 二面

專案中的難點說一說

滑動衝突

HTTPS可以抓包嗎

HTTPS為什麼安全

怎麼驗證https的證照的合法性

寫一道演算法題:

「打字」:https://www.nowcoder.com/practice/7819ebf1369044e5bee2f9848d9c6c72?tpId=110&&tqId=33481&rp=1&ru=/activity/oj&qru=/ta/job-code/question-ranki

二面的話感覺偏專案,專案問的比較多。最後面試官介紹了一下部門的情況。

4.14三面

專案中的難點解決

自定義View的方法

事件分發機制

Handler原理

設計模式瞭解哪些

記憶體洩漏和記憶體抖動

JVM類載入機制

JVM記憶體分割槽
JVM垃圾回收
集合瞭解哪些

LinkedList和ArrayList的區別和選擇

寫個演算法題

通過先序和中序陣列生成後序陣列

寫個快排

成績怎麼樣

平時的時間怎麼安排

平時怎麼學習

現在有沒有面其他公司,流程進度怎麼樣

有什麼問題想反問面試官的

4.15 HR電話通知
好像沒有hr面的流程,hr直接給我打了個電話,介紹了一下實習的情況、實習的薪資福利,簡單問了一下什麼時候能去實習,然後就口頭offer了。

14.美團安卓面經(已offer)

該面經帖作者:cqupt的鶸(2020屆春招)
該面經帖釋出時間:2020-04-12

Lz筆試情況:AC兩道,第三道66% ?,第二天被撈起來面試了…
面經中的問題不分先後順序,內容大概如下:

技術一面:

1.生產者消費者模式(手撕程式碼)
2.wait 和 sleep的區別
3.String、StringBuffer 、StringBuilder的區別
4.String a = "abc" 和 String str = new String(“abc”) 的區別
5.談談四種引用
6.HashSet和HashMap的關係
7.HashMap與HashTable的區別
8.ConcurrentHashMap知道嗎,ConcurrentHashMap在jdk1.8之後的優化
9.重寫和過載的區別
10.談談Activity的四種啟動模式,SingleTop和SingleTask啟動模式的應用場景
11.圖片的三級快取是怎麼做的?
12.Service的兩種啟動方式以及有什麼區別
13.如何在Activity和Service進行通訊
14.談談本地廣播
15.binder機制
16.Handler訊息機制,子執行緒可以建立handler嗎
17.View的繪製流程,MeasureSpec(MS)知道嗎?如何確定一個View的MS?那DecorView呢?
18.OkHttp的原始碼講解,它涉及哪些設計模式
19.為什麼TCP要三次握手,兩次不行嗎?
20.TCP與UDP的區別,OSI五層結構
21.死鎖的四個條件
22.作業系統中頁面置換演算法
23.執行緒的所有狀態
24.synchronized關鍵字(選擇題,問題關鍵在於synchronized鎖住的是哪個物件,針對普通同步方法和靜態同步方法)

技術二面:

1.資料庫的正規化
2.資料庫中事務的特性
3.用過的設計模式或者是安卓中遇到的設計模式
4.責任鏈模式有哪些優勢
5.實現一個單例模式(寫的是DCL)
6.DCL為什麼要兩次判斷null呢?為什麼使用volatile7.在瀏覽器輸入一個網址到網頁顯示出來有哪些經過
8.DNS如何解析域名
9.HTTPS與HTTP的區別,HTTPS為什麼安全
10.GC過程(判斷物件是否存活,GC演算法)
11.知道哪些資料結構,紅黑樹的特點
12.做過的安卓效能優化
13.記憶體洩露檢測工具leakcanary的原理
14.RN開發和原生開發的區別
15.執行緒池的引數和工作流程
16.IntentService能用bind方式啟動嗎?IntentService的原理
17.MVP   MVVM架構
18.簡歷上的問題(RN中JsBundle增量載入實現)
19.你覺得在實習公司有哪些很重要的收穫?
20.演算法題:兩個佇列實現一個棧
21.HashMap的hash演算法和擴容機制的原因

技術複試:

複試階段沒有問多少技術問題,大多聊的是如何學習安卓的,看過哪些書等等(後來發現面試官是專案leader)

15.美團安卓一面

該面經帖作者:牛客530157609號(2021屆實習)
該面經帖釋出時間:2020-03-31

第一題:演算法,連結串列的選擇排序,問了時間複雜度 O(n*n)
瀏覽器輸入網址到介面顯示,中間經歷的過程
如果斷網了,卻還能刷出頁面,為什麼
TCP滑動視窗
指令集
講一下hander和IPC機制,looper會消耗系統資源嗎?
事件傳遞,如果scrollView巢狀listView,如果listView滑到底部後,下滑事件怎麼處理
資料庫事務 (不會)

16.美團安卓一面涼經指南

該面經帖作者:backer201909111947505(2021屆實習)
該面經帖釋出時間:2020-04-09

同很多人講過的一樣,基礎知識真的很重要,畢竟美團面試我答的很結巴,完全沒有考慮到會問這些問題anyway,還得繼續努力

.Java基礎知識
1.static的用法,被它修飾的內容會有什麼特點,在什麼時候建立等
2.public private protected的作用域,如果沒有加修飾符,那麼一個類的作用範圍是什麼
3.物件導向的特性,Java的多型性體現在哪裡
4.執行緒建立的方法
5執行緒中wait()sleep()的比較
二.計網
1.UDP,TCP比較
2.網路層常見協議
三.安卓
1.activity活動週期
2.活動A到B
3.Handler  Loop
四.資料結構
常見排序演算法,讓寫快排,然而我腦子短路了,寫成了冒泡???大概是因為冒泡我寫的熟吧

17.美團安卓一面面經

該面經帖作者:little_little_star(2020屆春招)
該面經帖釋出時間:2020-03-26

面完,求安慰,

生產者消費者模型
view的繪製handler,handlerthread,intentservice,執行緒池,都問得很深
okhttp,資料庫特性,程式間通訊

然後面試官講了一些他們部門的情況,其它的記不太清了,應該涼了,為什麼問的跟你們差那麼多

18.美團面試,安卓開發

該面經帖作者:anselchao(2020屆春招)
該面經帖釋出時間:2020-03-17

問答:
1,TCP,UDP區別
2,TCP三次握手
3,TCP第三次握手失敗會怎麼樣
4,http和https
5,TCP傳輸怎麼保證安全的?
6,,執行緒和程式
7,程式的通訊方式,以及優缺點
8,為什麼選擇安卓開發

程式設計題:
1,判斷連結串列的環
2,樹的深度
3,樹的廣度

唉,那幾個問答題都瞭解一點,稍微往深了問就不知道了,程式設計題倒是不難,面試官要求現場手寫一遍,也都沒問題,面試歷時30分鐘,最後面試官就說程式設計能力不錯,就是計算機知識知道的太差了,可能會往後排排,涼涼嘍~

19.美團安卓面經

該面經帖作者:終於可以改名字了(2020屆秋招)
該面經帖釋出時間:2019-10-10

一面面經:

意向城市北京不
平時怎麼學習的,部落格看一下
在學校參加過什麼活動或者專案
死鎖條件,實際情況舉例
程式執行緒區別,舉例
同步和非同步區別,實際例子
http,https區別,https通訊過程
tcp三次握手涉及到哪些層,兩次握手不行嗎
網路請求的方法有哪些,聽過哪些,post get區別,冪等性是啥
輸入url到頁面顯示的過程
演算法 三選一:
從右往左輸出一個整數的不重複數字。
n皇后問題
最長不重複公共字串
100瓶毒藥,多少隻小白鼠試藥問題

二面面經:

感覺二面沒有問多少技術問題,面試官也沒有準備好的亞子。。
閒聊之中問一點技術?
先問了研究生課題,後來講了pdd實習專案,然後問平時看什麼書,有什麼愛好。
拼多多那面氛圍怎麼樣,美團產品怎麼樣,有了解哪些
問了幾個泛型的問題應該答得還可以?
後來問我編譯原理學過嗎,emm 曾經學過,都忘了,,,然後問有限自動機瞭解嗎,,en?不瞭解。
問什麼事情感覺收穫很大,或者對自己提升很有幫助。
研究生學過哪些課程,高階java,平行計算,隨機過程,數理統計,分散式啥的,然後問沒有高階一點的課程嗎,,emm,高階java啊。
對我們這邊有什麼疑惑嗎 問了部門,是小象買菜,在北京。

hr面:

都是常規操作,比如優缺點,如何去選擇自己的第一份工作,看重公司的哪方面,我竟然提到了福利?emmm,,,家是哪兒的,介紹了一下小象這個部門。聊了將近半個小時吧,還可以。

20.美團 安卓 新鮮涼麵

該面經帖作者:orz?(2020秋招)
該面經帖釋出時間:2019-09-04

自我介紹
實習和專案介紹
為啥投安卓呢? 被調的
問一些Java基礎
Hashmap資料結構 如何解決衝突
程式和執行緒
GC的瞭解
Topk程式設計,沒撕對,問我為什麼不直接用treeset?我好方

21.美團 Android 校招 一面面經

該面經帖作者:BarefootBKK(2020春招)
該面經帖釋出時間:2020-04-22

剛結束美團的Android一面,趁熱記錄一下

我4.16號筆試完,週一HR約了週三的面試

一開始自我介紹,然後
1. 寫一個氣泡排序,然後就著氣泡排序分析時間複雜度,並解釋怎麼得出來的時間複雜度,再然後問穩定性,怎麼判斷是穩定的?氣泡排序有沒有優化的點(加一個flag),優化後最好和最壞的複雜度是多少
2. 說一下哈夫曼樹和哈夫曼編碼,為什麼哈夫曼編碼比常規編碼優(我去,這都上古世紀學的了,我基本忘光了)
3. ListView和RecyclerView的快取機制和效能優化方案,ViewHolder的好處是什麼
4. Activity建立時的生命週期(是建立時,我把所有的都答了,然後就被追著問了一大堆)
5. 瀑布模型的詳細內容(???哥哥我是不是聽錯了,我是校招不是實習啊喂,好吧是我見識淺了,這東西我只在軟概裡學過,忘了。。。)
6. web伺服器有哪些
7. HTTP和FTP的埠是多少
8. POST和GET請求有什麼區別
9.如果讓你實現軟體的更新,你會做哪些操作?

反問:
美團比較看重應屆生哪些能力(“基礎,比較看重基礎”)
還問了面試官一個功能的解決方案,然後面試官說了好多(其實我沒聽懂)

感覺涼涼了,虧我準備了辣麼久的JAVA知識。。。許願二面

22.Java崗結束春招,總結面經回饋牛客,祝大家都能得償所願~(Java面經)

該面經帖作者:lyfff(2019屆社招)
該面經帖釋出時間:2020-04-25

美團面經:(offer)
部門:跟財務相關,到店,財務審計,每天資料量千萬條
一面 2h(4.09)

1.實習專案難點,搭建框架時候的難點
2.專案開發過程中遇到的難點,資料標註平臺開發 中的邏輯,怎麼發現有問題的,標註批次計數?
3.最近怎麼學的 併發,部落格,怎麼保證部落格寫的是對的,沒有看書嗎
4.併發包下學了什麼
sychronized底層原理? monitor物件頭裡面是什麼?
鎖升級?
reetrantlock底層原理?AQS的等待佇列 執行緒安全嗎?
5.volatile,CAS
6.為什麼要需要 併發安全處理
7.java集合
8. 事務的特性,解釋
9.事務隔離級別
10.儲存引擎?Inodb,myisam區別? inodb索引,myisam索引?
11.為什麼主鍵要自增,葉子節點key為什麼有序?
12.最左字首匹配原則?
13.演算法題,列印出一個字串中所有的迴文子串

二面:2h(4.11)

.瞭解JVM or 中介軟體? JVM?平時怎麼學習?如何幫助自己記憶?看看我部落格?
二.JVM記憶體結構
程式計數器工作原理?作用?不會
JVM調優經歷dump之類的操作?無
垃圾收集器CMS工作原理? Concurrent體現在哪?使用者停頓?垃圾收集為什麼要開啟多個執行緒?
三.資料庫
知道哪些鎖?事務隔離級別? 可序列化怎麼實現的?
索引結構?為什麼使用B+索引?
查詢效能優化?Explain裡都能獲取什麼資訊
四.JAVA
concurrentHashMap併發原理?擴容機制?
執行緒池?知道哪些具體的執行緒池?如果自己實現一個執行緒池都要考慮哪些引數?拒絕策略有哪些?
sychronized 鎖升級?
程式設計:CAS原理?用CAS實現 兩個執行緒給同一個變數賦值?
AQS等待佇列為什麼設計成雙向連結串列?
fusk/join?
Arraylist和Linkedlist區別
程式設計:建模題
offer (4.20)

23.美團還願+麵筋(Java面經)

該面經帖作者:今天你喝綠豆沙了嘛(2021屆實習)
該面經帖釋出時間:2020-04-26

從3月23接到筆試通知到4月17 歷經將近一個月的時間終於拿到了美團北京後端開發的offer?

3月23接到筆試邀請 ?3月26筆試 ? 4月2一面 ? 4月2二面 ? 4月9三面 ? 4月14oc ?4月17offer get

時間跨度還是很大的,但是不得不說面試過程很舒服,面試官也很平易近人;在9號3面完之後的那幾天沒有訊息我還以為涼了,然後微信詢問了一下面試官,過了一會就收到了oc?

--------------------------------------------------麵筋
一面:

1. 自我介紹
2. HashMap原始碼分析
3. ThreadLocal作用+原始碼分析(jdk1.7/ jdk1.84. 一個演算法:求兩個連結串列的相交點(LeetCode上原題,用雙指標做)
5. 資料結構:迭代實現二叉樹的中序遍歷
6. 資料庫:一張表學生姓名+科目+成績 統計學科都及格的學生姓名
7. StringBuilder和StringBuffer 執行緒安全怎麼實現的
8. 問學習的途徑 方法 時間安排
9. 關於JVM 關於雙親委派
10. 時間跨度有點長 只記得這些了

二面:

11. 問專案
12. 問演算法
13. 問各種排序
14. 問基礎
15. 問時間安排
16. 問學習計劃 問學習途徑 問看過的書
17. 剩下的記不得了

三面:

18. 三面主要就是問專案問專案問專案,每個專案都問
19. 然後問得到獎,得獎比賽具體做的什麼專案
20. 然後問個人部落格
21. 問問學習計劃 問學習途徑 問看過的書
22. 問參加的活動巴拉巴拉,問興趣愛好

相關文章