一面(視頻面試 40min)
進程和線程之間的區別
操作系統堆棧(JVM的堆棧)
兩個擁有不同數量線程的進程,執行時間長短?CPU是如何為線程和進程分配時間片?
Activity啟動模式、作用
View繪制流程
HashMap實現原理
Android動畫機制
volatile關鍵字作用(Java內存模型)
了解新技術的途徑,了解的新技術
所了解的第三方類庫,看過的源碼(Glide源碼)
忘了。。。
二面 (視頻面試 45min)
獲取一個View的所有子View(代碼實現)
MVP和MVC之間的區別,如果使Activity功能單一化,使其作為View層,那么MVP和MVC之間的區別
HTTP1.0與1.1之間的區別
RxJava的優缺點
fetch和pull之間的區別
多進程應用場景,多進程通信方式
Gradle 執行順序,腳本文件作用
ListView緩存機制以及緩存ItemView數量、加載亂序原因及解決方法
動態代理和靜態代理,是否可以相互替換
圖片加載框架的優缺點,效率對比
100*100的圖片占了多少內存
忘了。。。這一面炸了,炸了啊!!!
三面 (視頻面試 40min)
介紹自己的一個項目,講了P2P與NAT。關于內網穿透相關知識以及項目實現。
Activity和Fragment生命周期,Activity各個生命周期使用、Fragment原理及使用
Android消息機制,子線程使用Handler步驟,還有一個問題,不知道問了什么
自定義View實現方式
懶漢+單例+多線程+優化(代碼實現)
吃蘋果(類似于青蛙跳臺階)(代碼實現)
所了解的新技術
忘了。。。
四面(視頻面試 30min+)
介紹自己的項目及學習過程
介紹所了解過的源碼(Glide)
介紹Android架構組件
Java內部類(真的是死在了上面)
忘了。。。
四面還是掛了,反思一下自己掛的也算是理所當然,對于很多問題都沒有做到真正的深入理解,問題表達和描述也存在一定的問題。學無止境,對于問題還是要學會追根究底、反思總結才得行~