一、前言
本人面試已經很久之前了,分享一下我做美團面試官的經歷吧。
美團上海面試,2-1及以下美團是不社招的,校招和2-2~2-3社招一般是三面,格外優秀3-1及以上會加簽面試。初面技術基礎,二面業務感知和技術項目,技術設計等。三面 HR面。
初面一定要準備相對較多的基礎知識,簡歷上的東西一定是熟悉的,自己的知識也不能落伍。會有一些簡單的算法題。二面主要是項目設計,項目設計的背景,目標,執行中的問題,最后的結果都要非常清楚。三面 HR 面試還是比較大陸貨,主要打探職級,績效評價一個人的工作努力程度,崗位適配程度等。
一、圖片
1、圖片庫對比
2、LRUCache原理
3、圖片加載原理
4、自己去實現圖片庫,怎么做?
5、Glide源碼解析
6、Glide使用什么緩存?
7、Glide內存緩存如何控制大小?
二、網絡和安全機制
1.網絡框架對比和源碼分析
2.自己去設計網絡請求框架,怎么做?
3.網絡請求緩存處理,okhttp如何處理網絡緩存的
4.從網絡加載一個10M的圖片,說下注意事項
5.TCP的3次握手和四次揮手
6.TCP與UDP的區別
7.TCP與UDP的應用
8.HTTP協議
9.HTTP1.0與2.0的區別
10.HTTP報文結構
11.HTTP與HTTPS的區別以及如何實現安全性
12.如何驗證證書的合法性?
13.https中哪里用了對稱加密,哪里用了非對稱加密,對加密算法(如RSA)等是否有了解?
14.client如何確定自己發送的消息被server收到?
15.談談你對WebSocket的理解
16.WebSocket與socket的區別
17.談談你對安卓簽名的理解。
18.請解釋安卓為啥要加簽名機制?
19.視頻加密傳輸
20.App 是如何沙箱化,為什么要這么做?
21.權限管理系統(底層的權限是如何進行 grant 的)?
三、數據庫
1.Sqlite升級,增加字段的語句
2.數據庫框架對比和源碼分析
3.數據庫的優化
4.數據庫數據遷移問題
四、插件化、模塊化、組件化、熱修復、增量更新、Gradle
1.對熱修復和插件化的理解
2.插件化原理分析
3.模塊化實現(好處,原因)
4.熱修復、插件化
5.項目組件化的理解
6.描述清點擊 Android Studio 的 build 按鈕后發生了什么
五、架構設計和設計模式
1.談談你對Android設計模式的理解
2.MVC MVP MVVM原理和區別
3.你所知道的設計模式有哪些?
4.項目中常用的設計模式
5.手寫生產者/消費者模式
6.寫出觀察者模式的代碼
7.適配器模式,裝飾者模式,外觀模式的異同?
8.用到的一些開源框架,介紹一個看過源碼的,內部實現過程。
9.談談對RxJava的理解
10.Rxjava發送事件步驟
11.RxJava的作用,與平時使用的異步操作來比的優缺點
12.說說EventBus作用,實現方式,代替EventBus的方式
13.從0設計一款App整體架構,如何去做?
14.說一款你認為當前比較火的應用并設計(比如:直播APP,P2P金融,小視頻等)
15.談談對java狀態機理解
16.Fragment如果在Adapter中使用應該如何解耦?
17.Binder機制及底層實現
18.對于應用更新這塊是如何做的?(解答:灰度,強制更新,分區域更新)?
19.實現一個Json解析器(可以通過正則提高速度)
20.統計啟動時長,標準
如何做好面試突擊,規劃學習方向?
面試題集可以幫助你查漏補缺,有方向有針對性的學習,為之后進大廠做準備。但是如果你僅僅是看一遍,而不去學習和深究。那么這份面試題對你的幫助會很有限。最終還是要靠資深技術水平說話。
網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那么很難做到真正的技術提升。建議先制定學習計劃,根據學習計劃把知識點關聯起來,形成一個系統化的知識體系。
學習方向很容易規劃,但是如果只通過碎片化的學習,對自己的提升是很慢的。
同時我還搜集整理2020年字節跳動,以及騰訊,阿里,華為,小米等公司的面試題,把面試的要求和技術點梳理成一份大而全的“ Android架構師”面試 Xmind(實際上比預期多花了不少精力),包含知識脈絡 + 分支細節。
在搭建這些技術框架的時候,還整理了系統的高級進階教程,會比自己碎片化學習效果強太多。
點擊:
《Android架構視頻+BAT面試專題PDF+學習筆記》
即可免費獲取~
9247)]
點擊:
《Android架構視頻+BAT面試專題PDF+學習筆記》
即可免費獲取~
網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那么很難做到真正的技術提升。希望這份系統化的技術體系對大家有一個方向參考。