阿里中間件團隊一面:
第一步:先自我介紹前端
首先要介紹本身的項目經驗和我的的擅長點,由於面試官主要考察你的表達能力和語言精簡能力。git
簡歷的編寫其實這裏可能須要注意幾點;github
1.標題的直接按照姓名-幾年工做經驗-應聘崗位格式來填寫。面試
例如 XX——X年工做經驗——Android開發高級工程師。由於要知道,HR篩選簡歷是很是快的,你要在第一時間就讓他看到他想要看的信息。HR一開始最關心的就是工做年限和崗位,你直接在標題欄用最大的字體寫出來會比不少人介紹了半天項目最後寫年限要好得多。
2.我的信息寫最前面。算法
我的信息欄其實不用寫不少東西,最主要的就是姓名、聯繫方式、性別、若是學校是名校那麼就寫上,若是本科學的是計算機專業也能夠在這裏寫上,若是都不是就最好放到最後去寫,由於最前面的東西永遠是最早看到的內容,也是你最有競爭力和賣弄的資本。安全
3.有技術博客和github開源項目的必定寫在最前面。性能優化
這是活生生的例子。我在面試華爲的時候面試官就特地去看了個人csdn上的博客。而後說寫的仍是不錯的,給他留下了一個不錯的印象,因此這點是絕對的加分項最好就是寫在最前面。 刷面試題這塊其實一開始我並無刷特別多,也就是簡單的看了下一些基礎性的知識點。由於我始終以爲看的越多越記不住,並且最重要的是你根本不知道面試官會怎麼問,與其盲目的看知識點倒不如先出去找幾家小公司面試找找感受,知道面試官會針對哪些地方詢問,再回來針對性的看。網絡
第二步:項目中作了什麼,難點在哪裏?框架
主要是想了解你本人蔘與過技術難度最大項目的難點,技術難點在什麼地方,你是如何去解決的,考察項目經驗(技術難度)。ide
第三步:開始切入技術面試正題:
1.Activity的啓動模式、standard、singleTop、singleTask、singleInstance的區別。
這裏須要重點注意的是singleTask啓動時候的回調onNewIntent以及不一樣棧之間的Activity如何跳轉。我在面試騰訊的時候就被問到過這個問題。
2.Service的啓動模式和生命週期。
會延伸到Binder和IntentService,這裏最好去看下IntentService的原理和源碼。看了源碼以後還會延伸到HandThread的問題。推薦我本身的博客文章,Service 、IntentService
3.Android消息機制Handler。
這是常問也是必問的問題,除了要知道內部原理和源碼之外還要清楚形成內存泄漏的緣由和處理方式。從源碼的角度來談談面試常客Handler的內部原理
4.事件分發原理。
這裏主要會問事件分發的流程以及進行攔截時候onInterceptTouchEvent返回true時剩下的MOVE與UP如何走,onTouch、onTouchEvent、onClick的前後順序關係。談一談Android中的事件分發
5.AsyncTask內部實現原理。
這個在平安人壽以及投哪兒網二面領導問道過。主要是AsyncTask內部如何實現的,內部處理多任務是串行仍是並行處理,爲何是串行處理,若是讓其變成並行處理等。從源碼角度談談AsyncTask的使用及其原理
6.LruCache算法如何實現,內部爲何要用LinkHashMap來實現。 談談LruCache算法的底層實現原理及其內部源碼
7.進程之間的通訊方式,IPC原理。 這裏會延伸到AIDL和Binder。
8.進程之間的優先級。 前臺進程、可見進程、後臺進程、不可見進程與空進程。騰訊面的時候還特地問了我進程的保活措施。
9.圖片的壓縮處理。
這裏會問四種圖片格式的區別(ARGB88八、RGB56五、RGB44四、Alpha_8),以及問給出一張以上格式的圖片如何計算圖片所佔的內存大小。
10.Serializable與Parcable的區別。 在什麼狀況下須要用到序列化和反序列化,Serializable中爲何要設置UID,設置UID與不設置UID值的區別和影響。
11.動畫總結。 重點是屬性動畫內部實現原理,差值器和估值器的使用。
12.Android中斷點續傳的原理、熱更新的原理。 珍愛網面試個人時候問了這個,當時沒了解過,很遺憾的沒回答出來。
13.Android的性能優化。 佈局優化(include、merge和viewstub標籤的使用)、繪製優化(不要在onDraw方法裏面建立新的對象)、內存泄漏優化,檢測內存的方式和內存泄露形成的緣由等。
14.網絡請求原理。 http與https的區別、三次握手和四次揮手,爲何握手必定要三次?爲何揮手必定要四次?http的響應碼。http1與http2的區別等。
15.開源框架的使用和原理。 OkHttp內部實現、glide的內部原理、EventBus源碼和RxJava的使用過程注意事項等。
我印象中差很少就是問這些東西,其實都是很基礎的Android知識,只是問的比較深刻,若是不明白內部的實現原理不少問題實際上是回答不上來的。因此仍是要多看源碼才能瞭解本質問題。
最後問的就是算法.這個算法基本大公司都會問。緣由很簡單,一個公司以爲你連算法這麼難的都會了,那麼其餘的知識即使如今不會回去看下學習下很快就能掌握。而且我聽聞有這麼一種傳統,在國外相似於Google、Facebook這種公司,通常面試問的就全是算法,並且是很難的算法。只要你算法過關了,那麼無論你作沒作過Android開發,你均可以去Android部門工做。
第四步: 你是想作業務仍是研究?
主要是想考察你對技術是否有深刻的研究興趣,建議回答喜歡研究,畢竟招聘的是技術崗位。
阿里二面:你有什麼要問個人嗎?
這是咱們大部分面試者都會遇到或者都會被問到的問題。若是你回答 「 沒有 」,這每每被一些面試官理解爲:你對應聘公司、工做崗位沒有太大的興趣。可能會讓面試官產生誤解,而影響面試評判。 若是你回答 「 有 」,一時間又容易腦子短路,可能會不知道該問如下哪一個問題:
問企業發展?怕面試官以爲這我的好虛,有點不切實際
問薪資待遇、假期福利?又怕面試官以爲這我的沒有事業心,入職了也不會呆過久的,成天就想着休息…… 那怎麼辦?
首先,你必須提問
面試每每是互相瞭解事後,面試者處於被動狀態,這個時候面試官將問題拋出,你必須把握住主動權,讓面試官知道你是認真對待此次面試,而不是敷衍的流水線面試。 那麼,問什麼呢? 無論面試官是HR、部門領導,仍是老闆,如下問題均可以幫你輕鬆度過難關,並且你還能從面試官的回答中獲得不少意外收穫:
你在公司的一天是如何度過的?
這個簡單的問題可讓對方口若懸河的講述他一天的工做,面試官會說一些比較自豪和有意義的事情,同時也會有一些瑣碎的事情。在聽的過程當中,你也能感覺到將來工做中是否有你的興趣點,以及最無聊的那個部分你是否是能夠接受。同時也能夠從中推估到你的將來發展,由於升職後也會有一天成爲他。我去騰訊面試的時候就問了這個問題,而後他說了下他一天干的活,我才知道騰訊的加班是有多嚴重,我曾跟他說我每週一二四加班,本覺得他會說你加班真多啊,結果沒想到他來一句說你加班也很少呀,咱們不少都是十二點之後走的。我當時就懵逼。這樣比你直接問他公司加班多嗎要好不少。
可否給我簡單介紹下貴公司業務與戰略的將來發展?
在實際運用時,要取決於公司的業務範圍。聽聽面試官的計劃,這可顯出你關注公司總體和將來的發展。同時也能夠從他們的談論中瞭解到不一樣公司在同一個行業的狀況,對你準備其餘公司的面試也會有所幫助。面試一些小公司的時候我就喜歡去問這個問題,經過這個問題我就大概能清楚知道這些公司適合不適合我還有就是能夠知道老闆究竟是喜歡扯淡仍是真正的一個實幹家。
貴公司最讓你自豪的企業文化是什麼?
注意!通常狀況下,這個問題比較適合用在面試大公司的職位時,固然如今有很多創業公司也是很是看重企業文化的。經過這個問題,你能夠從面試官口中瞭解到公司的工做氛圍和一些非硬件的環境狀況,同時也能夠在面試官表達的過程當中去留意他的肢體、感情的表達。若是從身體語言上都表達出認同公司的文化,那說明該公司在企業文化建設方面作得不錯。同時你也能夠自我假設一下是否能夠融入這種氛圍。
團隊、公司如今面臨的最大挑戰是什麼?
這個問題比較安全,也是一個能夠引發面試官興趣的話題。一來這個問題不會暴露你對公司的不瞭解,二來也能讓你對將來工做的挑戰或困難有一個提早的預期。除此以外 ,這類問題用的好,會很容易增長印象分。特別當面試官是外國或海歸人士時,比較直接一點絕對不是壞事兒!
對於將來加入這個團隊,你對個人指望是什麼?
若是面試官將會是你的直屬上司,那麼這個問題會讓你的利益相關者一開始就有一個感受,你是一個很是在意他或者團隊,而且願意傾聽的候選人。這樣對於快速的培養起一段專業的合做關係是頗有幫助的,同時也能夠更理解他對你的指望值。也能夠初步判斷出他是一個成果導向,仍是過程導向的上司;是一個由上至下思考,仍是一個下至上思考的領導。若是把握準確會更會令面試官以爲:你是一個會作好準備而且有同理心的人,這絕對是加分項。
我指望參與團隊合做達成共同目標,您能夠給我舉一個公司中團隊合做的實例嗎?
這一問題也是要根據你面試的企業狀況來定奪,若是面試的是大企業,同時又是外企,那麼合做對於他們來講是必須的,由於不少事情你一我的是不可能完成,因此天然會很是看重你對合做的態度。經過這個問題,可讓面試官知道你有強烈的合做傾向。同時從回答中,你也能夠感覺到這個公司團隊合做的狀況如何。
經過剛纔的面試交流,您以爲我還有那些不足?
這幾乎是我面試都會回問的問題。經過這個問題,我就可以知道本身在他們眼裏的不足之處,回去能夠作好的修改。例如,我在面珍愛網的時候,他們給個人評價是基礎還行,可是深度不夠而且對本身將來的職業規劃不清晰。由於我回答了我想作大前端,而後轉管理。他們就以爲你一下想作技術一下又想作管理,這目標不清晰。因此後來我就直接說本身想作大前端,就沒有說再後來轉管理的事情了。
阿里技術三面:
三面不是面試,而是筆試,耗時三個小時,考的是Android核心的基礎。
大概說一下就是有幾個考點:
1.Activity的生命週期。
2.顯式Intent和隱式Intent的區別?
3.Android的系統結構。
4.講講Android開發中的性能優化。
5.給了一個Logcat打印的錯誤信息,解釋錯誤是什麼緣由?
阿里HR面:
聊人生談理想,主要仍是考察你對工做是否持積極的態度,以及你是否穩定,自信發揮就能夠了。
面試耗時將近30分鐘。
最近分享,我在平時學習整理的資料,免費分享
https://shimo.im/docs/GsAQFU7...