前段時間,前同事跳槽,機緣巧合下面了阿里,本來憑著試一試的態度,卻不料好事成雙,拿到了offer,而且薪資也double了,
同事碩士畢業后作業了4年,之前一直都是在二線“奮戰”,身為程式員,一直都為同在杭州的一線大廠有一些想法,這次離職后入職阿里,雖不是像淘寶客戶端這種核心部門,但是也算成就了他入職大廠的夢想了,
先上熱菜,看看面經
阿里某事業部一面
- Android中的Context了解多少
- Application里面可以彈窗嗎
- Activity、Window、View三者的關系
- OkHttp中有哪些設計模式
- Retrofit中有哪些設計模式
- Retrofit.create做了哪些作業
- 自定義一個圓角View
- 協程launch有哪些引數
- 說說by關鍵字
- 代理和委托的區別
- 雙親委托模式
- 有幾種獲取view寬高的方式
- view.post為什么可以獲取到
- getWidth和getMesureWidth的區別
- 手寫遍歷二叉樹
- 手寫雙重鎖單例
- 手寫插入排序
- 手寫雙陣列去重并排序
- 如何判斷鏈表有環
阿里某事業部二面
- 挑一個專案詳細說一下,以及相關技術堆疊
- 介紹一下協程機制
- 說一下Dispatchers,withContext,Scope他們的作用
- 說一下你理解的MVP,MVVM
- Flutter相關
- 性能優化做了哪些作業
- 編譯速度怎么提升的
- 記憶體泄露
- LeakCanary檢測原理
- 熱修復,Sophix原理,ClassLoader
- Apk打包流程
- 多執行緒并發,如何保證執行緒安全
- synchronized修飾方法和修飾代碼塊有什么區別
阿里某事業部三面
- 做的最有成就感的專案是哪個
- 印象最深刻的專案是哪個
- LiveData底層實作原理
- 啟動優化
- 包體積優化
- 自定義View流程
- View異步加載
- 有用過哪些設計模式
- 介紹一下單例,餓漢式,懶漢式,雙重鎖
- 代理模式和裝飾模式的區別
- 策略模式和狀態模式的區別
- 說說觀察者模式
- 有看過哪些三方庫的原始碼
- Glide四層快取機制
- AMS了解多少
三輪都是技術面,第二輪的面試官是同事的老學長,也問的不是特別難,最后也挺順利的,HR面就沒啥東西可聊的,基本上就是對此次面試的一個評價、定薪等等一些之內的話題,
面試前的準備
有些朋友恐懼面試,都說面試造火箭,作業擰螺絲,但是仔細想想,如果在面試中考那種人人都會的面試題,如何才能體現出你的不可替代性?
面試前如何調整心跳(三點)
- 準備前,可能有些同學看到面試題已經不自信了,感覺自己一半都答不上來,這是正常的,人的記憶是有限的,慢慢復習就好了,放平心態,
- 面試中,可能有些同學會被問到自閉,其實大可不必,東邊不亮西邊亮,總有面試官會挖掘出你的亮點,而且面試中除了技術之外,也有很多客觀因素,比如面試官的心情、你的狀態等等,
- 面試后,好與壞都坦然接受,及時做好復盤,查漏補缺,才能在下一次面試中有更好的發揮,這也是一個愈戰愈勇的程序,
面試前的準備
老生常談的話又要拿出來講了,其實無非也就是一下幾點
- 盡量不要遲到,不管是現場還是視頻,
- 如果是現場面試,記得關注當天的天氣,提前查一下路線,
- 如果要修改面試時間,提前一天跟HR溝通,
- 如果不去,不要直接放鴿子,跟HR說一聲,
- 手機電量保持充足,面前可以臨陣磨槍,
- 面試登記,字盡量寫的好認一些,個人作為面試官時,不好認的扣分,字如其人,代碼同理,
- 不要作假,編造一個謊言往往需要更多的謊言去圓它,
- 大廠一般面試周期較長,注意時間安排,
- 保持自信,保持自信,保持自信,
- ......
復習方法
- 看大V們整理的Android核心知識PDF,先快速過一篇,再重點精讀,有些技術面試高頻點,可以劃重點記筆記,隨時可以停下來進入思考狀態,也很方便反復閱讀,主要是沒有干擾,
- 刷面試題,包括思路和代碼都要好好看一遍,俗話說三人行必有師焉,吸取別人對解題的解決思路并優化,無償不是提升自己的一種方式;
- 面試實踐,這個很重要,多去試試幾家,有參考性的整理遇到的面試題; 紙上得來終覺淺,絕知此事要躬行
這里分享的是美團技術專家首發的一份「Android面試寶典」,從互聯網一二線企業收集的Android熱門面試知識點,讓人看了真的不得不推薦,太完整了!
比如:比如以JVM為例;
- Java 類加載程序?
- 描述一下JVM 加載 Class檔案的原理機制?
- Java 記憶體分配
- GC 是什么? 為什么要有GC?
- 如何判斷一個物件是否存活?(或者 GC 物件的判定方法)
- 垃圾回收的優點和原理,并考慮 2 種回識訓制
- 垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收記憶體嗎?有什么辦法主動通知虛擬機進行垃圾回收?
- Java 中會存在記憶體泄漏嗎,請簡單描述
- ......

Android面試筆記(組件+View+執行緒)
以Android四大組件為例
- 說下Activity的生命周期?
- onStart()和onResume()/onPause()和onStop()的區別?
- Activity A啟動另一個Activity B會回呼哪些方法?如果Activity B是完全透明呢?如果啟動的是一個Dialog呢?
- 談談onSaveInstanceState()方法?何時會呼叫?
- onSaveInstanceState()與onPause()的區別?
- 如何避免配置改變時Activity重建?
- 優先級低的Activity在記憶體不足被回收后怎樣做可以恢復到銷毀前狀態?
- 說下Activity的四種啟動模式?(有時會出個實際問題來分析回傳堆疊中Activity的情況)
- 談談singleTop和singleTask的區別以及應用場景
- ......

Android面試筆記(Binder+Handler+Bitmap)
以binder為例
- Binder的定向制導,如何找到目標Binder,喚起行程或者執行緒
- Binder中的紅黑樹,為什么會有兩棵binder_ref紅黑樹
- Binder一次拷貝原理
- Binder執行緒、Binder主執行緒、Client請求執行緒的概念與區別
- Binder執行緒的睡眠與喚醒(請求執行緒睡在哪個等待佇列上,喚醒目標端哪個佇列上的執行緒)
- Binder協議中BC與BR的區別
- Binder在傳輸資料的時候是如何層層封裝的–不同層次使用的資料結構(命令的封裝)
- Binder驅動傳遞資料的釋放(釋放時機)
- 一個簡單的Binder通信C/S模型
- ......


Android面試筆記(RecyclerView+Webview)
以RecyclerView為例
- 請說一下RecyclerView?adapter的作用是什么,幾個方法是做什么用的?如何理解adapter訂閱者模式?
- RecyclerView繪制原理如何理解?性能優化本質是什么?RecyclerView繪制原理程序大概是怎樣的?
- RecyclerView常見的優化有哪些?實際開發中都是怎么做的,優化前后對比性能上有何提升?
- 如何解決RecyclerView嵌套RecyclerView條目自動上滾的Bug?如何解決ScrollView嵌套RecyclerView滑動沖突?
- RecyclerView的Recyler是如何實作ViewHolder的快取?如何理解RecyclerView三級快取是如何實作的?
- RecyclerView原始碼分析
- ......


因圖文太多影響朋友們的閱讀,整理成PDF部分截圖已上傳,需要完整Android面試筆記的朋友可以在 文末或者文首領取;
Android面試筆記(架構篇)

Android面試筆記(Jetpack篇)

Android面試筆記(NDK開發篇)

對于程式員來說,要學習的知識內容、技術有太多太多難點,要想不被面試淘汰就 只能提前做好復習規劃、認真刷題,在學習中不斷提升自己,請記住,從來都是 只是我們去適應環境,而不是環境來適應我們!

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/298146.html
標籤:其他
上一篇:組件化下如何優雅進行本地除錯,即aar依賴與module依賴動態切換
下一篇:我的音視頻技術筆記路線圖
