最近在給公司招Android開發人員,面向兩個方向,Framework和App,近一個月的時間以來,整體特色是Framework方向近乎無人問津,而App方向則簡歷「氾濫」,想招個靠譜的夥伴真的不容易。最近的工做時常被頻繁的面試安排打斷,面試之餘,想總結一下這段時間的感覺。儘可能從面試流程的各個環節都有一些涉及,看成回憶也好,經驗也罷。看成給本身的沉澱吧。前端
基本沒有「正規軍」出現,這也在個人意料之中,這個方向的人材稀缺,基本都待在大廠裏不出來,由於對於系統級別的定製化改造真的是「搞事情」,資源的投入是巨大的,大廠都不必定搞得好的東西,況且對於一個像咱們這樣的小做坊呢。由於也不是緊急的須要,因此和領導肯定的方案是花多一點的時間,放長線,廣撒網,另外,利用人脈關係從大廠爭取撈人。面試
不得不先提一個小插曲,根據業務的進展,先放出的是Framework方向的崗位招聘,天天收到的簡歷寥寥無幾,領導(領導不是很懂Android)問我,Android就這點人?我笑而不語,領導你等着。App崗位一開放,天天數倍的簡歷壓過來,領導沒再說什麼了,以前和我一塊兒審簡歷的工做也不參與了。後端
兩個印象,一個是如今是90後的世界了,另外一個是女生們多了,這算是廣大男同胞們的福音嗎?網絡
大部分的簡歷仍是那個老生常談的問題,太千篇一概了,讓人看了提不起興趣的那種,順帶的水分也就不提了,各類精通~可能你們內心都有數。多線程
簡明到只有各類榮譽證書各類精通,卻沒有具體的項目介紹,想簡明能夠貼個做品連接啊,那些證書、精通的咱們真的不太在意,咱們只但願能多瞭解一些你的工做經歷,固然咱們真的但願你能精通。app
21歲5年Android開發經驗,Sorry,我是趕上神童了嗎?我hold不住啊!10年Android開發經驗的,Sorry,我是趕上Rubin級別大神了嗎?我只能膜拜,豈敢讓您屈尊。框架
簡歷毫無排版可言或排版混亂,讓我有閱讀困難的,Sorry,太出衆了。不要求炫,但至少能達到平均大衆水準吧,找個模板也行啊,都是出來找工做的,這幾乎就是第一印象,你怎麼就忍心讓本身輸在起跑線上?post
團隊目前比較小,因而領導幹起了HR的活,由於還有後端前端的招聘,因此面試安排統一由領導來統籌,親自給篩選出來的簡歷人員打電話邀請面試,贊一波領導。然而,那些沒來參加面試而又沒有通知咱們的朋友們,不知道大家是怎麼想的,答應的好好的,就算不來,也許你的臨時日程和咱們的安排衝突了,也許你有了更好的選擇了,都不要緊,來個電話或發個消息稍加說明,咱們都能理解,我會給你安排新的時間或祝你新工做愉快,將來有機會再合做。信譽在哪?換位思考一下,我不知道,朋友,你還會不會這麼作。與人方便便是與己方便。學習
對於面試,想說多一點,特別是技術點搜索引擎
這個方向的內容若是要問深度的那就要多深有多深了,鑑於收到的簡歷和來面試的人不多,我把條件放寬了許多,儘可能從靠近app層的知識面入手提問。
ART、Dalvik和JVM的關係及區別是什麼?這是道送分題,並非真的要說出它們的深度區別,但若是你不知道ART是什麼,我以爲你不夠關注行業發展,靠這個平臺吃飯,不關心它,怎麼都說不過去。
例舉一下Android系統級服務,在App層通常都用過哪些?如何實現一個自定義的系統級服務?漸進式的問題,後邊的有難度,若是沒有Framework定製經驗或沒有研讀過系統源碼真的很差回答了。
Binder機制。難,基本個大概的概念也沒有多少我的說的全的。
Launcher的實現。並不是只有manifest裏的launcher配置,其實要是能回答PackageManager、ActivityManager對應用包的管理和應用進程的管理,會有加分,由於有了這些,纔算是個基本能用的Launcher。
系統級app和第三方應用級app分別在什麼目錄下?一個第三方的app可否直接放到系統級app目錄下而又能正常運行?純經驗題,若是沒倒騰過ROM,基本回答沒戲了。
能不能單獨編譯一個系統級應用?ROM編譯環境配置及編譯腳本題。
JNI,共享庫和靜態庫的區別和使用場景,JNI中C/C++和Java相互調用各自使用的機制是什麼?偏app方向的題了。
如何限制第三方應用安裝?
Android高速發展了快十年時間,平臺軟件開發如今已經到了各類框架、輪子滿天飛的時代了,給應用軟件的開發帶來了極大的便利,我也在用別人的框架和輪子。但我不太喜歡在面試中聽到「這xxx功能用框架實現就行了啊」。咱們的職位需求明確了兩年以上的工做經驗,若是你這兩年了還只會用框架而又對框架說不出個一二三,那是否是不那麼對勁?更別說張口閉口就百度一下了,我還會谷歌呢。相信如今面試的基本也都刷過那麼幾套面試題、幾本xxx寶典,但一些經驗並不能靠刷題能刷出來或者能理解牢靠的,因此,這方向的面試我喜歡問細一點的問題。
Activity創建在哪些窗口組件之上?順帶涉及View的事件傳遞問題。
什麼狀況下,Activity的onNewInstent()方法會執行?Activity的啓動模式相關。
Activity A使用startForResult啓動Activity B,B什麼都不作並返回A,A中的onActivityResult回調是否會執行?
Fragment可否不依賴於Activity存在?簡析一下Fragment的棧管理。
可否將一個Activity放到系統的最近任務列表裏,獨立於宿主app任務卡以外?
對於同一個Service,在被start啓動以後還能不能被bind?
Service有哪些派生類?這些派生類的使用場景是什麼?
Service與其它組件之間的通訊實現方式有哪些?
View的post(Runnable r)方法裏,r會帶來一個新的線程嗎?多線程相關。
在非UI線程中使用Handler須要注意哪些問題?
自定義View時有哪些重要的方法,它們的做用及執行順序是怎樣的?
如何單獨對ListView上的一個item進行更新?
簡析一下大圖片的加載處理。
設計師只給了一套1280*800的UI圖標註,如何進行其它分辨率尺寸屏幕的適配?
6.0系統新權限機制的解決方案。
大家精通的開源框架,問題來了
EventBus的機制是什麼?和Handler的區別怎樣?
RxJava的機制是什麼?
Butterknife的機制是什麼?
Okhttp是基於HTTP鏈接仍是Socket鏈接?
例舉一種ORM框架,說說它的優缺點。
若是你寫着精通各類框架,而上面的問題又回答不上來或者模棱兩可含糊不清,只一個勁的說這些框架很方便你用的很是遛,那我認爲你和我精通的沒什麼區別,我精通Windows, Mac, Linux系統電腦的開關機,還精通C/C++, Java, PHP, Python, Ruby等的書寫。
就算框架橫飛的今天,Android應用開發仍是離不開基礎四大組件、線程進程間通訊、View處理(UI、各類事件)、數據存儲消費、網絡通訊、平臺特性碎片化適配等這些基礎的原理,框架也都圍繞着這些模塊來建造,萬變不離其宗,知其然也要知其因此然。
題目還有不少,好比以上還未列出Java部分的題,都不算什麼過高明的面試題,不能所有例舉了,不一樣的人根據不一樣的經驗及具體項目進行提問,通常面試過程前15分鐘便可分辨一個面試人員可否達到符合條件需求,因此,如何在這個時間段內最大限度的表現本身的能力很重要。
評估的因素其實會有不少,臨場發揮因素,抖腿、眼神飄忽、回答聲音低小、遇難題岔開其它話題等,都是很差的臨場表現。技術面的方向及深度因素,術業有專攻,面試題答不上來不表明就什麼都不行,面試官也有本身的業務方向考量。這裏,還想說一點是,有些朋友過來像是純粹爲了面試而面試,並不關心公司是作什麼的,咱們有官網,招聘啓事上也有相關說明,然而問起時卻一頭霧水,或者徹底不知道公司的業務和產品,也是比較尷尬了,沒有用心準備一個面試,明顯會被減分。即使真的不關心之後要作什麼,也總得知道一下想加入的公司大概是怎樣的,要不,這簡歷投遞的意義是什麼?
咱們面試基本有兩輪,過了個人技術面,領導會接着再面,兩面都過了纔有可能成爲之後共同的夥伴,因此,我也會傾聽領導的面試反饋,調整個人面試要求和尺度,畢竟新夥伴是給整個團隊找的,儘可能能選到與團隊氣質符合的夥伴,因此,不光是技術面,更是綜合面的考量。傾聽反饋,作好下一次面試,節省領導的時間,也是節省本身的時間。
以上,是這段時間對面試的一些拙見,無所謂乾貨,純我的感想,找一份滿意的工做不容易,找一個對味的夥伴不容易,且面且珍惜。有一個Framework方向的小夥感受挺惋惜的,作Android智能手錶系統級軟件定製兩年時間,一直有機會接觸Framework層,但上邊的那些基礎題都沒有答到點上,問他爲何會這樣,他感慨太忙了,基本只是在作老闆給他安排的那些重複性的軟件移植適配工做,Framework有其它同事負責,他就沒什麼關注了,現在出來了可就不必定那麼好的機會再去研究了。小夥子人很謙誠,若是咱們如今是大公司,可能我會選他,能夠培養,可眼下,只好放棄了,祝願他接下來找到合適的機會。忙是個客觀理由,不是個主觀藉口。眼界的開闊不該該羈絆於躊躇的當下。因此,標榜「太忙了,顧不上學習新東西或其它東西」、「那些東西只有用到的時候纔去搜索找方案」的朋友,好好準備,再出發吧,但願你不僅活在搜索引擎裏。 我其實也挺浮躁的,爲了儘快招到幫手,一天多則可能會參加主持六七場面試,對精力是很大的消耗,會在某一些場次中出現一些毛躁的心裏情緒而影響正常的提問評估。面對面的你和我,折射了一個行業的現狀。 我也有本身的目標,不久的將來,就會離開這個城市,投身於新的環境,可能意味着要從零開始,也將會由面試官變成被面試者,接受別人的考察評判,要懷着敬畏的心。 這篇文章,獻給我本身,若是你正在找工做趕着面試或者正在面試別人,看到這篇文章,能提不一樣的意見,也是最好不過。