這兩年移動端發展的愈來愈快,在ios上特別明顯,而Android也是遭遇到了不少打擊ios
特別隨着初中級Android開發的逐漸飽和,也讓企業在甄選Android面試候選人時變得格外嚴格,巴不得找一位Android開發作全部的事面試
我在平時的工做中也是一直接觸較多候選人,就這裏想和你們說下我對於Android面試的一些見解性能優化
我把Android基礎知識分爲:四大組件Activitiy、service、廣播、內容提供者,還有fragment,固然這些知識點也不是獨立的,每一個之間都有融合再一塊兒的知識架構
好比Activity這個知識點,首先咱們須要掌握Activity的使用場景框架
最多見的在這個Activity中經過嵌入fragment來進行整個項目UI架構的搭建,這時候這個Activity就是整個項目的一個外殼ide
咱們還須要瞭解整個Activity的生命週期,要知道在那些方法中能夠作耗時操做,哪些方法是不能夠作耗時操做工具
在掌握Activity時,咱們還須要注意Context的使用,區分在哪些場景可使用Application context,哪些場景咱們儘可能使用Activity context性能
接下來咱們還須要掌握Activity的啓動模式,知道哪些場景下使用singleTask、哪些場景下使用singTop。學習
咱們回到咱們的面試,掌握好了以上Activity的幾個知識點以後,咱們還應該知道如何讓Activity和其餘組件進行通訊,好比Service和Activity之間優化
由於咱們在本身的項目中每每會經過啓動一個service來進行某些後臺運算,當計算完成咱們須要經過通知Activity來進行UI的更新,咱們的Activity也能夠和service進行交互來進行添加邏輯的操做,Activity和Fragment之間的通訊就會更頻繁了
由於咱們剛纔說過如今一種比較流行的UI架構就是在一個外殼Activity中經過底部切換來進行子Fragment之間的切換顯示,咱們看到就一個Activity也包括了不少知識點
固然若是咱們進行擴展和延伸的話 還會有不少
好比若是對於一個繁雜的Activity進行重構,MVP、mVC模式中Activity的不一樣做用,在性能優化中爲何Activity可以形成內存泄漏,怎麼解決?會不會用經常使用的性能優化工具:leakcanary、systrace、traceView等,這些擴展的知識點每每都會在面試進行中,隨着面試官的思路不斷延伸出來,這時候咱們應該怎麼去應對這樣的問題呢?
其實最好的辦法就是在平時積累,你們本身必定要有一個本身的筆記,這樣你纔不會學到後面發現本身什麼都沒學到!
據我在這個行業不短的瞭解,如今不少公司對於開源框架的考察的比重都是愈來愈重,好比新浪微博關於開源框架的考察就是必須的,阿里、騰訊也都會常常考察候選人有關開源框架的問題
因此說你們對於開源框架也是須要很好的掌握,固然對於開源框架的學習也是有策略的
你們必定要謹記絕對不要深刻源碼而不能自拔,要根據整個框架的整體流程來進行梳理
最好在面試前本身對於在簡歷中提到的框架有一個本身的頭腦梳理,你起碼要在腦子中把這個框架的點都過一下
這裏提到了簡歷,看過不少份簡歷
你們都有一個很大的問題,就是我的技能寫的太多,我真的不建議你們寫這麼多,特別熟悉、掌握、瞭解這些用詞都是須要謹慎的
我建議你們對於本身掌握特別熟悉的知識點才能用上掌握、還有一些最基本的知識點才能夠用到掌握
若是本身在面試前仍是以爲沒有太大把握的儘可能用熟悉和了解,在簡歷中你們能夠把本身特別熟悉的開源框架寫在前面,這樣也更容易讓面試官根據你的簡從來問答
你們在回答的時候仍是要注意一點:有些問題你有可能真的不知道,可是你最好表現出思考的過程
好比你能夠這麼回答:這個框架我在項目中確實沒有用到過,可是另一個框架retrofit我用的比較多,要在面試過程當中學會引導面試官轉到你擅長的話題上!
總之這是一個鬥智鬥勇的過程!
對於系統源碼我又一個最重要的建議,C++基礎很差的同窗,源碼的學習到JAVA層就能夠,通常也沒有哪些公司的面試會問到這麼深
若是你找的是Framework開發那就另當別論了,可是對於大多數應用層開發的同窗仍是去碰這部分了
由於咱們畢竟是要參加面試的,面試複習的話確定須要將就一個性價比,咱們不可能有無限的時間來複習,因此要把時間用到刀刃上。
系統源碼:你們能夠從這幾個角度來進行復習:binder、AMS、Application啓動、Activity啓動、View繪製、SurfaceFlinger這幾個角度去複習
固然系統源碼包括不少,可是這些是問到頻率最高的幾個了!
特別是binder,他能夠說是整個Android系統的核心,也是整個進程間通訊的樞紐。
關於這部分的內容,我總結了一些面試題,集中學習成文檔
領取方式:關注+轉發+評論,點贊加我贈送
真心祝你們能經過自身的努力提升本身的技術
同時也要找到更高的offer來回報本身!你們加油!