Android面試總結2017版

近期我司招聘,我去面了一些android開發的哥們,如下由近期面試總結得出的體會,以技術面試60分鐘爲基準,根據我去面試和麪試別人的經驗,我把整個面試流程大概規劃爲如下幾個部分:android

1. 10%的時間去看自我介紹,瞭解基本信息,離職緣由,工做組成員狀況

這裏就是簡歷上的基本信息,基本上只要表達能清晰流利就能夠了,噢,據小夥伴說有可能還要看一眼 是否是"老鄉",雖然我徹底不理解這所謂的老鄉關係能帶來多少的安全感,離職緣由的話,其實度娘一下, 這裏不須要你真正的緣由,可是須要一個合理的緣由,這裏說度娘不說谷歌,是由於我發現好大一部分人對 Google的剛需沒那麼大,包括裝了過濾廣告插件的我,更有甚者,還有一部分開發人員的第二開發工具居然 不是谷歌瀏覽器.面試

2. 15%的時間去驗證基本水平

  • 1.經常使用工具使用,Git的使用,經常使用第三方庫.這裏基本沒人會犯錯,基本名字確定能說一兩個,即便不作任何面試準備.

比較離譜的是有一個哥們,問基礎的時候感受答的不是很好,拿出項目我問那個模塊他作的,好不容易找到一個簡單的頁面,問實現居然也是吞吞吐吐,因而我就很機(狡)智(猾)地問了下: 你如今用的androidStudio(第一開發工具)是什麼版本的,他遲疑了一下,居然說很久沒看忘記了,我心想這TM就尷尬了,連吃飯的傢伙都不瞭解,即便是真的這樣,那最近新出了一個3.0大版本,只要近半年關注了任何一個android開發相關的公衆號或者網站,一定能看到這個條信息,看了以後仍是不去關注本身使用的版本的,那這職業心性基本至關於玩王者榮耀不買裝備還想越塔強殺人家,分分鐘回血池等復活.算法

  • 2.基礎的Java知識點,包括集合,數據類型,三大特性,多線程,網絡基礎tcp相關;還有android基礎的一些組件,基本的控件的如fragment,listView,四大組件等等,這裏雖然像我本身也壓根日常沒有刻意關注這些,就是有個基本印象,可是做爲應聘的人,這些問題起碼能夠看出對面試的準備和態度.

我認爲無論技術如何,在應聘的時候都要從新去梳理一下基礎的知識結構,這裏都尚未講到算法呢,手寫最簡單的冒泡排序和二分查找都能過濾一大片了,然而在面向瀏覽器編程的階段,糾結於這些對於實際的結果沒有什麼有利的影響.編程

  • 3.態度很重要,面試並不能徹底看清楚一我的的水平,我在面對技術比我厲害的人,本身也有點心虛,可是在技術能達到要求的前提下(此處在我看來標準是吹技術不過於裝逼併且能不被我拆穿的狀況下),招人在能知足工做要求的前提下,固然是找看的順眼的啦.

3. 45%的時間去聊項目

  • 1.以及項目中經常使用的技術點,不要問插件使用和第三方SDK的使用,這些看文檔找博客基本能完成,前面確認了工做經歷的狀況以後,此處再問這些並不能體現真實的工做能力,關注的點,我認爲第一個是看負責的模塊的實現,去看對方的表達的思路,考慮技術實現的想法是否符合其項目履歷和工做經驗年限,首先是能回答出來項目的實現,而後能順便講講本身在其中經歷的難點和過後的思考最好了.瀏覽器

  • 2.涉及第三方庫,如網絡框架,Okhttp,Retrofit,Volley,圖片處理框架Glide,Picasso,ImageLoader等,首先聊使用的場景,仍是聊遇到的問題,解決的辦法.接下來問用的順手的,問下里面的實現,okhttp有本身封裝嗎,攔截器瞭解過嗎.到了圖片框架,我通常問下用在什麼地方,裏面的一些源碼看過沒有,緩存的算法,以及橫向的使用對比等等.緩存

  • 3.針對提到的項目點延伸出來相應的問題.能夠聯想到的.安全

好比簡單的列表,ScrollView嵌套listView,這裏能夠問出滑動事件衝突的解決,view的繪製流程到自定義控件的實現思路,事件分發機制的處理機制以及相關使用,談到glide加載圖片,能夠聊到數據量大的處理,圖片0OOM問題的處理,線程池的理解和自定義相關微信

  • 4.問一下對一些經常使用的庫或者業務技術的瞭解.

好比微信支付流程這個問題,我每一個人都問了,每一個人都說作過,沒有一我的能完整統籌地回答出來,這個問題說大不大,說小不小,可是即便是這樣,根據本身的理解老是有人能說出大概思路的,這不須要背文檔,操做過以後用心去理解一下,就能變爲本身的東西了.網絡

  • 5.模擬具體的業務場景.這個能夠舉一些例子.

好比地圖業務,相似摩拜單車行駛軌跡的記錄怎麼作,聊天業務,聊天信息爲何能實時傳輸,聊天記錄如何保持,數據持久化方面等場景,以前有一個段子說能夠拿本身目前項目中沒有解決的問題拿出去給對方解決一下.多線程

我以前去面試就遇到過別人問鬥地主洗牌,要達成隨機洗牌而後怎麼發牌達到什麼要求的實現思路,當時沒答出來,後面想一想其實這裏用集合和多線程去入手就能夠解決,另一家作遊戲,上來抓着多線程的問題虐的死去活來,如何實現用戶多個操做同時進行,併發處理等等.

  • 6.不少人秉持說多錯多的原則,我以爲這裏是除了技術問答的第二個能夠拉開差距的地方,主動的老是比被動的好點.

像我擼着代碼一頭懵逼被拉去面試,問了技術以後,沒準備好接下來問什麼,我通常就僞裝去看簡歷,拿對方寫的幾道(我就這麼百度一下的題目)看看,其實問了上面的基本接下來這塊就差很少了,這時候若是對方能順着剛纔的話題再串聯一下技術點我以爲會很好,不過沒遇到過,多是我司的逼格不夠了.

  • 6.哦,還有一個現象:寫筆試題不少半個鍾寫不完8,9道基礎題,字也是真的醜.

4. 20%時間去聊理解

  • 1.一個區分技術水平到哪一個程度的問題:對activity的理解.activity的生命週期基本每一個人都能說出來,哪一個方法怎麼用實現什麼都大概有個一二,但能不能聯繫實際的業務場景,以及有本身的思考,這就是在2-5年這個階段技術分水嶺之一,我以爲這個問題能夠看作是中級到高級的分水嶺,中級是定義爲能幹活,高級是會幹活.

有個哥們簡歷上.activity寫了精通,我就問他對activity的理解,,,他就說幾個生命週期..而後就沒有而後了. 這不就至關於勸妹紙多喝熱水了,這樣確定追不到妹紙的....

額.而後我引導他,我說能夠想一下工做中用到的場景..而後他想了一下說好像極光推送用過onResume方法..我沒用過極光推送..我想了一下,我說是否是這裏能夠相似考慮app應用從前臺到後臺再回到前臺的生命週期執行,而後聯想到推送服務只有放在這幾個方法才能保持實現..維持服務持久之類的(此處經查詢得知,正確的理解應該是廣播接受者相關的(捂臉狀態)).

因此面試官也常常是錯的嘛,面試的基本要訣和追妹紙是同樣同樣的,不要慫,膽大心細臉皮厚.(此處我有一個大膽的想法~~)

  • 2.這裏主要考慮的就是能不能從簡單介紹+業務場景+本身的思考入手,一我的說全套,相似的問題,如對http的理解,能夠本身聊項目開發中跟後臺交互的經驗,對接口和抽象類的理解,能夠談到項目結構,談到MVP和組件化的思路,由於咱們今天作的絕大部分業務和技術,都是有人已經踩過坑了,有的只是實現時間的長短和對搜索關鍵字的使用了.因此能本身獨立收穫到纔是正解.

"我不必定要這個,但你得懂."

  • 3.個人水平有限,只能舉例到這個地方,至於更深入的前沿的,我大概有幾個方向,應該是大公司所考慮的,項目代碼的複用性,混淆和熱修復的原理,視頻影音的優化,JNI的實現之類的了,

想一想平時遇到公衆號推送,看下一線互聯網公司的面試題,發現一半的東西看的懷疑人生了.

5. 10%的時間想有沒有即興想問的和對方有問題的東西.大概提一下業務的內容,薪資不是本身考慮的東西,只關注技術,若是過關天然接下來有人來談業務,不過關的話那就能夠回去等通知啦.

薪資不敢開12K以上還敢寫精通兩個字的都是傻x


總結

  • 1.無論去面試仍是面試別人,都是一次進步的機會

  • 2.找工做是實力加運氣,可是加成比例也是要看運氣的,多積攢人品老是沒錯的

  • 3.搞技術要保持危機感,不進則退

  • 4.好好努力,但願之後本身面試或者加薪,都能義正詞嚴

    以上.

相關文章
相關標籤/搜索