記錄面試程序中被問的問題 簡歷投遞薪資范圍 25-30
后面根據問題輸出文章,希望能堅持下去,
此次面試準備:
- 書籍《Android 進階解密》快刷2遍,
- 著重學習四大組件啟動流程,并跟代碼熟悉流程(8.0和10.0代碼有區別),
- View的繪制流程,結合問題(View.post 為什么能拿到寬高)看原始碼,事半功倍
- Handler、Looper、MessageQueue、Message、ThreadLocal、同步屏障、IdleHandler和主執行緒Handler 這一大套Handler知識點,必須掌握,
- 各種優化,啟動優化、包體積優化等等性能優化,
- 鎖、執行緒安全問題 Synchornized、volatile、執行緒池,
- Kotlin 協程原理,
- Kotlin 高階函式,
- Jetpack 常用組件原理,LiveData、ViewModel,
- 常用開源庫原理,Retrofit、Glide、OkHttp、Rxjava等等,
- 資料結構,HashMap、ArrayList等常用的
- LRU演算法原理
- 設計模式
差不多了,還有很多只是需要學習,這次面試準備,著重看了wanandroid 中的每日一問模塊 看小緣大神回答的很有識訓,能學習很多知識點,加油加油!
A公司:
- ViewModelScope 什么時候關閉的
- LiveData和EventBus的優缺點
- Glide原理, Glide的BitmapPool的設計為了解決什么問題
- 按下串列item的button 同時上下滑動RecyclerView 事件是怎么處理的
- 啟動優化
- 插件化,資源插件化的原理
- View.post() 為什么能拿到view的寬高
- Kotlin 的單例怎么寫
- Kotlin協程怎么做并發
- synchornized 是怎么作業的
- HashMap 原理,怎么用HashMap做到執行緒安全
- OkHttp的鏈條流程
- 用到了哪些設計模式
- 做了哪些版本適配
- 資料結構
- Http協議
- Json
B公司:
- LiveData怎么避免粘性訊息的
- HashMap 怎么獲取hash值
- ArrayList和LinkedList區別
- 四種啟動模式
- kotlin高階函式
- kotlin擴展函式底層原理
- Kotlin inner 關鍵字
- 協程原理
- kotlin object實作的單例執行緒安全嗎
- 怎么做適配 AutoSize原理
C公司:
- 混淆的原理
- 簽名v1、v2、v3的區別
- 性能優化
- 優化圖片加載
- 哪些資料結構能做到執行緒安全
- 視頻格式
- 32/64位平臺下char、short、int、long、指標等型別分別占多少位元組
- 自己做一個即時聊天的功能需要怎么設計
D公司:
- Android應用啟動流程
- 資源熱修復、插件化
- class熱修復
- LeakCanary原理
- EventBus原理
- HashMap
- Kotlin協程原理
- Intent和PendingIntent
- EventBus 2.0和3.0的區別
E公司:
- HashMap原理
- 馬甲包怎么打
- 怎么獲取View的寬高
- Glide的怎么做生命周期相關管理
- Glide的快取結構
F公司:
- ViewModel原理
- LiveData原理
- DataBinding的注解
- 說說執行緒
- 死鎖怎么產生
- 執行緒池的資料結構是什么
G公司:
- 說說activity的生命周期
- Service的啟動流程
- 包體積優化
- Kotlin有什么優點
H公司:
- 說說voletile
- java中都有哪些鎖
- 執行緒池中核心執行緒和非核心執行緒的區別
- 核心執行緒在什么情況下會被銷毀
- 說說Looper
- 怎么判斷當前執行緒是主執行緒
- 四種參考
- Activity A-B的生命周期
- SP apply和commit的區別
- 廣播有哪幾種
- Service注冊方式
- OkHttp的原始碼看過嗎
- 子view顯示可以超過父view嗎,怎么超過
- 用什么方式實作跨行程通信
- 用過ViewStub嗎
I公司:
- MVP 和 MVVP 的區別
- 死鎖
- 演算法:25匹馬
- 用陣列實作佇列
- 最近有沒有解決疑難問題 什么思路
- 從磁盤加載大圖顯示
- 圖片怎么壓縮
- 565和8888的區別 底層原理
- Glide加載圖片原理
- StackOverFlow 是什么例外 怎么產生的
J公司:
- 即構和聲網有什么區別
- Retrofit 里能學到什么
- 簡述handler
- ThradLocal怎么實作的
- Message做什么的
- 為什么要用ObtainMessage
- Idle 有沒有遇到什么問題
- Activity啟動流程
- AMS什么時候啟動的
- ActivityThread干啥用的
- 為什么Zygote需要socket通信
- ActivityThread啥時候啟動的 為什么要通過拋例外方式
- ASM和APT的區別
K公司:
- LiveData
- MVC MVVM
- 記憶體泄漏的原因和常見記憶體泄漏的解決方案
- RecyclerView加載多圖速度優化方案
- Glide和Picasso的區別
- Kotlin使用期間有沒有遇到坑
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/287407.html
標籤:其他
