成年人在线观看视频免费,国产第2页,人人狠狠综合久久亚洲婷婷,精品伊人久久

我要投稿 投訴建議

Android開發(fā)工程師面試試題

時間:2024-11-04 22:20:47 曉璇 面試試題 我要投稿
  • 相關(guān)推薦

Android開發(fā)工程師面試試題

  很早就想寫一下面經(jīng)總結(jié)一下自己最近的經(jīng)歷,然而面完以后人一下子就懶了,緊張不起來了,一拖就拖到了十一,如果來不及對今年找工作的同學(xué)有幫助,那對來年春招或者更小一些的學(xué)弟學(xué)妹有所參考也是好的,還是寫一下吧。下面是小編為大家收集的Android開發(fā)工程師面試試題,歡迎閱讀與收藏。

Android開發(fā)工程師面試試題

  一、網(wǎng)易內(nèi)推面試(電話一面、杭州二面、跪)

  其實呢,內(nèi)推有兩大好處,一是不用筆試,二嘛,電話面試,發(fā)揮余地就很強了(我不細說了 大家都懂的),而且一般不會問復(fù)雜的算法,就算問也只會問個思路,對我這種算法白癡來說簡直是贊到不行。

  一面:

  電話面,中午12點整,面試官好像很著急去吃飯的樣子。說話特別快,而且問問題一旦聽幾個字感覺你像是知道,馬上就打住問下一個問題,一共問了15分鐘,20問題,java部分問比較基礎(chǔ),Android稍微問到了內(nèi)核。

  java部分:

  1、jvm分區(qū),GC(基本上后續(xù)所有地方面試都問了,基礎(chǔ)中的基礎(chǔ))

  2、volatile和Synchronized區(qū)別

  3、原子性、可見性的概念

  4、進程與線程的區(qū)別

  5、線程池的概念、好處、常見的線程池舉例

  6、Callable和Runnable的區(qū)別

  7、HashMap的內(nèi)部原理

  8、ConcurrentHashMap原理

  Android部分:

  1、Android的存儲方式

  2、Handler、Lopper、MessageQueue

  3、AsyncTask 為什么java已經(jīng)有線程池的實現(xiàn)了,還要繼續(xù)使用AsyncTask,AsyncTask相對于java自帶的線程池的好處

  4、onTouch事件的處理機制

  5、說一下MVC以及其在Android中的應(yīng)用

  6、說一下OOM以及你怎么解決的

  7、了解Android的Framework么

  8、說一下一個Android APP從點擊打開開始,是怎樣展示在用戶面前的(Zygote、Ams、Wms等)

  網(wǎng)絡(luò)基礎(chǔ)部分:

  1、TCP、UDP的區(qū)別

  2、TCP的三次握手、四次揮手

  3、HTTP的特點

  4、HTTP與HTTPS的區(qū)別

  二面:

  杭州現(xiàn)場面,一個月了路費還沒報銷回來。現(xiàn)場面是一個看起來很囂張的面試官,看你的眼神從頭到尾都充滿了鄙視,從一開始的感覺就很不好。

  1、viewpager里面只能嵌套view嗎 可不可以嵌套Activity

  2、假如viewpager里面的每一頁都有有很大數(shù)據(jù)量的內(nèi)容,那么在快速的左右滑動時,如果出現(xiàn)了內(nèi)存被回收的情況,如何處理 假如出現(xiàn)了OOM,怎么處理

  3、同上情況,使用Fragment,又當如何?與viewpager有什么區(qū)別

  4、ExpandableListView的Adapter怎么寫

  5、在ListView的每個item中如果可能出現(xiàn)的view都不一樣,如何處理?動態(tài)獲取view種類數(shù)量的話是不是就不能使用viewHolder進行優(yōu)化?固定顯示view如果不存在該種view就不顯示的方法是否太耗內(nèi)存

  6、ListView的Adapter的getView具體是什么機制?

  7、Activity之間傳遞大量的數(shù)據(jù)用什么方法

  Binder

  Bundle不夠大

  Socket 在同一應(yīng)用中沒必要使用

  共享內(nèi)存

  static變量——同一應(yīng)用中static變量如何控制,會不會并發(fā)出問題,如果Activity由于內(nèi)存不足被kill掉,再重啟的時候static變量的值還可靠嗎:設(shè)置專門的訪問類,進行讀寫控制,以及Activity重啟后的初始化工作。

  8、SQLite在使用時 假如ActivityA是用于修改SQLite,ActivityBCDEF。是用來展示SQLite的內(nèi)容,如何在修改SQLite的同時使得BCDEF...都立刻獲得最新的數(shù)據(jù)?SQLite有沒有類似于ContentObserver的這么一種監(jiān)視類可以監(jiān)聽到SQLite內(nèi)容的改變?如果廣播通知所有類,那么廣播可以攜帶多大的數(shù)據(jù)?

  9、假設(shè)把一個ActivityB向右滑動可以回到上一個ActivityA,B漸漸透明,A漸漸清晰,要怎么編寫頁面?說說你對android:theme的理解,說說你對alpha值的理解

  10、ListView在數(shù)據(jù)量很大圖片很多的情況下怎么優(yōu)化?假如一個圖片,輕輕的向上滑動一丟丟,那么需要重繪嗎?(什么鬼。)

  11、詳細展開說一下所有LaunchMode的應(yīng)用場景

  假如A-》B-》C,想讓C后退直接到A,使用什么樣的intentflag?

  假如A-》B-》C,C使用singleTask,C后退,后退到什么地方呢?

  12、在全屏顯示高清大圖的時候,網(wǎng)速慢的情況下如何顯示?漸進式顯示是怎么做到的?如果想顯示下載進度圈圈,該如何實現(xiàn)?

  13、AsyncTask在4.x以后有什么改變?怎樣改回并發(fā)執(zhí)行好多個?如果一個AsyncTask結(jié)束取得結(jié)果之前Activity就因為內(nèi)存原因被Destroy掉了,那會有什么情況發(fā)生?會內(nèi)存泄露嗎?會空指針嗎?需要在Activity徹底死掉之前把AsyncTaskcancel掉嗎?如果沒有cancel掉,然后Activity重啟了,那這個Asynctask又當如何呢?

  14、AsyncTask內(nèi)部實現(xiàn)機理 與Thread+Handler有什么不同

  15、說一下HandlerThread

  16、你的APP里,是每個Activity都有一個Handler呢還是所有Activity共享一個Handler

  17、基于事件監(jiān)聽、基于事件回調(diào) 假如一個touch事件發(fā)生,那是監(jiān)聽先收到還是onTouch函數(shù)先收到

  18、假如你要記錄ListView滾動到的位置,要記錄什么信息,view怎樣獲得坐標信息

  19、說一下canvas

  20、dialog和popupwindow的應(yīng)用場景 如果popupwindow在沒有dismiss的時候Activity finish了,會出現(xiàn)什么情況?

  21、了解過什么三方庫?為什么不用三方庫?

  22、你覺得安卓的未來在哪里?你自己為什么都用IOS了?

  23、Service和推送通知,通知有沒有可能出現(xiàn)有推送但是通知欄收不到通知?service被kill掉會如何?如何保證service不被kill掉

  24、了不了解Scrollview scrollview和ListView有什么相似點 有什么不同 那如果這兩個是繼承關(guān)系 那應(yīng)該是誰繼承誰?

  25、dp sp px各自的應(yīng)用場景是什么 換算關(guān)系是什么 使用sp的時候如果調(diào)整系統(tǒng)字體,顯示字體會跟著調(diào)整嗎?

  26、gallery為什么被廢棄?為什么Google推薦使用viewpager代替gallery呢?有什么改進?

  27、handler.postAtTime不是延時post么 那handler怎么延時處理Message

  總結(jié):二面問的很偏應(yīng)用,面試官應(yīng)該是開發(fā)網(wǎng)易新聞,直接不看我的APP,拿著網(wǎng)易新聞的APP各種問我,你看我這里是這樣的,你說一下我是怎么實現(xiàn)的,我怎么知道你是怎么實現(xiàn)的啊真是的。 之前為準備校招相對基礎(chǔ)準備的比較多, 應(yīng)用僅限于使用過的比較熟練,其他沒接觸過的就呵呵了。最讓我生氣的是,面試官居然問我,身為一個女生,你覺得你做Android開發(fā),有未來嗎?當時真是氣死我了,做Android的女生怎么就沒未來了。

  這一面跪的很慘,面完回來就把問題全都記錄下來而且每個問題都專門找了詳細的解答,雖說面完這一面回來著實也是消沉了好幾天,期間蘑菇街打來內(nèi)推電話我還直接跟人家說改天,就是不想面了,不過后來振作回來以后也發(fā)現(xiàn)這一次挫折真的是一次相當寶貴的經(jīng)驗。

  二、美團(拿到offer)

  美團是一口氣三面面完的,其實當時三面面完的人特別多,到最后收到offer的并不是那么多,感覺決定權(quán)基本在三面面試官那里吧,這種也沒什么可說的。一二面面試官那里都是有一張表,每個面試官都要打分,我瞄了一下,有編程能力、操作系統(tǒng)。其他沒看到。分數(shù)有2.5有3據(jù)說有人還有3.5的。是美團讓我找到了之后面試的總套路,最后說。

  一面,40分鐘,除去項目介紹等,貌似并沒有問什么特殊的,我提到我平時主要做界面,所以后面的問題大多與界面相關(guān) :

  ListView的優(yōu)化

  OOM的處理

  GC原理

  循環(huán)引用的問題

  引用計數(shù)與可達性算法

  LaunchMode 這一點我之前也是簡簡單單準備的有四種,每種什么意思,然后網(wǎng)易讓我發(fā)現(xiàn)了,大家都知道這些,重點是要知道如何應(yīng)用。美團這里問到的是我A打開了B,B打開了C,C的右上角有一個叉叉,那我怎樣做到使我點擊C的叉叉,就直接關(guān)閉了BC回到A,PS,不可以用startActivityForResult

  我提到我的APP中使用到了ViewPager,面試官問,假如,ViewPager里面一頁的寬度超過了屏幕的寬度,ViewPager是怎么顯示的,這還真沒試過。

  然后問到了app是怎么通知Android系統(tǒng)頁面有刷新的,還有view的measure函數(shù)之類的,進而討論到了View樹,然后編程就讓我寫View樹。

  編程題是,因為在有的性能比較差的機型上,view樹深度過大會造成crash,那么我想做一個提醒,進入APP后首先求出這個APP的最大View樹深度,如果深度過大則進行提醒。其實就是二叉樹的最大深度只不過換成了View樹嘛,并沒有什么難度。

  二面,30分鐘,除去項目介紹等沒有什么特殊的,期間突然看到一面面試官在操作系統(tǒng)那里很可愛的寫了一句 忘了問了。

  主要問了ListView的優(yōu)化、HTTP與HTTPS、進程與線程,編程題是給定一個char,然后翻轉(zhuǎn),其實就是翻轉(zhuǎn)字符串啦,然后進一步的就是給出一個句子,翻轉(zhuǎn)這個句子但是不翻轉(zhuǎn)其中的單詞,就是劍指offer那個,也很簡單。

  然后問了一個智力題,說有十層樓,每層樓有一個鉆石,鉆石大小不一,沒有規(guī)律,電梯只上不下,只能選一層下電梯,拿走該層鉆石,問什么樣的策略可以盡量大的拿到鉆石。

  三面,20分鐘吧,基本聊人生,跟技術(shù)有關(guān)的人生,并沒有什么說的。

  總結(jié):其實這三面中,一面是答得最不好的,因為說了太多我平時是做界面的,面試官就把界面問到了比較深,然而我并沒有準備過各種view的繪制方面的知識,所以答的不是那么的好,也是一面讓我找到了我以后面試的總套路,一是要誘導(dǎo)面試官到你擅長的方面去,我這里就是典型的誘導(dǎo)錯誤==自己給自己挖坑了,所以以后尤其是騰訊,我就使用了另一套引導(dǎo)說辭。二是要逗面試官笑?赡芎軟]邊。但是我后續(xù)的各種面試基本上都是跟面試官說說笑笑的過的,好處一是面試官本身面試很無聊,能笑一下放松心情自然對你的印象好一些,二是在說說笑笑中,體現(xiàn)出來了你的溝通交流能力,這也是拿到offer以后,美團的面試官所說的,覺得我軟實力很強,可能就來源于這一點。三是說說笑笑扯閑話,時間一下就過去了,面試官對于每個應(yīng)聘者,時間大約都是有一個限度的,扯廢話時間越長,真正考察你的時間就越短,出錯的幾率就越小。

  三、百度(面完三面,居然沒消息了,呵呵呵)

  百度給我的最大感覺是,重編程,重算法,面經(jīng)都寫不了多少因為根本都沒問多少,就是寫寫寫。

  一面面試官比我大不了幾歲,上來就問我,你們學(xué)校好有意思啊,面了這么多你們學(xué)校做移動端的,居然都是通信學(xué)院的,你們學(xué)校的計算機學(xué)院的人呢?然后就扯開了,從我們學(xué)校的培養(yǎng)人才的方式扯到了阿里的擁抱變化,然后扯到了阿里的股價以及百度的股價,面試了一共50分鐘有30分鐘在閑聊,10分鐘寫了個翻轉(zhuǎn)字符串,10分鐘問了點java基礎(chǔ)的不能再基礎(chǔ)的問題,上面的公司基本都問過,然后這就過了。

  二面面試官是充分的體現(xiàn)出來了重編程,讓我自我介紹,還沒介紹完呢就說,我們寫個程序吧,我只好一臉委屈的說,人家剛剛就要說到最最重點的項目呢,然后他就讓我繼續(xù)說了。說完展示了一下自己的APP,之后就是寫寫寫了。第一個讓我寫二叉樹的深度,我想這簡單啊,在美團剛寫過view樹的,結(jié)果寫寫寫就寫岔了。面試官一看我卡殼了,說沒事,來寫個冒泡壓壓驚= =。壓壓驚。寫完冒泡以后,說,冷靜下來沒?繼續(xù)寫二叉樹的深度吧。冷靜下來寫好以后,又讓寫了個二分查找,問了個java的反射,就沒了,然后跟我說你過了,等三面吧。看我太激動了還問我,我是不是問的太簡單了。

  三面面試官跟我說,我一點都不想問技術(shù),但是這個表上有,那我們走個過場,隨便問問,就問了個android中的MVC,問了一下Activity的生命周期,沒寫代碼,然后就是聊人生了,一聊就停不下來,聊了一個半小時,還說什么別的面試官都下了要求說最多要幾個,我這里我覺得行就行,聊的特別親切,最后走的時候還送我到電梯口。然而,后來就沒下文了。沒下文了你對我這么好干嘛。

  四、騰訊(拿到Offer)

  一面重基礎(chǔ),自從美團以后我一是誘導(dǎo)面試官去我擅長的方面,二是逗面試官笑。然而一面面試官并不笑。從頭到尾嚴肅臉。

  首先問了一個智力題,說有1000瓶水,其中一瓶有毒,有10條狗,狗喝了毒水以后會在1小時內(nèi)死去,問怎樣能最快發(fā)現(xiàn)哪瓶水有毒。

  然后寫了代碼,用遞歸和非遞歸方式實現(xiàn)二叉樹的前序遍歷。

  后面我在自我介紹的時候直接就說我不是計算機出身,操作系統(tǒng)什么的都沒學(xué)過,本身是學(xué)通信的所以網(wǎng)絡(luò)方面了解比較多,然后面試官就開始,哦?你網(wǎng)絡(luò)學(xué)得好?那我問下你網(wǎng)絡(luò)。這就掉到我挖的坑里了嘛。有關(guān)網(wǎng)絡(luò)方面,這里已經(jīng)總結(jié)的比較全面,另外我自己還準備了HTTPS和TCP的慢啟動和擁塞控制,不等面試官問,直接就說,從它第一個問的就開始不停的說,把網(wǎng)絡(luò)相關(guān)的問題全都說完,面試官就一副,你果然網(wǎng)絡(luò)學(xué)的很好的表情。我覺得如果面試官問一個你答一個,可能你都答上來了但是面試還是沒有過,所以我覺得干脆在面試官問一個點的時候,把跟這個點所有相關(guān)的問題全跟他說一遍,這樣一個是你自己掌握了面試的內(nèi)容,一個是讓面試官覺得你的知識范圍的確比較廣。

  二面面試官好帥,而且很年輕,后來聽說居然是cto,驚呆了。也是照樣說項目,說擅長網(wǎng)絡(luò),然后問了TCP三次握手,為什么是三次,兩次為什么不行。還有,如果你的APP突然連接不上Server了,你怎么一步步排查出來是哪里的問題。緊接著就是智力題了,100層樓,兩個瓶子,用你的策略在最壞情況下最少扔多少次能測出來從幾樓開始扔瓶子會碎,我算出來是19次,類似于TCP擁塞控制的那么一種思想,后來出來百度了一下發(fā)現(xiàn)是14次,不過我前一個同學(xué)貌似答的是50+次,所以感覺表現(xiàn)的還行。之后問如果只有一個瓶子呢?我說那只能一層一層扔啊,最壞情況就是100次嘛,面試官一直在問,沒有更好的了么?我表示想不出來,F(xiàn)在依舊覺得沒有更好的了,如果哪位大神有更好的思路的話麻煩告訴我謝謝。

  三面HR,看人很準,說話很犀利,女的,好不擅長對付女的面試官,沒什么可說的。

  我覺得騰訊校招主要是從人才培養(yǎng)出發(fā),所以項目經(jīng)驗不足并不是什么特別大的問題,主要是基礎(chǔ)要很扎實,腦袋要很靈光能答得上智力題,做過的項目要掌握的很清晰。

  五、蘑菇街(差cto沒面)

  蘑菇街是9月1號打來電話內(nèi)推面,當時正在網(wǎng)易消沉期,不想面,推了以后覺得不會再打來了,結(jié)果9月8號又打來面試,問的全是Android,但是比較基礎(chǔ),生命周期、LaunchMode、ListView與ViewPager的優(yōu)化等。二面說是并到校招,然而校招仍然是一面=。=,內(nèi)容跟之前電話一面類似,二面是HR面,談及人才培養(yǎng)的時候說,我們認為能者多勞,所以有能力的人會當好幾個同學(xué)的導(dǎo)師,言外之意是,人少,不能一個人一個導(dǎo)師。印象一般吧,后來約cto面的時候在火車上,改天約。

  六、阿里(一輪游)

  阿里其實沒什么說的,不怎么要人了,想著軟件園那邊有家飯館想吃,就去了,一輪游很happy。因為自己的項目有推送功能所以主要問了怎么保持長連接,怎么選擇是長連接還是短連接,怎么在長連接的時候盡可能降低功耗等,還有GC、jvm內(nèi)部使用了什么數(shù)據(jù)結(jié)構(gòu)以及循環(huán)引用,然后問道如果就要使用引用計數(shù)算法,怎么避免循環(huán)引用。就不能乖乖的用可達性算法么真是的。

  最后一點就是,多在牛客網(wǎng)上刷題,筆試過了是王道,霸面真的很吃虧、很費時間,有時候默默等著希望很渺茫,其實可以托正式面試的同學(xué)把簡歷帶上去或者直接堵門,機會要略大些。不過我的騰訊面試官比較嚴肅,態(tài)度也比較強硬,幫別人霸面未遂,一直也挺愧疚的。

  大概就是這么多了,希望給接下來或者來年找工作的人一點幫助吧。

【Android開發(fā)工程師面試試題】相關(guān)文章:

android面試題08-16

Android面試試題及答案02-06

android面試題大全12-30

android面試題摘要02-20

android面試題目匯總02-17

70道Android面試題(大全)07-03

BIOS開發(fā)工程師筆試題02-18

iOS開發(fā)設(shè)計面試試題02-13

前端開發(fā)常見面試試題02-14