Android 精品资源(一) 2018年3月23日 星期五
Android面試過程所需要掌握的技術
1.?基本知識點?
比如四大組件如何使用、如何創建Service、如何進行布局等。這類知識是需要熟練掌握的,并且也沒什么難度。?
2.?稍微深入的知識點?
比如AIDL、Binder、多進程、View的繪制流程、事件分發、消息隊列等。這類知識對于高級開發者來說也是必須掌握的,然而相信很多候選者在面試之前并不能對這些問題了如指掌。這些問題基本都是面試過程中很常見的問題,也是高級崗位所必須掌握的問題,不搞定這些問題無法達到百度的高級工程師的標準,因此也不可能通過面試。?
3.?基本知識點的細節?
比如Activity的啟動模式和標記位、Service同時處于start和bind狀態時的停止問題、AsyncTask的同步異步問題以及使用時的限制等,這種問題還有很多。這類知識點,大家在開發過程中可以并不會去注意,這會導致一個問題,那就是開發應用沒問題,但是在面試時面試官只要稍微問下細節或者特殊情況,就hold不住了。 這類問題也是高級開發者所需要掌握的,有些面試官喜歡問一些看似刁鉆的問題,但是候選者如果回答不了也是不好的。?
4.?系統核心機制?
比如主線程的消息循環、主線程如何和AMS如何跨進程交互、SystemServer進程中的各種Service的工作方式、AsyncTask的工作原理等。這類知識對于高級開發者也是建議掌握的,因為它們可以讓開發者理解Android的運行體系。 這類問題并不是所有的Android面試都會涉及到,但是技術含量高的大公司有可能涉及此類問題。?
5.?瑣碎的知識點?
此類知識點我把它們定義為一些重要但是沒有什么技術難度的問題,比如如何打開一個網頁、如何打電話、如何發短信、如何定位、多點觸控等,這類問題往往不好記憶,但是需要的時候去查一下就能立馬搞定。這類問題基本上不會出現在面試過程中。
如何學習Android面試中所需的技術
這里主要是指上面2、3和4這三個類別中的技術,說實話,這并不是一件很簡單的事。那么到底如何學習呢,這里先大概說下,隨后會有一系列博客來詳細地介紹這些技術的學習過程。首先要閱讀源碼,因為面試中的很多問題需要從源碼中找答案,其次要主動學習平時工作中遇不到的一些技術,由于項目的原因,我們不可能通過公司的項目來解除到Android中所有的重要技術,尤其是一些規模不大的項目來說,這個時候要主動去學習。也許有人要問:”我怎么知道哪些東西是需要主動學習的呢?“這的確是個問題,但是我在前面的分類中做了一些舉例,大家可以先嘗試學習下那些技術,它們都是很重要且時常在面試中出現的技術問題。另外學習的過程中要注意積累,比如寫博客、記筆記都是可以的,同時在Github上做開源也是不錯的選擇。
另外,為了更好更快地學習Android面試中所需的技術,大家可以閱讀我的一本書《Android開發藝術探索》,書中對前面的2、3和4類別中的技術細節做了詳細深入的講解,通過這本書可以達到立竿見影的效果。說到《Android開發藝術探索》,我不得不說,我寫這本書的初衷是幫助Android程序員更好地成長為高級工程師,直到有一天一些讀者和我反饋,說這本書的內容很適合面試,我這才突然發現,原來這本書的內容真的適合面試,這也算是無心插柳吧。至于書的內容我就不做過多介紹了,大家可以看目錄、樣章以及讀者評價,如果覺得不適合自己的話就不要購買了。
?知識分類
知識的分類和開發者級別:
?Android知識體系
?
?
?
鳴謝:
給Android程序員的一些面試建議
轉載于:https://www.cnblogs.com/jooy/articles/8628651.html
總結
以上是生活随笔為你收集整理的Android 精品资源(一) 2018年3月23日 星期五的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webpack学习(七)打包压缩图片
- 下一篇: 自动生成 指定范围日期 生成字符串格式