我是如何準(zhǔn)備 Android 技術(shù)面試的~

一型将、前言

這兩個(gè)月聽(tīng)的最多的兩個(gè)詞就是 寒冬裁員,作為被裁大軍中的一員荐虐,我的關(guān)鍵詞就是 遺憾還好七兜。

遺憾 的是現(xiàn)在的項(xiàng)目還有很多想象的空間,但是就要走向盡頭福扬;還好 的是畢業(yè)幾年來(lái)一直沒(méi)有以一種打工的心態(tài)在工作腕铸,寒冬就寒冬,怕個(gè)錘子铛碑。

最近又開始寫文章了狠裹,有小伙伴問(wèn)我是怎么準(zhǔn)備面試的,我也想談?wù)勎易罱囊恍┫敕ê陀?jì)劃亚茬,大家一起討論酪耳。

整體分為以下兩個(gè)方面:

  • 自我介紹 & 項(xiàng)目經(jīng)驗(yàn)
  • 知識(shí)儲(chǔ)備

二、自我介紹 & 項(xiàng)目經(jīng)驗(yàn)

2.1 自我介紹

這個(gè)是第一個(gè)要準(zhǔn)備的東西刹缝,面試多幾次碗暗,慢慢完善就好,重要的是 有條理梢夯⊙粤疲可以從下面幾點(diǎn)入手,關(guān)鍵是第二和第三點(diǎn):

  • 之前工作的公司颂砸、崗位及工作方向噪奄。
  • 團(tuán)隊(duì)構(gòu)成死姚,在團(tuán)隊(duì)中的位置及承擔(dān)的責(zé)任。
  • 為團(tuán)隊(duì)做出的主要貢獻(xiàn)勤篮,對(duì)于這部分涉及到的 項(xiàng)目經(jīng)歷以及延伸出的知識(shí)點(diǎn) 一定要重點(diǎn)準(zhǔn)備都毒。
  • 能夠從側(cè)面反映出你優(yōu)點(diǎn)的愛(ài)好。
  • 如果能從其它渠道了解到你招人的部門所做的東西碰缔,那么也可以談?wù)剬?duì)他們的一些了解以及自己的愿望账劲,沒(méi)有就算了,這個(gè)是可選項(xiàng)金抡。

2.2 項(xiàng)目經(jīng)驗(yàn)

項(xiàng)目經(jīng)驗(yàn)這塊因人而異瀑焦,把覺(jué)得做的有亮點(diǎn)的東西挑出來(lái),從四個(gè)方面來(lái)準(zhǔn)備:

  • 功能模塊的實(shí)現(xiàn)
  • 達(dá)到了什么效果
  • 遇到了什么問(wèn)題梗肝,是如何解決的
  • 涉及到的相關(guān)知識(shí)點(diǎn)

項(xiàng)目經(jīng)驗(yàn)和知識(shí)點(diǎn) 其實(shí)是一個(gè)雙向的過(guò)程榛瓮,要 試圖去找到它們之間的聯(lián)系

  • 談到項(xiàng)目經(jīng)驗(yàn)的時(shí)候,可以說(shuō):做完 xx 之后巫击,我還去了解了一下 yy 背后的原理禀晓,xxx,這里體現(xiàn)的是 你是否有求知欲 坝锰。
  • 談到知識(shí)點(diǎn)的時(shí)候匆绣,可以說(shuō):yy 的原理是這樣的,在 xx 項(xiàng)目中我是如何應(yīng)用它來(lái)解決問(wèn)題的什黑,這里體現(xiàn)的是 你是否具備把知識(shí)付諸實(shí)踐的能力

2.3 遇到的問(wèn)題

一定要準(zhǔn)備堪夭,很重要愕把! 問(wèn)題涉及到知識(shí)點(diǎn)也要都弄清楚。

平時(shí)項(xiàng)目可能比較忙森爽,遇到問(wèn)題急著解決恨豁。但是要學(xué)著先把問(wèn)題先記錄下來(lái),之后再按下面的步驟進(jìn)行總結(jié)爬迟,有條理地進(jìn)行闡述:

  • 遇到問(wèn)題
  • 分析過(guò)程
  • 解決方案
  • 結(jié)果

三橘蜜、知識(shí)儲(chǔ)備

很多人準(zhǔn)備面試的時(shí)候,大多數(shù)就會(huì)這樣的付呕,打開百度计福,輸入 “Android 面試題”,找?guī)讉€(gè)多的開始看徽职。

這雖然看起來(lái)很自然象颖,但是并不是一種 健康的方式,面試題的作用應(yīng)當(dāng)是查缺補(bǔ)漏姆钉,上學(xué)的時(shí)候也不是直接發(fā)習(xí)題冊(cè)然后對(duì)著答案學(xué)習(xí)吧说订?

知乎上有個(gè)問(wèn)題抄瓦,叫做 如何高效學(xué)習(xí),里面有一個(gè)回答我覺(jué)得很符合我自己的觀點(diǎn)陶冷,就是 建立起自己的知識(shí)體系钙姊,建立知識(shí)體系的目的在于:

  • 鞏固記憶。
  • 認(rèn)識(shí)自己埂伦,找到自己的優(yōu)勢(shì)及不足煞额。
  • 把握復(fù)習(xí)的進(jìn)度。
  • 經(jīng)驗(yàn)總結(jié)赤屋。

目前我自己的總結(jié)的會(huì)分為以下幾個(gè)大點(diǎn)立镶,詳細(xì)的可以看 Android 知識(shí)梳理目錄 - 好吧,這是一個(gè)很"干"的標(biāo)題类早。

3.1 Java 基礎(chǔ)知識(shí)

  • 面向?qū)ο蟮幕舅枷?/li>
  • Object類相關(guān):Object類的幾個(gè)關(guān)鍵函數(shù)媚媒、String涉及到的常量池概念,序列化 & 反序列化涩僻。
  • 重要關(guān)鍵字:final缭召、static
  • 內(nèi)部類:內(nèi)部類的分類逆日、應(yīng)用場(chǎng)景嵌巷、內(nèi)部類編譯成class后是怎么樣的。
  • 抽象類 & 接口:區(qū)別室抽、應(yīng)用場(chǎng)景搪哪。
  • 編碼:編碼的目的、分類坪圾。
  • 異常:異常體系晓折、自定義異常。
  • 注解:注解的基本概念兽泄、分類漓概、編譯時(shí)注解 & 運(yùn)行時(shí)注解。
  • 容器:重要容器的內(nèi)部實(shí)現(xiàn)病梢、容器間的對(duì)比胃珍。
  • 內(nèi)存模型。
  • 垃圾回收蜓陌。
  • 類加載的過(guò)程觅彰。
  • 泛型:分類、通配符 & 上下邊界钮热、泛型擦除缔莲。
  • 反射:使用。

3.2 Android 基礎(chǔ)知識(shí)

  • Dalvik霉旗、Art虛擬機(jī)
  • Activity:生命周期痴奏、launchMode蛀骇。
  • Fragment:生命周期、懶加載读拆、兩種Adapter之間的區(qū)別擅憔。
  • BroadcastReceiver:基本概念、廣播分類檐晕、權(quán)限暑诸。
  • Service:生命周期、onStartCommand的返回值辟灰、startServicebindService的區(qū)別个榕、相同進(jìn)程 & 不同進(jìn)程的交互、IntentService實(shí)現(xiàn)原理芥喇。
  • 重要的工具類 & 源碼實(shí)現(xiàn):AsyncTask西采、HandlerThreadHandler继控、IntentService械馆、LruCacheLinkedHashMap武通、SparseArray霹崎。
  • RecyclerView:緩存原理、和ListView的對(duì)比冶忱、Adapter如何適配多種layout尾菇。
  • 存儲(chǔ):數(shù)據(jù)庫(kù)升級(jí) & 優(yōu)化、ContentProvider囚枪,SharePreference错沽。
  • SDK版本升級(jí)的兼容問(wèn)題。
  • Android的權(quán)限管理機(jī)制眶拉。

3.3 圖片

  • Bitmap相關(guān):Bitmap的大小計(jì)算、質(zhì)量憔儿、inJustDecodeBounds忆植、inBitmap
  • 幾種圖片格式的對(duì)比谒臼、壓縮朝刊。
  • 大圖加載:BitmapRegionDecoder

3.4 算法

  • 別無(wú)捷徑,刷題蜈缤,但是刷題的時(shí)候拾氓,要按照題的類型去總結(jié)。

3.5 開源框架

  • RxJava:操作符的應(yīng)用場(chǎng)景底哥、重點(diǎn)操作符的內(nèi)部實(shí)現(xiàn)咙鞍、和RxJava的對(duì)比房官。
  • Glide:流程、緩存相關(guān)的實(shí)現(xiàn)续滋。
  • Retrofit:流程翰守、動(dòng)態(tài)代理 & 注解解析。
  • OkHttp:流程疲酌、隊(duì)列實(shí)現(xiàn)蜡峰、緩存實(shí)現(xiàn)。

3.6 性能

  • 性能優(yōu)化技巧:?jiǎn)?dòng)速度優(yōu)化朗恳、布局優(yōu)化湿颅、內(nèi)存優(yōu)化、電量?jī)?yōu)化粥诫、APK大小優(yōu)化油航、列表滑動(dòng)優(yōu)化。
  • 性能優(yōu)化工具:TraceView臀脏、Systrace劝堪、調(diào)試GPU過(guò)度繪制 & GPU呈現(xiàn)模式分析、Hierarchy Viewer揉稚、MAT秒啦、Memory Monitor & Heap Viewer & Allocation TrackerLeakCanary搀玖、Lint余境。
  • ANR
    • ANR原因
    • ANR產(chǎn)生過(guò)程源碼分析
    • 信息收集過(guò)程
    • trace文件分析
    • 分析基本流程
    • 具體示例
    • 如何避免產(chǎn)生ANR
  • 性能實(shí)踐:解決過(guò)的性能問(wèn)題,從 遇到問(wèn)題灌诅、分析問(wèn)題芳来、解決問(wèn)題、結(jié)果 四個(gè)點(diǎn)進(jìn)行闡述猜拾。

3.7 View

  • 繪制流程:measure即舌、layoutdraw三個(gè)關(guān)鍵流程挎袜。
  • 事件分發(fā):事件分發(fā)的原理顽聂、處理過(guò)的滑動(dòng)沖突問(wèn)題。
  • 自定義ViewCanvas & Path盯仪,實(shí)現(xiàn)過(guò)的比較復(fù)雜的自定義View紊搪。

3.8 架構(gòu)

  • MVPMVP的思想 & 優(yōu)劣勢(shì)、在項(xiàng)目中的應(yīng)用全景、

3.9 源碼

  • AMS
  • WMS
  • Binder
  • 應(yīng)用啟動(dòng)流程
  • APK相關(guān)知識(shí)點(diǎn)
    • APK構(gòu)成:resources.arsc組成耀石、AndroidManifest.xmlaapt作用及原理
    • APK打包過(guò)程
    • APK安裝過(guò)程
    • APK簽名 & 校驗(yàn)原理
    • dexopt原理

3.10 網(wǎng)絡(luò)

  • 基礎(chǔ)知識(shí):看一下對(duì)于 <<計(jì)算機(jī)網(wǎng)絡(luò)>> 爸黄,重點(diǎn)是網(wǎng)絡(luò)分層模型滞伟、TCP/UDP揭鳞、HTTP/HTTPS

3.11 設(shè)計(jì)模式

按照23種網(wǎng)絡(luò)模型诗良、三個(gè)分類進(jìn)行總結(jié)汹桦,每種設(shè)計(jì)模式包含以下三個(gè)方面,至少要準(zhǔn)備常用的幾個(gè):

  • 基本概念:UML圖鉴裹、簡(jiǎn)單例子舞骆、應(yīng)用場(chǎng)景、優(yōu)勢(shì) & 劣勢(shì)径荔。
  • Android源碼中的實(shí)現(xiàn)
  • 項(xiàng)目中的應(yīng)用

3.12 多線程

  • 看并發(fā)編程的藝術(shù)督禽,這本書的目錄就是多線程最好的知識(shí)體系。
  • 遇到過(guò)的多線程問(wèn)題总处、怎么解決的狈惫。

3.13 Gradle

  • 常用配置。
  • 多渠道打包鹦马。

3.14 插件化

  • 插件化的核心思想胧谈。
  • 幾種插件化框架實(shí)現(xiàn)的原理。

3.15 組件化

  • 組件化的優(yōu)勢(shì)荸频。
  • Arouter:使用方式菱肖、實(shí)現(xiàn)原理。

3.16 Kotlin

  • 有用到的可以看看旭从。

3.17 多媒體

  • 音頻稳强、視頻播放。

3.18 大前端

  • ReactNative和悦、Flutter:沒(méi)學(xué)過(guò)的可以了解一下思想退疫。

3.19 JNI

  • 調(diào)用實(shí)現(xiàn)方式。

四鸽素、結(jié)語(yǔ)

我一直覺(jué)得技術(shù)面試不是考試褒繁,考前背背題,發(fā)給你一張考卷馍忽,答完交卷等通知棒坏。

首先,技術(shù)面試是一個(gè) 認(rèn)識(shí)自己 的過(guò)程舵匾,知道自己和外面世界的差距。

更重要的是谁不,技術(shù)面試是一個(gè)雙向了解的過(guò)程坐梯,要讓對(duì)方發(fā)現(xiàn)你的閃光點(diǎn),同時(shí)也要 試圖去找到對(duì)方的閃光點(diǎn)刹帕,因?yàn)樗院罂赡芫褪悄愕耐禄蛘哳I(lǐng)導(dǎo)吵血,所以谎替,面試官問(wèn)你有什么問(wèn)題的時(shí)候,不要說(shuō)沒(méi)有了蹋辅,要去試圖了解他的工作內(nèi)容钱贯、了解這個(gè)團(tuán)隊(duì)的氛圍。

找工作無(wú)非就是看三點(diǎn):和什么人侦另、做什么事秩命、給多少錢,要給這三者在自己的心里劃分一個(gè)比例褒傅。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弃锐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子殿托,更是在濱河造成了極大的恐慌霹菊,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件支竹,死亡現(xiàn)場(chǎng)離奇詭異旋廷,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)礼搁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門饶碘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人叹坦,你說(shuō)我怎么就攤上這事熊镣。” “怎么了募书?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵绪囱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我莹捡,道長(zhǎng)鬼吵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任篮赢,我火速辦了婚禮齿椅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘启泣。我一直安慰自己涣脚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布寥茫。 她就那樣靜靜地躺著遣蚀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上芭梯,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天险耀,我揣著相機(jī)與錄音,去河邊找鬼玖喘。 笑死甩牺,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的累奈。 我是一名探鬼主播贬派,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼费尽!你這毒婦竟也來(lái)了赠群?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤旱幼,失蹤者是張志新(化名)和其女友劉穎查描,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柏卤,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冬三,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了缘缚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勾笆。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖桥滨,靈堂內(nèi)的尸體忽然破棺而出窝爪,到底是詐尸還是另有隱情,我是刑警寧澤齐媒,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布蒲每,位于F島的核電站,受9級(jí)特大地震影響喻括,放射性物質(zhì)發(fā)生泄漏邀杏。R本人自食惡果不足惜术荤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一蒸苇、第九天 我趴在偏房一處隱蔽的房頂上張望红柱。 院中可真熱鬧结闸,春花似錦、人聲如沸锦援。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)腕侄。三九已至小泉,卻和暖如春勒叠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背膏孟。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拌汇,地道東北人柒桑。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像噪舀,于是被迫代替她去往敵國(guó)和親魁淳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 寫了個(gè)顯眼的標(biāo)題与倡,就真得說(shuō)幾句有用的話界逛。 5月份一個(gè)很偶然的機(jī)會(huì),加了葉神的微信纺座,還收到了祝福息拜。一激動(dòng)就承諾說(shuō)寫...
    batbattle閱讀 13,422評(píng)論 1 57
  • 基礎(chǔ) 不管是Android基礎(chǔ)還是Java基礎(chǔ)以及常見(jiàn)的數(shù)據(jù)結(jié)構(gòu),這些是無(wú)原則地必須要熟練掌握的净响,尤其是非計(jì)算機(jī)專...
    JxMY閱讀 2,792評(píng)論 2 48
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,104評(píng)論 1 32
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,938評(píng)論 2 89
  • 昨天帶孩子去書展少欺,一轉(zhuǎn)眼的功夫,小家伙就不知跑哪去了馋贤,人流熙熙攘攘赞别,想問(wèn)人或找人求助都不好描述。碰到這種情...
    托尼在廈門閱讀 633評(píng)論 0 50