2018-08-07 11:28:19 1386瀏覽
這幾天,小編收集了一些面試干貨。因為參加Android培訓(xùn)的也會進行一系列的面試。這幾天會持續(xù)送給大家。今天的知識預(yù)熱一下啦,從明天開始會給大家案例~先看看今天的內(nèi)容吧~今天是別人家的孩子!
基礎(chǔ)
不管是Android基礎(chǔ)還是Java基礎(chǔ)以及常見的數(shù)據(jù)結(jié)構(gòu),這些是無原則地必須要熟練掌握的,尤其是非計算機專業(yè)的同學(xué),面試官一上來肯定是問你基礎(chǔ),要是基礎(chǔ)表現(xiàn)不好很容易被扣上基礎(chǔ)不扎實的帽子,常見的就那些,只要你平時認真思考過基本上面試是沒太大問題的。
算法
基本上每家公司都會有算法題,我當(dāng)時是看了左程云的《程序員代碼面試指南》,重點看了數(shù)組跟鏈表,二叉樹沒有去刷算法題,對于二叉樹的掌握在于三種基本的遍歷以及在排序算法中堆排序中用到的二叉堆,然后每道算法題都先自己去實現(xiàn),先寫思路,然后自己去實現(xiàn)一遍,然后再看看答案,記住答案的思路,第二天再重新按照答案的思路實現(xiàn)一遍,這種效果非常好,我沒有去刷很多題目,而是想通過這種方式去分析常見的算法題,所以我不大建議去刷算法題,首先作為客戶端開發(fā),涉及不到很多的算法,第二,面試的時候考的算法大部分都是很基本的數(shù)組組跟鏈表構(gòu)成的,最后算法這個東西是個無底洞,個人覺得沒必要去刷題,刷題可能對小公司有用,但是大公司更看重你解決問題的能力。
虛擬機
JVM
對于Java,加載的是Class文件,一般會問到Java運行時的內(nèi)存分配,類加載機制以及GC,實際上后面兩個問地比較多,尤其是GC相關(guān),往往結(jié)合四種引用出題,最后會通過這個來引出內(nèi)存泄露相關(guān)的一些問題。
DVM&ART
Android的虛擬就DVM以及ART是對JVM做了一些優(yōu)化,加載的是dex文件,對Class字節(jié)碼做了一些優(yōu)化,這個里面其實挺復(fù)雜的,我只知道一些基本的概念。
ClassLoader
這個其實要是問起來其實是有很多東西的,如果是Java相關(guān)其實還好,會問你類加載機制,但是Android里面除了Java的類加載機制之外,還會引出插件化跟熱修復(fù)。
JNI
基本上稍微大點的公司都會問到,不過我的回答始終如一:我只能看懂C的代碼,項目中沒有用過JNI,當(dāng)然這個屬于加分項,因為我當(dāng)時的選擇是把我用過熟悉的東西研究地滾瓜爛熟,而不是在自己平時很少接觸到的東西上面搞個一知半解。
Binder
Binder系列,各種AMS,WMS,PWS,常問到的有APP的啟動流程,然后兩個Activity相互跳轉(zhuǎn)的時候的生命周期,Activity的生命周期。
心態(tài)
不要想著什么都會,那樣不現(xiàn)實,比如說我對Binder機制以及熱修復(fù),插件化這塊兒確實了解地比較淺顯,也跟高德,愛奇藝等公司的面試官聊過這個話題,這些屬于加分項,不會影響到最終的面試結(jié)果,還有就是算法,面試最多考一道或者兩道算法,所以沒必要在這方面花太多的時間,掌握好常見的數(shù)組跟鏈表,二叉樹/堆了解一下,基本就夠了,公司看重的是你解決問題的能力,你把原理掌握好,常見地基本上都沒什么問題。
當(dāng)你基礎(chǔ)知識OK,自己用過的東西的理解地有深度,解決問題的能力OK,如果面試官想要你,那么他會去找你的優(yōu)點,反之他會去找你的缺點。所以如果你想進某家公司,那么你就按照他們的要求去面,就算面不上那么也沒什么,只能說不合適,然后查漏補缺繼續(xù)面,不要因為某一次或者幾次的不順就否定自己,有些公司的面試官就是喜歡裝,而且還是大公司的。
學(xué)歷很重要,我的學(xué)校只是個普通一本,相對一般,所以投了很多知名互聯(lián)網(wǎng)公司簡歷都過不了,就連好大夫在邀請我面試的時候特意問了我是不是統(tǒng)招一本,任何行業(yè)都看重學(xué)歷,不僅僅是IT,那些說學(xué)歷不重要的基本上都是一些學(xué)歷比較好的或者是在Android比較火地那個階段開始搞地Android,他們這批人往往會覺得在03年跟18年加入的阿里的難度是一樣的,那些覺得學(xué)歷不重要的可以去看看張雪峰老在《演說家》中的演講,不要說什么3年以后公司就不看學(xué)歷了,學(xué)歷是一輩子的事情,那些高考能夠碾壓你的人,出了社會只要他們愿意,照樣能碾壓你,你努力,你拼命,別人也不會睡大覺等你。
科班很重要,如果你本科學(xué)地是非計算機專業(yè),任何一個面試官或者HR都會認為你基礎(chǔ)不行,你需要花很多的時間去精力去補基礎(chǔ),然后再花時間跟精力在HR不Pass掉你簡歷的情況下摘掉基礎(chǔ)不行這頂帽子。
工作背景很重要,如果你有大公司背景給你背書,相同的崗位,你進入的門檻比有大公司背景的人要高地多,如果你有大公司背景,不管是面試官還是HR都會在你面試前給你打一個較高的基本分,這個是很有利于你通過面試的。
不過上面都是既定的事實,你沒法改變,所以當(dāng)意識到這些問題的時候,我只能去不斷地提升自己的能力,去花更多地代價去獲得一個面試機會,去證明自己的能力進而進入到一個比較好的平臺。
以上這篇就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持扣丁學(xué)堂,想要了解更多詳情請登錄扣丁學(xué)堂官網(wǎng)咨詢或者關(guān)注微信公眾號,里面有最新的扣丁學(xué)堂Android視頻教程等你來看!
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“Android開發(fā)技術(shù)”的相關(guān)資訊>>