前言
首先更大家大致講述一下我的基本情況,本人是從一所不知名的二本學院畢業,在大學期間基本沒怎么學習,主要是忙著玩和感情方面的事,總之和一般的大學生差不多,自己對未來沒有什么明確的目標和方向,每天除了上課就是怎么開心怎么過,后面的得知大四要實習,看到一些學長學姐們就要比較困難,自己才慢慢的開始擔憂自己的未來,在大學讀時學的專業是計算機應用技術,當初選這個專業也是因為想著明天可以坐在電腦面前玩游戲,后面自己在一些招聘網上搜索了一下專業對口的職業,才發現這個行業的工資水平都挺高的,但他們對技術水平的要求也比較高,自己看到上面的要求的技能點,基本都有聽過,但自己都不怎么會,于是開始花心思學習,通過自己的一年多的學習,在最后選擇了做Android開發,
在大四的時候開始來北京作業,一直到現在,公司模板化比較嚴重,作業難度適中,但是我也非常感謝這家公司,因為他肯要我,同時因為作業難度不大,也讓我有更多的空閑時間去學習,去充實自己,

廢話我就不多說了,本文主要是我最近面試的總結心得與規劃,包含:面試準備,簡歷建議,投遞簡歷方法,面試問題,面試安排,面試前的準備,如何與面試官的交流,如何與面試官溝通,如何回答問題,期望薪資水平,個人總結,今后規劃,個人以后方向等等,
面試之前
我想更大家說的是跳槽這個東西是好,但是不建議頻繁的跳槽,你跳那么一兩次還行,可以幫你提升自己的價值,
頻發跳槽的話,不光會成為面試官害怕的一個方面,對自己的沉淀也是沒有幫助的,同時我不建議裸辭,這樣會存在太多的不定性因素,如果面試時間拖得太久,這段事件你沒有經濟收入,但是你還在支出(房租,日常生活開銷),這樣會代來無形的壓力,同時如果面試受挫,很容易失去信心,甚至懷疑自己的能力,但是離職也有他的好處,因為,有些公司可能專案非常急,需要迅速上崗,那么你離職的交接辦理也會耽誤一些時間,那么也會成為面試官考慮的一個因素,所以還是要結合自己的情況而定,
面試準備
1.面試復習
相信大家在面試前都會進行復習和刷面試題等操作,讓自己在面試中能夠更好的回答面試官提出的問題,面試的更加順利拿到OFFER,
- 面試之前我是用了半個月的時間進行復習,講自己之前看過的書籍、做個的一些專案、寫過的一些博客和一些java、Android基礎進行復習了一遍,后來我發現盡管自己花很久時間去復習,復習的成果在面試程序中體現的效果不是很大,因為不管你復習的多好,可能沒過幾天就忘記之前看的內容了,所以時間的把控很重要,可以將自己的技術強項知識點進行梳理一下,比如像:framework、性能優化、UI等等……,將自己的技術強項表示出來給面試官看,其他的面試常規知識點利用個一兩天時間進行復習牢記就好了,不用等100%掌握才去面試,因為那是不可能的事,你狠難復習得過來,自己覺得掌握個70%左右就行了,剩下的就在面試中去回顧吧,
- 不要想著完全不用回顧自己以往學過的東西,也不去準備,就等著便面試遍復習,因為即使你當初理解的熟的不能再熟,也要看,因為你永遠想不到自己的記憶力消散的有多快,有多可怕,同時當你面試的時候,你就會發現,你根本沒有時間去復習,即使你想在地鐵上看一下也是不太可能的,因為你會忙著別的或是太累或是導航去下一個地點,而沒有時間去復習,

2.簡歷制作
簡歷是我們面試前給HR和面試官的第一印象分,因為你的簡歷好與差決定了你是否有面試機會,簡歷可以說就是你的名片,
同時制作簡歷也是一種學文,一份好的簡歷往往讓人眼前一亮,所以你在簡歷中要突出重點,
- 技術特長
假設你對專案底層技術比較了解,就可以把自己了解的夠深的技術寫在上面,比如:Java序列化、泛型與反射、JDK高級動態代理、 Java高級并發原理等,如果你是音視頻技術方便是你的強項,也可以寫在上面,盡量不要有精通這個詞語出現,除非你是整的“精通”,否則就是給自己挖坑,不要寫一些太過常見的技能,這樣很難體現出你的優勢,技能特長有個10-12個左右就可以了,簡歷只要表達出你的特點,簡單明了比較好,其他的大家自己揣摩下就可以了, - 專案介紹
如果你是實習,那么你就寫在學校中做過的一些好的專案,如果你是在職就要有一定公司專案,填寫專案介紹的個數控制在2-3個即可,如果你有其他的專案經驗也可寫在上面,比如前端、后端等等,那么這會是加分項,總之專案介紹不要太啰嗦就行了,重點突出你的強項和有設計到的技術,主要功能的實作,寫出你在專案中做了那些部分內容,(這部分要描述好,面試很有可能會從中來提出問題,比如開發中遇到的問題、難點、優化、協作、調優等等) - 其他技能
如果英語有等級做好也寫上去,還有自己發個的一些博客、GitHub等也要填寫一下,
簡歷制作總結: 至于其他的對大家應該沒有難度,同時適當的包裝無可厚非,求職者想找個好作業,面試官想找個好員工,對方就像相親一樣,一定會把你的低摸個清楚的,如果相親的時候的沒問題,等孩子都有了那就晚啦,哈哈,我就是這個意思,包裝的目的是為了增加HR的通過率,這樣才會有面試機會,對我們這種渣渣來說,面試機會比面試通過與否更重要,因為面試邀請都沒有,你準備有個P用,

大家如有需要簡歷模板的可以私信回復【簡歷】兩字既可,
面試準備
-
個人準備
如果你是在大城市,一定要把手機充好電(帶著充電寶),因為去哪里都要導航,還有就是提前就多買點吃的,因為你可能為了干面試一天都吃不上飯(深有體會),帶好簡歷和紙筆, -
面試安排
如果面試邀請比較多的話,一定要用Excel做好表格,然后盡量把相同地點的安排在一起(雖然給你面試邀請的時候,會規定時間,但是你打電話溝通改時間件,一般都會同意的,大家都理解),這樣你就可以不用來回跑,可以一天面3-4個,還能節省時間和體力,我把我的表格拿出來,你們可以做個參考:
大家可以根據自己的情況自己創建,安排和查看都很方便,
-
面試排期
面試多的話,不要一天排超過4個,2-3個最好,有時候可能會趕不上,同時會給人家造成不好的印象,同時對自己太多勞累(面試比作業累多了),
面試程序
這一節主要是記錄我的一個面試程序,感興趣的可以繼續往下看,不感興趣的可以直接跳過,不強求,
擬合未來
- 這公司面試體驗很好,一共三輪面試,技術面二面,HR一面,
- 一面: 自定義view、Handler機制、組件化和插件化、HashMap的原始碼、retrofit和okhttp的原始碼用到了哪些設計模式、NDK靜態庫和動態庫編譯流程、openGL渲染模式、Android中的影片有哪些它們之間的區別、談談mvvm,
- 二面: 講之前做的專案負責哪塊,根據業務采用什么架構、使用過哪些設計模式,專案中遇到哪些棘手的問題,如何解決的,
- 三面: HR整體問下以前公司的情況等問題
- 總體下來基本面試官都是根據簡歷來問的,體驗心得就是要對自己以前做的專案也好好梳理,提前組織好語言,挖掘專案閃光點,
百度
- 這里主要負責的業務是手機百開發,總共面試了三次,
- 一面內容:
- java參考,以及參考佇列,以及使用場景;
- 拆裝箱
- LeakCanary
- map
- 線上性能監控
- SharedPrefrence 遇到的問題
- 手寫演算法
- 二面內容:
- Handler
- 行程間通信
- 序列化
- 影片,
- native崩潰捕獲原理
- 結合專案提問
- Recyclerview的點擊事件原理
- 啟動一個空的apk,回啟動幾個執行緒
- 手寫演算法
- 三面內容:
- 跳槽原因
- 原來公司規模
- 預期薪資
- 個人優勢
- 個人體驗心得:
- 簡歷上寫的一定要了解,并且知道原理
- 多熟悉專案,找出一些能聊得功能點
- 崩潰捕獲,以及解決(java ,native)
- 優化需要知道(大廠都會問)
- 了解由點到面,需要把知識連貫起來
apus(總共三面)
- 一面: 問了java基礎,java synchronized和volatile 關鍵字的作用,問了hashMap陣列大小為什么是2的次方,如果經過一次擴容,元素下標會變嗎,sharedPreference commit與apply的區別,還有apply為什么會造成anr,view的繪制流程,如何檢測應用幀率,gradle的一些知識(沒答出來,具體問題忘了)
- 二面: 可能是看我對view的繪制流程比較了解 就主要問了這一塊的內容,測量、布局、繪制,然后拿出了一個效果,問我怎么實作
- HR面: 公司是北京和鄭州這邊協同辦公,經常要和那邊協作,如果出了問題,如何解決
- 個人感受: 基礎要熟悉,如果一面有哪一個方向回答的好的話,二面就可能深入到那個方向深入的問
中軟國際
- 崗位業務榮耀手機內置APP-主要負責推送,一共兩面
- 一面: 問的專案中哪些用到了hook技術,是怎么實作的,Okhttp底層原理,點擊應用圖示的啟動流程,hashmap在java7和java8的區別,為什么要引入紅黑樹
- 二面: 專案是怎么搭建的,用到了哪些技術點,arouter用到了什么技術點,是用來解決什么問題,socket底層原理,是如何帶領團隊的,一個功能是如何從分析需求到落地的
- 個人體驗心得: 盡量圍繞簡歷上的點來刷面試題,不一定都要研究透徹,被問到自己不熟的點,可以盡量嘗試著往自己熟悉點帶,例如之前我被問到pms是怎么管理package資訊的,我就說目前我對pms了解不深,主要也是研究了ams,然后就把自己了解的說一下就好了,
杭州紅花朵朵(總共三面)
- 一面: Fragment和Activity生命周期聯動,及Fragment顯示與隱藏的一些方法,Handler原理, View繪制流程,事件分發,APP從安裝到啟動都做了什么,設計模式相關,
- 二面: 執行緒都有那些狀態,執行緒鎖相關的東西,對稱與非對稱加密,HTTPS請求程序,陣列,鏈表,紅黑樹二叉樹等一些資料結構相關的東西,還有一些開放性的問題
- HR面: 自由回答
- 個人體驗: 基礎最重要,不僅要會用,還要知道其中的原理,
京東到家(總共三面)
- 一面: 執行緒,行程,訊息,通信,handler,okhttp
- 二面: 事件分發,java一些基礎,演算法
- 三面: 聊專案
- 體驗: 除了技術,溝通,理解能力要好
阿里巴巴
- 面試的崗位是音視頻開發,總共是 3輪技術面+1輪HR面,
- 一面內容:
- MediaCodec連環炮:MediaCodec報錯,只有錯誤碼,沒有任何其它資訊,如何解決?使用MediaCodec遇到了哪些問題?同步使用和異步使用有什么區別?
- 如何計算音頻幀,一幀音頻幀有多大
- YUV基礎知識,相比于RGB減少了多少空間,YUV 各個分量都是0實際渲染出來是什么顏色的,NV21和NV12有什么區別
- MP4是如何存盤音視頻檔案的,它是什么結構
- OpenSL 相關的問題,如何使用,可以干什么不可以干什么
- 結合專案問題
- 二面內容:
- SurfaceView和TextureView區別
- OpenGL ES相關問題,MVP矩陣左乘和右乘有什么區別,什么是外部紋理,為什么叫外部
- OpenGL如何渲染一個View
- VBO是用來干嘛的解決什么問題
- 結合專案問問題
- 三面內容:
- 專案是什么架構,如何設計的,為什么這么設計
- 演算法題:字串反轉
- 平時如何學習的
- 個人感受: 音視頻開發感覺OpenGL ES問的比較多,這方面多看看LearnOpenGL這個網站的教程,多加體會,
其實還有幾家小型公司的面試,我就不在此一一的說明了,因為文章篇幅長度有限,所以就挑選了幾個自己覺得面的還不錯的公司進行跟大家分享,慶幸的是等到了自己想要的 阿里 OFFER,
面試通用問題回答技巧
自我介紹
這個時候往往是面試官看你簡歷內容的時候,但是我們的介紹也要簡單明了,可以從這幾個方面:
- 個人資訊:簡單的個人資訊介紹(名字,年齡等),大學,畢業時間
- 公司介紹:上家作業主要方向,日常做什么作業,你承擔什么角色等
- 個人特色:比如你課余事件喜歡看書,寫博客等介紹
個人職業規劃
那我來說,我會在以后的1-3年學好java基礎,資料結構與演算法,主動去了解后臺開發,同時在公司業務方面的Android方向深入,堅持看書寫博客,再學一門語言等
向面試官提問
- 對這次面試做個總結和對我評價(其實就看也看出是否有意向)
- 根據面試,您覺得我的能力是否能夠勝任貴公司的作業
- 您覺得我哪方面知識需要深入學習或者我的不足在那些方面,今后我該注意什么
這些問題不僅能幫助你,還能對這次面試做到心中有數,
個人總結
其實面試也是個學習程序,之前沒有好好理解,在這些面試之后平時不注意,需要學習的方面就顯露出來了,這樣也能知道自己的不足,也能幫助自己以后的職業規劃的學習方向,
今后計劃
準備好好作業,靜下心來,好好沉淀自己,多總結開發的問題,提升自己個人能力,雖然Android現在不那么景氣 ,但是既然決定做Android那就好好去學習,去深耕技術,
最后我整理了一些 Android 面試中比較常見的知識點和Android 相關技術點的學習檔案,并記錄在我 GitHub中,大家點擊下方小卡片查看進行參考學習,



轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/302822.html
標籤:其他
