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