工作情況
小歐 19 年本科畢業,目前已入職百度
專業技能
小歐簡歷裏寫的專業技能比較全面,包括這些:
- Java 的知識(反射、泛型、註解、List 等集合源碼、併發、JVM 相關)
- Android 知識(四大組件、View、Binder、Handler、SP、Activity 啓動、插件化等)
- 性能優化(包體積、佈局、內存優化)
- Gradle(Task、打包流程、自定義 Plugin、編譯優化等)
- 計算機基礎知識(計算機網絡、設計模式等等)
項目經驗
小歐在上家公司做過組件化和 MVP,寫過 Gradle Plugin,做過 Gradle 編譯優化,做過包體積優化
簡歷評價 & 問題導向
從專業技能來看,對於畢業一年的 Android 開發者來說,Java、Android、計算機基礎知識是必備技能,性能優化、Gradle 算加分項了
從項目經驗來看,小歐畢業一年做了不少事情,算是比較難得了,其中的 Gradle 編譯優化、包體積優化就是亮點了
所以總體上來看,這份簡歷可以體現出小歐比較出色的能力(學習能力和做事能力),所以面試問題路線大概是兩點:
- 先確認項目是否真實做過,做的多深,對項目中用到的知識、工具掌握有多深
- 考察專業技能的深度和廣度
面試題目及考察點
下面是面試的題目和考察點,對於一些比較敏感的問題,沒有展示出來(以下觀點僅代表個人,不代表任何組織和公司)
1. 組件化如何實現?和 Arouter 的區別?優勢?(考察項目中對組件化的參與程度,以及對組件化的一些思考)
此類問題其實和項目關聯度很大,需要對所做的項目有詳細的瞭解,同時也需要對已有方案的瞭解
2. 組件間如何通信?(考察對組件化的瞭解程度)
3. MVC、MVP、MVVM 區別?MVP 的缺點?(考察對 MVP 以及相近的架構的理解)
對於 MVC、MVP、MVVM 的分析其實有很多文章,如果在回答的時候有一些自己不一樣的思考就更好了
4. 包體積如何優化?(考察項目具體的實現)
關於包體積優化,網上其實有很多通用方案,如果自己真的做過,有一些自己不一樣的思考就更好了
5. png 和 webp 的區別?(考察細節點)
知識類問題,知道即可
6. arsc 是怎麼用的?(考察細節點)
知識類問題,知道即可
7. Gradle 構建優化做了什麼事情?(考察 Gradle 構建優化做的事情)
網上有關的文章其實也很多,如果能答上來,會往更深層次問下去,需要有一些準備
8. Gradle 6.5.1 相比 4.4.1 的變化?(考察細節)
9. Gradle 的生命週期?分爲哪些階段?(考察對 Gradle 的掌握程度)
網上有關的文章其實也很多,如果能答上來,會往更深層次問下去,需要有一些準備
10. Android 打包流程?(考察基礎知識)
網上有關的文章其實也很多,如果能答上來,會往更深層次問下去,需要有一些準備,下面的幾個問題都屬於打包流程引申出來的深入問題了
11. AAPT2 和 AAPT 和 有什麼區別 (考察細節點)
12. Class 和 Dex 文件的區別?(考察細節點)
13. V1 V2簽名?(考察細節點)
14. 爲什麼要分 Dex?(考察細節點)
15. 多 dex 怎麼加載?(考察細節點)
16. View 的繪製流程?(基礎知識考察)
關於 View 的繪製流程,網上講解的文章也比較多,如何區分是看文章還是看源碼瞭解的知識呢?本質上還是根據對細節的瞭解程度來區分的
17. 如何重繪?requestLayout 和 invalidate 的區別?(基礎知識考察)
18. View 事件分發 cancel 事件什麼時候觸發?(基礎知識考察)
19. 事件如何從點擊屏幕傳遞到 View 的?(基礎知識考察)
20. Java 內部類如何訪問外部類方法?(基礎知識考察)
21. 如何訪問 private 方法(基礎知識考察)
22. 如何檢測線上 ANR?(知識廣度考察)
23. 如何檢測 crash?(知識廣度考察)
總結
但是整體問下來,可以看出來小歐的知識還是比較紮實的,深度和廣度都有的,項目中的內容瞭解也比較好,作爲剛畢業一年的同學來說還是很優秀的
上面的問題其實更多的侷限在知識掌握的層面,對工作經驗更多的面試者來說,考察點可能又會不一樣了,可能重點就在項目和對項目的思考上了
因爲時間關係,還有很多問題其實是沒有考察的,比如 Java 集合、多線程、四大組件等等
面試的過程其實就是抽樣檢測,各個公司、面試官考察的重點也不一樣,但不變的目標都是考察面試者的工作、學習能力,挖掘潛力,以及和崗位的匹配程度
另外對於一些基礎知識,面試之前還是要複習一下的,不然可能出現的情況是知識點就在口中,但是說不出來
最後
在新的一年裏,想給大家提供一些更實質的幫助
在這分享一份大佬收錄整理的Android學習PDF+架構視頻+面試文檔+源碼筆記,高級架構技術進階腦圖、Android開發面試專題資料,高級進階架構資料
這些都是我現在閒暇還會反覆翻閱的精品資料。裏面對近幾年的大廠面試高頻知識點都有詳細的講解。相信可以有效的幫助大家掌握知識、理解原理。
你也可以拿去查漏補缺,提升自身的競爭力。
如果你有需要的話,可以前往Github 自行領取
喜歡本文的話,不妨順手給我點個贊、評論區留言或者轉發支持一下唄~
最後祝福大家在新的2021年中,都能夠拿到自己理想中的offer!