0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Android工程師的面試經(jīng)驗分享

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-09-05 09:06 ? 次閱讀

我想把自己所經(jīng)歷的求職這一點(diǎn)小事分享給大家,或許其中有些東西可以借鑒。我知道有很多跟我一樣剛畢業(yè)并且有一些Android開發(fā)基礎(chǔ)知識的同學(xué),他們可能現(xiàn)在困惑,也可能現(xiàn)在不自信,當(dāng)然可能還有更多的著急。這一切的根本原因可能在于自己掌握的Android知識點(diǎn)少,項目經(jīng)驗有限。然而不用擔(dān)心,一切只會變好,只要我們向前。

我的背景

我是2016屆畢業(yè)的學(xué)生,我的專業(yè)是信息管理與信息系統(tǒng)。在大三的時候也是自己學(xué)了一點(diǎn)Android基礎(chǔ)知識并且在大四的時候在某個互聯(lián)網(wǎng)公司實習(xí)過,我想大部分人都與我差不多,都可能是同一個技術(shù)水平。當(dāng)然這里排除那些在初中就會用VB的同學(xué)了。

互聯(lián)網(wǎng)公司

在我求職的過程中,收到的面試邀請通知60%是培訓(xùn)機(jī)構(gòu),這個原因很可能是自己應(yīng)屆生的標(biāo)簽加上簡歷上的描述不夠?qū)I(yè)。20%是外包公司,剩下的20%就是純互聯(lián)網(wǎng)公司了。在這樣的一個情況下,你可能拒絕去培訓(xùn)機(jī)構(gòu)面試,拒絕去外包公司面試,而直接去純互聯(lián)網(wǎng)公司面試,這樣做是不明智的,只要是面試你就去。

下面是我的一個關(guān)于面試流程以及面試問題的總結(jié),這些面試問題不可能每個公司都是這樣的,但是對于我們這些面試經(jīng)驗少同時技術(shù)水平有限的人來說或許會有一些借鑒意義。

HR面試

自我介紹

你了解過我們公司嗎

說說你的優(yōu)勢

請簡單介紹一下你所做的項目

在這個項目里面你具體負(fù)責(zé)哪些內(nèi)容

你為什么離職

你為什么選擇Android開發(fā)而不是IOS開發(fā)

當(dāng)出現(xiàn)一個問題時你是怎樣解決的

……

技術(shù)面

1.項目層1

技術(shù)面項目層這里要分三種:1.公司已經(jīng)是A輪以上的公司或產(chǎn)品接近成熟了的更傾向于問你具體做的項目; 2.公司是天使輪投資的公司更傾向于從他們的一個產(chǎn)品出發(fā);3.外包公司比較傾向于看你做的項目的多少了;

所以自己在接到面試通知的時候,要首先觀察公司的性質(zhì),然后再去找相應(yīng)的側(cè)重點(diǎn)。比如,在這里我面試的是一家天使輪的公司,我在官網(wǎng)上把產(chǎn)品下載下來了,然后逐漸從App的引導(dǎo)頁到登錄頁再到主頁逐漸各個頁面進(jìn)行分析。緊接著把它其中所涉及的知識點(diǎn)進(jìn)行抽離出來,并統(tǒng)一歸納。最后就是對這些知識點(diǎn)進(jìn)行熟悉與掌握了。

比如我們舉個例子:X產(chǎn)品是一個以社區(qū)為主的App,并且它支持微信登錄、分享、收藏、支付等。然后我們就從這些簡單的東西中挖掘出知識點(diǎn)。如下所示:

微信登錄、分享、收藏、支付是怎么做的?

在這里普遍人的回答是直接進(jìn)入微信開發(fā)平臺然后下載相應(yīng)的SDK并參考相應(yīng)的技術(shù)文檔一步一步進(jìn)行實現(xiàn)。這樣回答的話雖然沒什么可挑剔的,但是沒有突出亮點(diǎn),在這里應(yīng)該圍繞著X產(chǎn)品在進(jìn)行第三方登錄時其內(nèi)部的邏輯是什么樣的?是不是先有一個在微信上的認(rèn)證過程,然后認(rèn)證成功后,在X產(chǎn)品中喚醒某個界面然后接下來又是什么操作?要具體到整個操作的細(xì)節(jié)邏輯。

圖片上傳、壓縮、裁剪、緩存處理

因為社區(qū)類型的X產(chǎn)品展示了大量的圖片。所以說對圖片進(jìn)行處理肯定是經(jīng)常要遇到的,所以在這里自己就要去總結(jié)與圖片相關(guān)的基礎(chǔ)知識點(diǎn)了。

內(nèi)存優(yōu)化(參考《Android開發(fā)藝術(shù)探索》)

眾所周知,每一個App都需要進(jìn)行相應(yīng)的優(yōu)化。特別是對于那些界面非常豐富的產(chǎn)品了,在這個問題上我

們可以從以下幾個方面闡述內(nèi)存優(yōu)化。

1.布局優(yōu)化 方法:減少布局資源文件的層級;因為層級少了,Android繪制的工作量也就少了。可以采用相應(yīng)的標(biāo)簽;

2.不要在onDraw()方法里面創(chuàng)建對象和執(zhí)行耗時操作,因為onDraw()被頻繁調(diào)用;

3.內(nèi)存泄漏優(yōu)化 方法:靜態(tài)變量導(dǎo)致Activity無法正常銷毀;屬性動畫導(dǎo)致內(nèi)存泄漏;當(dāng)播放動畫的時候沒有進(jìn)行停止,這樣在Activity銷毀的時候就無法對Activity進(jìn)行回收。

4.ListView與Bitmap優(yōu)化;

5.線程優(yōu)化 方法:采用線程池的形式這樣可以避免大量線程的產(chǎn)生,同時在線程池里面可以對線程進(jìn)行重用,并且線程池里面可以控制線程的最大并發(fā)數(shù)。這樣的話避免了一定的系統(tǒng)開銷同時也可以避免大量的線程因搶奪資源而阻塞;

6.其它優(yōu)化 方法:比如避免創(chuàng)建過多的對象;常量使用static final 來修飾;采用內(nèi)存緩存與磁盤緩存等等;

文件存儲

這一點(diǎn)基本算是基礎(chǔ)知識點(diǎn)了,我們除了要掌握那幾種存儲方式還要知道它們具體的在什么情況下用?怎么用?用的時候注意什么?并且能夠熟練的使用數(shù)據(jù)庫,如果能夠?qū)懗鲆恍┹^為一點(diǎn)難度的SQL語句,比如子查詢、多表查詢等那就更好了??赡苓@里有的公司會直接給你幾個關(guān)于SQL語句的測試題。

框架

現(xiàn)在一些網(wǎng)絡(luò)請求框架、數(shù)據(jù)解析框架、數(shù)據(jù)庫存儲框架這也是可能要問到的問題。X產(chǎn)品在請求網(wǎng)絡(luò)數(shù)據(jù)的時候若用到一些框架時那很可能是比較流行的Volley、OkHttp、Retrofit等,所以我們在這里要做好準(zhǔn)備,比如我用過Volley,那么肯定熟悉Volley的優(yōu)缺點(diǎn),除了這一點(diǎn)外,我們還要比較這三者之間的區(qū)別,并且要熟悉它底層是具體怎么做的。

其它

剛開發(fā)出來的產(chǎn)品不可能是完美的,所以你就盡可能的去發(fā)現(xiàn)其中的不足,越是明顯不足的地反就越說明是這家公司薄弱的地方,那么在面試的時候提出關(guān)于這方面的問題概率就很大。隨便舉個例子,比如X產(chǎn)品對Activity的啟動模式表現(xiàn)出來的邏輯有點(diǎn)不友好,那么你發(fā)現(xiàn)后就得自己清楚的去熟悉Android的四種啟動模式。細(xì)節(jié)很重要,多去尋找總會有收獲。

2.基礎(chǔ)層1

基礎(chǔ)層上面的話會問一些關(guān)于Java的知識點(diǎn),同時也包括Android的基礎(chǔ)知識點(diǎn)。這里我就不一一列舉了,Java的話還是要注重在線程上,包括同步、異步等等。當(dāng)然還可能問到關(guān)于集合方面的知識,常見的是ArrayList與LinkedList之間有什么區(qū)別?而關(guān)于Android方面的話基礎(chǔ)知識也就是四大組件、數(shù)據(jù)傳遞、消息機(jī)制、設(shè)計模式這些了。

CEO面

關(guān)于CEO面試的話這里就不涉及到技術(shù)了,但是在這個環(huán)節(jié)我們要展示我們積極向上的心態(tài)以及勤奮好學(xué)充滿激情。CEO或者是創(chuàng)始人最愿意跟你聊的是互聯(lián)網(wǎng)行業(yè),什么O2O,B2C…。這些我也是暈了??赡茉谶@一點(diǎn)上他是在考察你是否對互聯(lián)網(wǎng)這個行業(yè)關(guān)注。還有問你你怎么看待這款互聯(lián)網(wǎng)產(chǎn)品在大眾面前這么流行的?在這個時候你就要去找到這個產(chǎn)品的特點(diǎn)并順著這個特點(diǎn)一直說下去然后發(fā)表你自己的看法最后基本上沒什么問題的了。我自己覺得在這一層面試上我們要盡量多發(fā)表自己的看法,表達(dá)出自己的熱情,這樣就可以證明我們在某個問題上是獨(dú)立思考并且有主見的。

結(jié)語

這也是自己面試大概5次得出來的一個想法,一點(diǎn)經(jīng)驗,分享給大家。如果能幫助到你最好了,同時在找工作的時候沒有資金來源的我們會非常沒有安全感,特別是自己一個人在大城市的時候。但是大家不要灰心,也不要心冷,要充滿自信。我們可以在一次一次的面試中成長這也是一件非常愉快的事情。如果在面試的時候的發(fā)現(xiàn)自己哪個知識點(diǎn)不熟悉的話回來后要立刻熟悉,立刻實戰(zhàn),最后共勉。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3939

    瀏覽量

    127641
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1571

    瀏覽量

    68574
收藏 人收藏

    評論

    相關(guān)推薦

    電子工程師經(jīng)驗分享

    電子工程師在實際工作中積累了豐富的經(jīng)驗,這些經(jīng)驗對于新手工程師和電子專業(yè)的學(xué)生具有重要的參考價值。 一、電路設(shè)計經(jīng)驗 電路設(shè)計核心思想 電路
    的頭像 發(fā)表于 01-14 10:14 ?56次閱讀

    面試題】人工智能工程師高頻面試題匯總:機(jī)器學(xué)習(xí)深化篇(題目+答案)

    隨著人工智能技術(shù)的突飛猛進(jìn),AI工程師成為了眾多求職者夢寐以求的職業(yè)。想要拿下這份工作,面試的時候得展示出你不僅技術(shù)過硬,還得能解決問題。所以,提前準(zhǔn)備一些面試常問的問題,比如機(jī)器學(xué)習(xí)的那些算法
    的頭像 發(fā)表于 12-16 13:42 ?2018次閱讀
    【<b class='flag-5'>面試</b>題】人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總:機(jī)器學(xué)習(xí)深化篇(題目+答案)

    面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)

    隨著人工智能技術(shù)的突飛猛進(jìn),AI工程師成為了眾多求職者夢寐以求的職業(yè)。想要拿下這份工作,面試的時候得展示出你不僅技術(shù)過硬,還得能解決問題。所以,提前準(zhǔn)備一些面試常問的問題,比如機(jī)器學(xué)習(xí)的那些算法
    的頭像 發(fā)表于 12-13 15:06 ?562次閱讀
    【<b class='flag-5'>面試</b>題】人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總:Transformer篇(題目+答案)

    人工智能工程師高頻面試題匯總——機(jī)器學(xué)習(xí)篇

    隨著人工智能技術(shù)的突飛猛進(jìn),AI工程師成為了眾多求職者夢寐以求的職業(yè)。想要拿下這份工作,面試的時候得展示出你不僅技術(shù)過硬,還得能解決問題。所以,提前準(zhǔn)備一些面試常問的問題,比如機(jī)器學(xué)習(xí)的那些算法
    的頭像 發(fā)表于 12-04 17:00 ?927次閱讀
    人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總——機(jī)器學(xué)習(xí)篇

    需要無刷電控硬件工程師

    需要無刷電控硬件工程師,地點(diǎn)東莞松山湖。最好有5-10年經(jīng)驗,大功率電摩電控。有意私聊。
    發(fā)表于 09-11 22:51

    正是拼的年紀(jì)|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    嵌入式軟件工程師如何提升自己?

    的發(fā)展打下堅實的基礎(chǔ)。 2.掌握專業(yè)技能 除了基礎(chǔ)知識外,嵌入式軟件工程師還需要掌握專業(yè)的技能。這包括熟練掌握嵌入式系統(tǒng)的開發(fā)工具、硬件平臺和軟件開發(fā)流程。建議通過參加培訓(xùn)課程、實習(xí)經(jīng)驗或自學(xué)等方式
    發(fā)表于 06-12 11:20

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    ,并且了解嵌入式系統(tǒng)的工作原理。此外,他們還需要具備良好的邏輯思維能力,能夠快速解決復(fù)雜的軟件問題。嵌入式軟件工程師在軟件開發(fā)方面有著豐富的經(jīng)驗,能夠編寫高效穩(wěn)定的嵌入式軟件,并且熟悉實時系統(tǒng)開發(fā)和調(diào)試
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15