安卓開發進大廠面試必備技能,持續更新大廠面試筆試題

Android_devp 2021-09-19 05:11:43 阅读数:773

技能 更新

正文

面試總共花費30天左右,才拿到了offer。

一面

1.自我介紹
2.項目
3.四大組件
4.activity生命周期
5.啟動模式
6.線程狀態
7.網絡協議(每一層、還有TCP和UDP)
8.會不會網絡編程
9.handler
10.JVM,內存模型那些
11.GC(有哪些方法那種問題)
12.項目中的數據庫
13.HashMap、HashTable、ConcurrentHashMap
14.反問環節

二面

視頻面試。這一面依舊是初試,應該是交叉面?

1.自我介紹
2.項目(這裏花了好多時間emm,他會根據我項目一路提問)
3.算法題:字符串根據字典分割的問題。一開始給的解决方法時間複雜度太高,一直要求優化。還有一題我忘了……
4.TCP和UDP以及應用場景
5.JAVA與JS(為什麼都喜歡問這個?)
6.其他忘了……也是挺基礎的
7.反問
這一輪面試很發散,主要還是針對項目進行討論,問的問題挺有針對性的(主要是項目)。

三面

1.mmap + native 日志優化?
2.廣播和 EventBus 的區別?
3.常用設計模式你了解哪些?
4.跨進程通信有哪些?
5.簡單講講 binder 驅動吧?
6.跨進程傳遞大內存數據如何做?
7.說說 ConcurrentHashMap 的實現原理說下,初始化大小是多少?
8.啟動優化怎麼優化?
9.你寫的 rxpay 和 rxlogin 具體怎麼實現的?
10.kotlin + fullter 方面的

四面

1.單例設計模式都寫寫,靜態內部類是怎麼保證線程安全的?
2.synchronized 底層實現原理,ReentrantLock 公平鎖與非公平鎖。
3.主線程等待所有線程執行完畢,再執行某個特定任務怎麼實現?原理和源碼看過沒?
4.自定義 view 的一般流程,要注意些什麼如何優化,點擊事件和長按時間分別是怎麼實現的?
5.四種啟動模式,在源碼分析中的原理是怎樣的?
6.講講 bindService 的過程,你當初是怎麼優化後臺服務進程的?
7.開發中你都用到了哪些設計模式?說說當時具體的場景。為什麼你要用方法工廠,另外兩種呢?
8.RxJava 在使用過程中碰到了某些不友好的錯誤一般怎麼解决?發現了內存泄露一般怎麼解决分析,有沒有碰到過系統服務內存泄露的問題?
9.你們用的 okhttp ?那你有沒有做過一些網絡優化呢?比如弱網環境。
10.給你個數 1 吧,比如 1000011 裏面有幾個 1 ?
11.快排了解不?最壞的情况是怎樣?如果有大量重複數據怎麼優化?

五面

1.講講 handler 的底層實現原理?
2.說說你做的日志記錄優化?
3.你看過 binder 驅動的源碼,說說他的內存映射過程,說說客戶端等待服務端處理返回的流程,如果要跨進程傳遞大內存數據你具體會怎麼做?簡單寫一寫吧。
4.在公司做過哪些優化?
5.過程中遇到的一些最難解决的問題?
6.提到了動態修複替換加載 so ,那你知道怎麼修複 class 嗎?怎麼修複資源呢?
7.還有什麼要問的?

六面(HR面)

1.項目
2.薪資
3.反問環節

最後

想要了解更多關於大廠面試的同學可以點贊支持一下,除此之外,我也分享一些優質資源,包括:Android學習PDF+架構視頻+源碼筆記高級架構技術進階腦圖、Android開發面試專題資料,高級進階架構資料 這幾塊的內容。非常適合近期有面試和想在技術道路上繼續精進的朋友。

 CodeChina開源項目:《Android學習筆記總結+移動架構視頻+大廠面試真題+項目實戰源碼》

版权声明:本文为[Android_devp]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210919051142630g.html