作者:李同學
前言
本人是2020年畢業于大工軟院,剛開始作業是在TPLINK做Android開發,因一直有者一個大廠的夢,在得知要大廠在社招時,我決心裸辭掉了TPLINK的作業,開啟我的社招面試之旅,
下面是我在滴滴的面經分享

面試程序(省略了自己介紹):

一面(1小時20分鐘)
1.介紹專案(介紹了2個實習+1個專案,主要問了都有什么識訓以及技術難點)
2.了解android里的Map么(ArrayMap和SparseArray)
3.了解java的·四種參考型別嗎(弱參考一定是在記憶體不夠的時候就會回收么?)
4.講一講android中的跨行程方式,并講一講AIDL,講下AIDL的原理(偏原理的東西而不是使用)
5.講一講輸入一個地址會使用哪些協議,怎么知道的ip地址
6.講一講DNS的原理
7.講一講TCP里的三次握手
8.遇到過多并發的情況下么,講下Syncornized的原理,
9.了解執行緒池么,講一講原理,講一講其中有哪些引數?對應不同的任務,我該如何去設定這個核心執行緒數?
10.講一下不同的鎖,syncornized是重入鎖么?
11.滑動沖突了解么,知道怎么解決么,給你一個實際的例子,你來講下該如何去解決這個滑動沖突
12.了解雙親委派模型么,他們的好處有什么,android常用的類加載器你知道么,有什么區別?
13.listView能實作9宮格么
14.聊聊GC吧
15.聊聊HashMap的put吧,為什么 1.8 要樹化,什么時候會樹化,什么條件下是樹化,什么時候會呼叫resize方法擴容,resize什么原理,如果哈希沖突很多的話會擴容么?
16.給定一個元素,插入到陣列中固定的位置
17.了解Glide么
18.Gson的怎么使用,內部使用的是什么原理
19.SP有什么缺點,如果現在讓你考慮存盤,你會選擇怎么去存盤呢?
20.ArrayList和LinkedList的區別
二面(1小時)
1.寫單例模式
2.順序的陣列,插入一個元素(二分)
3.Fragment的生命周期
4、講一下訊息機制,怎么實作一個執行緒只有一個Looper
5.講一下Service的啟動方式,有什么區別
6.了解Binder么?
7.聊聊實習中做的東西,提出一些問題,并解答這些問題
8.聊一個實際場景,activity的生命周期是如何呼叫的
9.對第一份作業有什么期許
10.聊聊RN有關的,有一個怎么樣的認識,知道RN有什么不好的地方么?
三面(30分鐘)
1.聊聊多載
2.聊聊OkHttp
3.api 和 implement的區別
4.用兩個佇列實作堆疊,需要執行緒安全么(賽碼網是什么鬼,看不到我寫的代碼說的思路)
5.聊聊syncronized
6.觀察者模式
7.handler機制,如何保證主執行緒不阻塞
8.跨執行緒與跨行程
總結
在這次面試中面試官沒有為難我,問的進步都是常見性的問題,同時面試官也對我的未來技術發展提出了很多建議,我和面試官還對flutter的前景做了一些探討,和經驗豐富的前輩對話總能學到很多東西,非常感謝面試官,也特別的慶幸拿到了OFFER,
經驗和教訓:
面試開頭的自我介紹最好能夠簡單說明自己強項,好引導面試官多考你擅長的領域;當然簡歷也務必需要好好整理,至少讓面試官有針對性地進行考察,
面試前的準備
在面試前我進行了一系列的準備,最主要的還是刷面試題和翻閱《Android核心知識點筆記》,我發現在這次面試中問道的許多問題,《Android核心知識點筆記》里面都有記錄到這些技術的決議,正是這樣讓我在面試程序回答的比較順利,
因平臺對文章篇幅長度有限制,在此就不能把《Android核心知識點筆記》的全部內容展現出來了,在此我用圖片形式展現一下,大家如有需要進行參考學習可以簡信回復我【666】或者點擊【Github地址】查看獲取方式,


需要完整版參考學習,請點擊【Github地址】查看獲取方式,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/211947.html
標籤:其他
上一篇:行程間的實時通訊方案: local socket(解決擴展和容器應用的實時通訊問題)
下一篇:自定義持久層框架
