安卓開發必備知識體系:安卓篇

1. 前言
前後歷時一個半月,也算是拿到了心儀的 offer,順便水一篇總結把。
前後經歷了菜鳥網路、有贊、手淘、頭條、全民直播、喜馬拉雅,面的多是 1~3 年的崗位。除了手淘和頭條一面被刷 QAQ,其他的都走完了流程,然而拿到 offer 的只有最後兩個。對比之下,選擇了喜馬拉雅。
馬雲說,員工離職的原因無非是錢不到位、或者心委屈了。看著周圍的同事整天渾渾噩噩,滿足於改改UI、應付一下需求,不知不覺就過30歲了,這可不是我想要的生活。「生於憂患,死於安樂」,溫水煮青蛙永遠不是什麼好事。
畢業時,年少無知,加上當時水平太菜,稀裡糊塗進了小公司。現在看來憑空給面試增加了不少難度 QAQ。整體下來最常聽到的一句話是「你的 app 沒啥亮點嘛」233,印象分大減。所以專案簡單的話,基礎千萬要打紮實。
其實,挺想進阿里的,儘管沒有如願,不過也是一次寶貴的經歷。孫子兵法有云:「求其上,得其中;求其中,得其下;求其下,必敗。」好在一開始照著 bat 的目標去準備,最後去了喜馬拉雅,到也還好。還有一點,阿里各部門的難度也是不同的。手淘就明顯難於菜鳥,畢竟這麼多年的積累在那裡。
技術棧最新的應該是有贊,那邊的氛圍非常不錯。這幾個問題你們感受下:
http2 相對 http1 有哪些優化
平常怎麼學習 http, RFC 看過嗎
協程瞭解過嗎
前幾天剛出的「快應用」瞭解過嗎(我去面的時候真的是剛出來沒幾天 QAQ)
熟悉 Rxjava?解釋一下背壓,解釋一下 Observable 冷、熱
雖然走完流程了,不過很多沒答上來,最後涼涼了。
頭條、手淘的話,都遇到了「圖片框架選型」,沒有刻意準備的話這個問題多半要栽。常見的 Picasso, Fresco, Glide, 需要你對比著講一下,其他的公司可能能講清楚你熟悉的那個就放過你了。手淘還特意問到了 Glide 中的 BitmapPool,也即 Bitmap 重用的實現(注意與 Bitmap 快取(LRUCache)不是同一個東西),一臉懵逼.jpg 。。。
另外,okhttp 也可能被問到,只知道個攔截器是不行的。
總體而言,像 java 基礎、併發、JVM、計算機網路那點東西,還有 android 四大元件、handler、事件分發、繪製、動畫,這些都能背下來的,絕對不能丟分。像外掛化、熱修復之類的高階主題,還有 okhttp 這種較為複雜的第三方庫,短時間內啃不下來,也就聽天由命吧,至少拿到了基礎分。
路漫漫其修遠兮,吾將上下而求索。
2. Android 篇
下面放一下我整理的 Android 知識腦圖
縮圖有點模糊,建議PC上看大圖,或儲存到本地來看。
2.0 Android 基礎
推薦資料:官方文件

2.1 Android 常見機制
推薦資料:《Android開發藝術探索》+ 原始碼

2.2 Android 常用3rd-lib
推薦資料:github 專案原始碼

2.3 Android 進階

需要資料的關注我的主頁!