順便一說,OPPO的保密工作還是做得比較嚴格的,進去後海卓越中心大樓前需要申請臨時通行證才能進去。而在面試前還需要登記,並且把手機的前後攝像頭都給用膠帶封起來才能進行面試。廢話少說,下面分成兩部分彙總一下這次技術面試的知識點。
Java
- 如何理解Java的多型?其中,過載和重寫有什麼區別?
- 談一下JVM虛擬機器記憶體分配?哪部分是執行緒公有的,哪部分是私有的?
- final關鍵字的用法?
- 死鎖是怎麼導致的?
- 資料庫如何進行升級?SQLite增刪改查的基礎sql語句
Android
- Broadcast的分類?有序,無序?粘性,非粘性?本地廣播?
- Touch事件是如何傳遞的?
- Handler的原理?
- ANR出現的情況有幾種?怎麼分析解決ANR問題?
- 記憶體洩露的場景有哪些?記憶體洩漏分析工具使用方法?
- 如何實現啟動優化,有什麼工具可以使用?
- 常用的設計模式有哪些?是否瞭解責任鏈模式?
總結
現在回顧一下,問的問題並不難,只是環環相扣問出了很多細節相關的知識點。由此看來,在日常開發中還需要注重基礎。尤其對於開發經驗是1-5年內的Android Developer,面試官考察的多數是基礎知識是否牢固,溝通表達能力,總結能力。雖然此次面試黃了,但不失為一次很好的經歷。
對於問題的答案,後面會抽時間整理總結,敬請期待。
2018-10-22更新:
關於問題的答案,已整理到個人的簡書。如有需要可移步查閱。