臨近面試卻還沒準備好?大廠內部面試官權威的Android面試指導,帶你彎道超車!

南方吳彥祖_藍斯發表於2021-05-17

提供最權威的網際網路面試指導,讓你關鍵時刻彎道超車~

主要分為兩部分:

1. 找工作 2. 職業技能提升

找工作是百分比,職業技能是基礎。可能職業技能是100分,但是技巧有問題,最後只發揮60%那隻勉強及格。如果職業技能只有60,但是發揮了120%,最後能得72分~

1. 找工作

a. 簡歷包裝

專案經驗,大概介紹專案是做什麼的,自己擔任的角色(可以適當最佳化,比如我是負責人或者主要開發)

專案介紹裡寫一點開發過程中遇到的難點,核心功能, 這部分寫自己掌握的熟悉的。即使專案實際沒有,也要把自己熟悉的編進去,比如我對圖片這塊特別熟悉,就可以說專案中遇到了OOM異常,然後如何去網上找框架研究原始碼最後解決問題。

最近的專案里加自己最熟悉的核心點, 一般面試官會問你最近或者讓你選你最熟悉的專案詳細介紹。

其他專案只會大概問下或者問感興趣的。所以其他專案中也可以適當加些自己熟悉的功能到描述中。

俗稱挖坑

面試官有時候也不知道自己要問什麼,基本對著簡歷看到哪問到哪。

所以要挖礦讓他往裡跳引導到自己熟悉的區域, 就可以了。一通亂侃以後時間差不多了面試官其他問題也不會多問了。

技能描述等模組也不要簡單的寫熟悉四大元件,熟悉常見佈局等套話。也可以適當挖坑,寫幾個常見的然後寫幾個熟悉的,比如熟悉圖片二級快取...

一招鮮吃遍天~

簡歷重點就在於專案描述你是主力開發, 介紹其中的難點表明你真實的高參與度,以及挖坑讓人跳。專案少也可以適當自己網上下些開源專案自己看一遍然後補充在簡歷裡,不要寫影片播放器這種。加一些工作中可能會用到的,比如微博微信這類的, 讓專案儘量包含不同型別。

b.面試

簡歷中的坑可以對付大部分情況

最好隨身帶安卓手機安裝自己最熟悉的專案然後給人演示,尤其應付不熟悉安卓的面試官這招最好。

同樣是挖坑技巧, 比如介紹列表時就可以說,開始我們這個列表滑動很卡,因為有圖片載入 然後我就最佳化了圖片...然後又引入到自己最熟悉的模組了。挖坑對方不跳的時候就自己各種話題往自己熟悉的地方引。

遇到答不上來的問題

首先誠實表明這個模組工作上沒有遇到過 ,自己不熟悉。然後表明我手裡整理了大量的demo教程資料等,或者論壇裡看見過。表示如果公司需要做這樣的功能,我可以很快的學習然後投入到實際生產中,做出來(我學習能力強)

然後虛心請教面試官,這個問題我不會,你能否簡單的和我介紹下這個知識點呢。

如果對方說了,最後可以表示又學到新東西了,對方不說的話就表明我要記下來回去學習下(表達我很有進取心,對技術有渴望,而且虛心, 又能讓對方傲嬌一下)

最後談薪資

之前面試要表現的很自信,談價錢也要很自信,開口可以提高點,比如市面上2~3年均價是1w,你開口就要1.5w。然後看對方反應適當討價還價一下,儘量多要,然後多面試幾家

如果面試不透過。記下來面試沒答出來的問題,回去研究好,繼續下一家, 基本所有面試問的問題都是那幾個。

2.職業技能提升

找工作用技巧, 實際工作還是要真實力。

首先所有知識點都要大概瞭解,比如aidl ndk等我也不熟悉...要閉關研究下了。最好能筆記記下來,推薦印象筆記,然後簡單整理下。如果要用的時候可以直接找到筆記參考,而且記錄過的印象會深刻,面試的時候說我有demo資料等也包含這個。

基礎能力

主要是工作上常用的東西, 要更熟悉, 然後多練習,重點是多寫,比如工作中80%的工作都是在寫頁面, 網路請求熟悉, 解析成json, 顯示到頁面或列表上。

還有下拉重新整理載入更多,常用第三方庫, ViewPager瀏覽圖片,多個Fragment頁面的切換顯示等。

工作之餘可以寫個專案練手,比如新浪微博,提供sdk,所以後臺不用管。自己重點把工作中常見的幾個模組都重點練習下。上班有工期壓著不考慮這麼多,自己寫的時候可以慢工出細活。東西其實不多,不常用的可以跳過,基本寫個1~2次以後工作再用到就會輕鬆很多,基本都是複製貼上了。以後還可以不停的完善模組,因為是可以反覆利用的,完善可以去網上多看看找專案瞅瞅,借鑑參考。

非重點功能就可以跟基礎功能一樣,筆記記下來,方便以後再次使用時快速撿起,不用全部都完全掌握,太累。

常見功能搞定,非常見功能可以很快查詢資料解決。基本達到2~3年中程水平了,而且是超過市面上平均線的水平

進一步提升

重要標準是獨立開發。所以要熟悉市面上常見框架,網路請求的Volley Retrofit 等, 圖片的UIL, Picasso, Glide,Fresco等。常見的第三方控制元件框架PullToRefresh, SlidingMenu等。

只要做到熟練使用框架即可,不用太細緻看原始碼什麼的,當然重點還是要練習,自己獨立寫個專案。這種就需要網上完整的介面了,和工作上相似的那種介面文件樣式的不是微博的SDK封裝好的。推薦Bmob或AVOS的Restful API,可以參考我的嘿嘿嘿動態圖專案用Volley + Glide/UIL寫一套。頁面爛點沒關係,直接參考微博或者其他app的樣式, 圖示直接用安卓機器人或谷歌提供的預設圖示即可

業餘時間寫,估計1~2個月基本也就完成了,但是技術會有一個飛躍,從主力開發到獨立開發。

獨立開發是一個很重要的標準+1~

到這裡應付公司大部分專案主要功能的, 基本算是OK了。

開發還有一個最重要的技術點是** debug能力**,一般是日誌+斷點。尤其是斷點一定要多使用多練習,既能幫你定位錯誤也能幫助你瞭解執行順序和程式的流程。

寫程式碼一定要細心,但是錯誤肯定無法避免,邏輯業務類基本都可以斷點搞定。

SDK類問題, 比如系統無法拍照啊, SDK方法返回空啊報錯啊,推薦google和stackoverflow搜,有道詞典翻一下文字部分,程式碼基本是可以直接看懂的。

業務方面

技術以外業務方面也需要注意,這部分屬於經驗, 比如多頁載入功能伺服器要提供哪些資料啊。在列表之外還要提供總數量,然後本地要判斷已載入的資料數量是否小於總數量,控制是否繼續載入更多。大點的比如微信這樣的app需要哪些功能啊,推送系統要如何處理啊等等,這方面我經驗差...

無法提供太多參考,所以也吃了虧,要重視這部分。

繼續深入

基本獨立開發就OK了,可以擔當Team Leader了,如果對技術有追求的話再看這部分。我也屬於探索中,分享下經驗。

關注最新技術

Gitub裡Android最多star的幾個專案,MaterialDesign MVP, 響應式程式設計等等,沒事逛逛國內的技術論壇,英語好的國外的也可以看看。還有谷歌的官方文件一定要看。

原始碼研究

一方面看別人的一些核心技術如何實現的,比如UIL的圖片壓縮,Volley的網路請求的執行緒池處理。還可以看開源專案, 別人整個app的結構,可以是很好的參考。還有就是面試的時候可能要求高點的也都會問到原始碼,不用仔細到看每一行。核心部分的比如圖片壓縮,雙快取能大概記住就行。

程式碼封裝

原則上是去除重複程式碼,比如兩個地方都使用一個功能程式碼,如果是寫兩份,那如果要修改的時候就得兩次。如果是寫在十個地方而且經常修改...

封裝沒有聽上去的那麼高大上,把握這個原則就可以了,主要還是服務於開發。

至於MVP什麼的都是高階點的,探索中... 到這裡可以多看專業的程式設計書籍繼續升級。

細節

應付工作,基本就是執行正常OK,但是要對自己寫的程式碼有追求,那就要注意細節。

最常見的是UI問題,文字歪了,圖示小了,不對其什麼的,不是技術問題,主要是細心認真。新建個評論後要將新資料增加到列表上而不是重新重新整理等等這類細節都要對自己要求嚴格。這樣程式看上去更好了,才會對內部的程式碼更加追求優美。至於程式碼, 以前看書裡說過,加註釋只是一個輔助。真正優美的程式碼應該是結構清晰命名規範,不要任何註釋都可以直接順暢閱讀。

其他

討論,也就是多去論壇或者和同事探討技術 實踐,最重要的部分,就是多寫。 教授給他人,可以在記錄筆記後,把自己比較熟悉的部分整理一下發到網上教授給他人。

寫教程的過程中你就會發現很多細節都缺失,而且會收到反饋問一些常見的細節的你會忽視的地方, 返回過來幫助你繼續提升。

最重要的,為了維持"高人"的顏面,你會逼著自己去更努力的學習,這樣才好寫出別人都喜歡的教程。

Android進階學習

接下來分享的系統學習資源以 詳解各大網際網路公司的 Android 常見面試題為主線,從面試的角度帶你介紹必備知識點,以及該知識點在專案中的實際應用

幫你在現在的基礎上,重新梳理和建立 Android 開發的知識體系。 無論是你短期內想提升 Android 內功實力,突破自己工作中的能力瓶頸,還是準備參加 Android 面試,都會在這份資料中有所一些收穫。

從架構基礎開始,分了8個模組來逐步從基礎進階到架構師的環節:

多餘的話就不講了,接下來將分享面試的一個複習路線,如果你也在準備面試但是不知道怎麼高效複習,可以參考一下我的複習路線,有任何問題也歡迎一起互相交流,加油吧!

首先是超級詳細得不能再詳細的 Android開發學習思維導圖,因為圖片實在是太大了,所以我就只把二級目錄的內容放出來,更加詳細的你們可以點選** **。

接下來就需要梳理知識,提升儲備了!(Android移動架構師七大專題學習資源)

  • 架構師築基必備技能: 深入Java泛型+註解深入淺出+併發程式設計+資料傳輸與序列化+Java虛擬機器原理+反射與類載入+動態代理+高效IO
  • Android高階UI與FrameWork原始碼: 高階UI晉升+Framework核心解析+Android元件核心+資料持久化
  • 360°全方面效能調優: 設計思想與程式碼質量最佳化+程式效能最佳化+開發效率最佳化
  • 解讀開源框架設計思想: 熱修復設計+外掛化框架解讀+元件化框架設計+圖片載入框架+網路訪問框架設計+RXJava響應式程式設計框架設計+IOC架構設計+Android架構元件Jetpack
  • NDK模組開發: NDK基礎知識體系+底層圖片處理+音影片開發
  • 微信小程式: 小程式介紹+UI開發+API操作+微信對接
  • Hybrid 開發與Flutter: Html5專案實戰+Flutter進階

知識梳理完之後,就需要進行查漏補缺,所以針對這些知識點,我手頭上也準備了不少的電子書和筆記,這些筆記將各個知識點進行了完美的總結。

然後再是透過原始碼來系統性地學習

只要是程式設計師,不管是Java還是Android,如果不去閱讀原始碼,只看API文件,那就只是停留於皮毛,這對我們知識體系的建立和完備以及實戰技術的提升都是不利的。

真正最能鍛鍊能力的便是直接去閱讀原始碼,不僅限於閱讀各大系統原始碼,還包括各種優秀的開源庫。

刷大廠面試題備戰,增加大廠透過率

歷時半年,整理了這份市面上最全面的安卓面試題解析大全。

1.可以透過目錄索引直接翻看需要的知識點,查漏補缺。 2.五角星數表示面試問到的頻率,代表重要推薦指數

以上這些內容均免費分享給大家,需要完整版的朋友, 。或者點選 【 】 檢視獲取方式。

最後還有耗時一年多整理的一系列Android學習資源: Android原始碼解析、Android第三方庫原始碼筆記、Android進階架構師七大專題學習、歷年BAT面試題解析包、Android大佬學習筆記等等,這些內容均免費分享給大家。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983917/viewspace-2772681/,如需轉載,請註明出處,否則將追究法律責任。

相關文章