http://blog.csdn.net/singwhatiwanna/article/details/49230997android
能夠說是對android知識的總結,列在這裏了。上面的博文地址裏有詳細介紹,感興趣能夠仔細閱讀。面試
基本知識點、深刻知識點、基本知識點的細節和系統核心機制。
1. 基本知識點
好比四大組件如何使用、如何建立Service、如何進行佈局等。這類知識是須要熟練掌握的,而且也沒什麼難度。
2. 稍微深刻的知識點
好比AIDL、Binder、多進程、View的繪製流程、事件分發、消息隊列等。這類知識對於高級開發者來講也是必須掌握的,然而相信不少候選者在面試以前並不能對這些問題了如指掌。這些問題基本都是面試過程當中很常見的問題,也是高級崗位所必須掌握的問題,不搞定這些問題沒法達到百度的高級工程師的標準,所以也不可能經過面試。
3. 基本知識點的細節
好比Activity的啓動模式和標記位、Service同時處於start和bind狀態時的中止問題、AsyncTask的同步異步問題以及使用時的限制等,這種問題還有不少。這類知識點,你們在開發過程當中能夠並不會去注意,這會致使一個問題,那就是開發應用沒問題,可是在面試時面試官只要稍微問下細節或者特殊狀況,就hold不住了。 這類問題也是高級開發者所須要掌握的,有些面試官喜歡問一些看似刁鑽的問題,可是候選者若是回答不了也是很差的。
4. 系統核心機制
好比主線程的消息循環、主線程如何和AMS如何跨進程交互、SystemServer進程中的各類Service的工做方式、AsyncTask的工做原理等。這類知識對於高級開發者也是建議掌握的,由於它們可讓開發者理解Android的運行體系。 這類問題並非全部的Android面試都會涉及到,可是技術含量高的大公司有可能涉及此類問題。
5. 瑣碎的知識點
此類知識點我把它們定義爲一些重要可是沒有什麼技術難度的問題,好比如何打開一個網頁、如何打電話、如何發短信、如何定位、多點觸控等,這類問題每每很差記憶,可是須要的時候去查一下就能立馬搞定。這類問題基本上不會出如今面試過程當中。異步