2016Android騰訊,阿里,今日頭條,360面試題

轉(zhuǎn)自 2016Android某公司面試題 - 享受技術(shù)帶來的快樂 ? ? ? ?- 博客頻道 - CSDN.NET


2016年4月某公司面試題及面試流程。

靜態(tài)內(nèi)部類、內(nèi)部類、匿名內(nèi)部類,為什么內(nèi)部類會(huì)持有外部類的引用?持有的引用是this?還是其它?

靜態(tài)內(nèi)部類:使用static修飾的內(nèi)部類

內(nèi)部類:就是在某個(gè)類的內(nèi)部又定義了一個(gè)類,內(nèi)部類所嵌入的類稱為外部類

匿名內(nèi)部類:使用new生成的內(nèi)部類

因?yàn)閮?nèi)部類的產(chǎn)生依賴于外部類,持有的引用是類名.this

ArrayList和Vector的主要區(qū)別是什么?

ArrayList在Java1.2引入,用于替換Vector

Vector:

線程同步

當(dāng)Vector中的元素超過它的初始大小時(shí),Vector會(huì)將它的容量翻倍

ArrayList:

線程不同步,但性能很好

當(dāng)ArrayList中的元素超過它的初始大小時(shí),ArrayList只增加50%的大小

java集合類框架

Java中try catch finally的執(zhí)行順序

先執(zhí)行try中代碼發(fā)生異常執(zhí)行catch中代碼,最后一定會(huì)執(zhí)行finally中代碼

switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch支持使用byte類型,不支持long類型,String支持在java1.7引入

Activity和Fragment生命周期有哪些?

Activity——onCreate->onStart->onResume->onPause->onStop->onDestroy

Fragment——onAttach->onCreate->onCreateView->onActivityCreated->onStart->onResume->onPause->onStop->onDestroyView->onDestroy->onDetach

onInterceptTouchEvent()和onTouchEvent()的區(qū)別?

onInterceptTouchEvent()用于攔截觸摸事件

onTouchEvent()用于處理觸摸事件

RemoteView在哪些功能中使用

APPwidget和Notification中

SurfaceView和View的區(qū)別是什么?

SurfaceView中采用了雙緩存技術(shù),在單獨(dú)的線程中更新界面

View在UI線程中更新界面

講一下android中進(jìn)程的優(yōu)先級(jí)?

前臺(tái)進(jìn)程

可見進(jìn)程

服務(wù)進(jìn)程

后臺(tái)進(jìn)程

空進(jìn)程

代碼查錯(cuò)題,沒記下來

tips:靜態(tài)變量持有Activity引用會(huì)導(dǎo)致內(nèi)存泄露

一面

service生命周期,可以執(zhí)行耗時(shí)操作嗎?

JNI開發(fā)流程

Java線程池,線程同步

自己設(shè)計(jì)一個(gè)圖片加載框架

自定義View相關(guān)方法

http ResponseCode

插件化,動(dòng)態(tài)加載

性能優(yōu)化,MAT

AsyncTask原理

65k限制

Serializable和Parcelable

文件和數(shù)據(jù)庫哪個(gè)效率高

斷點(diǎn)續(xù)傳

WebView和JS

Android基礎(chǔ)——Service

Android基礎(chǔ)——IntentService

Android開發(fā)指導(dǎo)——Service

Android開發(fā)指導(dǎo)——綁定Service

Android開發(fā)指導(dǎo)——進(jìn)程間通信AIDL

Android面試基礎(chǔ)知識(shí)總結(jié)(一)

Android面試——APP性能優(yōu)化

Android中Java和JavaScript交互

WebView 遠(yuǎn)程代碼執(zhí)行漏洞淺析

WebView中的Java與JavaScript提供【安全可靠】的多樣互通方案

二面

所使用的開源框架的實(shí)現(xiàn)原理,源碼

沒看過,被pass了

去面試之前把用到的開源框架源碼分析一定要看看啊

codekk:開源框架源碼解析

http://yuweiguocn.github.io/2016/04/13/interview-2016-big-company/

3,4月春招實(shí)習(xí)面試面經(jīng)(今日頭條,騰訊,阿里,360)

阿里內(nèi)推

在三月的某一天,當(dāng)我還沉浸在代碼世界的時(shí)候,突然一聲鈴聲響,拿起手機(jī)一看,杭州電話==大三春招第一次面試開始了。

阿里一面

問的問題不多,也就26分鐘的樣子

你用過哪些集合類?==太多了,隨便說了些

那你說說ArrayList,LinkedList的區(qū)別(還是挺簡(jiǎn)單的,一般用過的都說會(huì))。

說說hashMap是怎樣實(shí)現(xiàn)的(這個(gè)之前看過,順利回答上。還回答了多線程的問題出現(xiàn)的原因,面試官表示很驚訝的樣子)

說說可重入鎖

說說view繪制過程和事件分發(fā)機(jī)制,我大概回答了下。然后面試官又問:onTouch和onTouchEvent是什么區(qū)別?如果我重寫了ontouch和onClick,它們的調(diào)用順序是怎樣的?什么時(shí)候會(huì)不調(diào)用onClick?

handler的是怎樣實(shí)現(xiàn)的?

由于項(xiàng)目里面用到了picasso,所以最后問了下picasso實(shí)現(xiàn)原理。

一面結(jié)束,最后面試官居然問我是不是第一次面試== 估計(jì)是幫緊張了。不過一面過程中面試官心情還不錯(cuò),都是笑著問的。

當(dāng)天晚上接到二面,面試官太累了,約我第二天面試。

阿里二面

二面氣氛一直不對(duì),感覺面試官非常嚴(yán)肅,一來就感覺很有壓力

自我介紹

操作系統(tǒng)里面線程和進(jìn)程的區(qū)別(挺基礎(chǔ)的) ,接著麻煩就來了;我說完大致區(qū)別后,他就問,你說進(jìn)程里面線程是共享內(nèi)存的,那么一個(gè)進(jìn)程最大能占多少內(nèi)存??(懵逼,這是什么意思?考的分頁知識(shí)?)。然后這里我想了一下,說應(yīng)該和硬件有關(guān),他繼續(xù)問,有什么關(guān)系?(應(yīng)該和地址總線有關(guān),當(dāng)時(shí)沒想起,他叫我再想想,要是你設(shè)計(jì)的系統(tǒng),應(yīng)該和什么有關(guān),還是沒答上==)。

你項(xiàng)目中圖片是怎么處理的?回答:picasso,順便說了下picasso原理。然后又問:那么picasso里面有多少個(gè)線程來加載圖片?要是網(wǎng)絡(luò)不同,線程數(shù)目分別是多少?

布局優(yōu)化(這里開始說錯(cuò)了一點(diǎn),然后面試官很生氣的樣子==,自我感覺就要掛了)

項(xiàng)目中有哪些優(yōu)化?

最后果然掛了==(慘痛的經(jīng)歷,不過為后面打下了很好的基礎(chǔ)==至少不 怎么緊張了)

然后后面就沒有面試了

直到4月騰訊面試==

騰訊面經(jīng)

騰訊是走的正常渠道,到成都現(xiàn)場(chǎng)面試

一面

面試場(chǎng)地是在一個(gè)賓館里面,一對(duì)一面試,face to face還是有點(diǎn)緊張的

自我介紹

java多態(tài)你了解多少??

你說說重寫和重載區(qū)別,然后拿了紙筆,手寫一個(gè)能體現(xiàn)多態(tài)的例子

說說java在運(yùn)行main函數(shù)之前做了哪些工作?? 這個(gè)我居然從啟動(dòng)虛擬機(jī)——>加載類——>初始化類一直說到執(zhí)行Main

你對(duì)大尾小尾了解多少? 我反問:您說的是大小端么? 他說對(duì),然后我正準(zhǔn)備給他解釋的時(shí)候,他又拿了一張紙:用java寫一個(gè)判斷大小尾的程序==

java靜態(tài)方法能不能被重寫? 答:不能。 問:為什么?

為什么java靜態(tài)方法不能調(diào)用普通方法?普通方法能調(diào)用靜態(tài)方法?(其實(shí)還是實(shí)例引用問題)

java內(nèi)存模型和GC機(jī)制

其實(shí)騰訊面試官感覺都很nice,他稱呼我 都用您。感覺怪怪的,而且禮儀非常好。最后面完后,我問我面試得怎樣?他說你了解的知識(shí)還是挺寬的,然后問了我一句要不要去做游戲???當(dāng)然要?。?/p>

然后就走了。然后就沒有然后了,晚上查狀態(tài)是不適合。

霸面一面

騰訊面試后,感覺不怎么死心,又跑去長沙霸面了,我一去,HR說移動(dòng)端基本已經(jīng)招滿了,你可以把簡(jiǎn)歷放在這兒,要是有面試機(jī)會(huì)的話,我會(huì)通知你。然后我心情失落地回去了。

當(dāng)我剛到住處,剛出電梯,HR就來電話了,叫我去面試==

我那個(gè)開心啊,把平時(shí)20分鐘的路程當(dāng)成10分鐘不對(duì)跑過去,直接一面。

一面面試官也很nice,還驚訝我從重慶來==

Hashmap原理

hashcode和equals還有==的關(guān)系

用hashmap實(shí)現(xiàn)hashset。。我之前看過的,忘記了。然后按照我的想法回答了。(最后面試官告訴了我該怎樣實(shí)現(xiàn)==)

內(nèi)部類訪問外部類的變量有什么問題?

android里面onStop和onPause本質(zhì)區(qū)別。什么時(shí)候可以存數(shù)據(jù)?

兩個(gè)單鏈表尋找有沒有交點(diǎn),然后再尋找交點(diǎn)位置

android oom怎么解決

還問了一些項(xiàng)目的問題

其實(shí)中間還問了幾個(gè)算法,忘記是什么了,后面想到了的話會(huì)加上的。

二面

二面面試官感覺很牛的樣子,一直技術(shù)轟炸

告訴我你所直到的所有關(guān)于java虛擬機(jī)的東西==我說了好久好久。還說了新生代大概什么時(shí)候會(huì)加入老年代==

binder機(jī)制

handler原理, Message,loop,messageQueue關(guān)系,handler內(nèi)存泄露問題。

TCP三次握手,用紙畫出來

為什么TCP是可靠的,UDP早不可靠的?為什么UDP比TCP快?

面試官看到了我的項(xiàng)目,然后問了我一個(gè)用到的框架的原理,還問了我里面的很多細(xì)節(jié)==估計(jì)是以為我直接看的別人的博客了解到的這些知識(shí),還好我是自己看了源碼==

算法:幾百萬個(gè)QQ號(hào) ,找出前100個(gè)消費(fèi)最高的QQ號(hào)。直接小頂堆什么的

android四大組件 ,這里擴(kuò)展了很多,畢竟非常熟悉,還說了很多坑,很多實(shí)現(xiàn)原理(比如activity start原理)

還問了優(yōu)缺點(diǎn)==

(也有一些問題忘記了)

這次面試很久,忘記帶水了,出來我直接喝完了一瓶怡寶==

這交自我感覺答得不錯(cuò),然后過了2個(gè)小時(shí)就收到HR面通知

HR面

自我介紹

項(xiàng)目里面怎么解決安全問題的?好可怕,會(huì)技術(shù)的HR

有沒有女朋友?

家在哪里

有沒有親戚在騰訊?

我問了下要是過了的話大概會(huì)在哪里實(shí)習(xí)?HR說在深圳==還問我有什么問題么?我說沒有,我爸媽也在那邊==然后他在我簡(jiǎn)歷上面記了一下。

為什么要學(xué)習(xí)android?

HR面就10多分鐘,很快,和我一起面試的還有幾個(gè)學(xué)生,也都是10來分鐘,然后HR叫我等結(jié)果

然后等啊等,等到現(xiàn)在還沒有結(jié)果==

360面試

360全程視頻面試加寫代碼什么的

一面

寫一個(gè)adapter,我后面忘記了getView的一個(gè)參數(shù)==一直在那里想,面試官問我是不是在編譯器里面寫==我說我在想怎么寫。

hashmap原理==

java可重入鎖

排序算法和穩(wěn)定性,快排什么時(shí)候情況最壞?

一個(gè)獲全國獎(jiǎng)的項(xiàng)目問了我20分鐘,特別是service不被殺死的方法==我說了4種才放過我,還問了我具體實(shí)現(xiàn),特別是在JNI里面實(shí)現(xiàn)的時(shí)候==

項(xiàng)目中界面適配,自定義過view沒有?

NFC讀卡,這個(gè)是我的項(xiàng)目,我說了具體實(shí)現(xiàn),然后就放過我了

我項(xiàng)目中用了google map 和定位,他問怎么定位的?居然問了我具體API==我還說了里面的坑,國產(chǎn)手機(jī)閹割了一部分的問題==

一面大概1個(gè)半小時(shí)==頭昏腦漲==然后面試官并不放過我,叫我等等。他去叫二面面試官

二面

http協(xié)議了解多少,說說里面的協(xié)議頭部有哪些字段?

https了解多少?為什么百度全部都用了https包括首頁

散列表的基礎(chǔ)知識(shí),里面也問了hashmap(可見hashmap重要性)

項(xiàng)目問題,幾個(gè)項(xiàng)目都問了,什么分工啊什么的

問了我很多項(xiàng)目中開發(fā)的問題,還好基本都答出來了==二面基礎(chǔ)知識(shí)基本沒多少,都是項(xiàng)目問題

二面接近一個(gè)半小時(shí),還好在寢室面試,邊面邊喝水==二面腦袋都是糊的==

二面完后,10分鐘打電話通知一周內(nèi)有HR面

HR面

HR面的時(shí)候,我正在火車上,HR說只有15分鐘,我說當(dāng)場(chǎng)面了,因?yàn)槲夷莻€(gè)時(shí)候正停在一個(gè)大站里面,要停半個(gè)小時(shí)

自我介紹,問了我所有項(xiàng)目的分工問題和設(shè)計(jì)等問題,好幾個(gè)項(xiàng)目,這里就花了接近20分鐘,然后火車開走了,然后大家都知道,悲催了,沒信號(hào)==

等到我有信號(hào)的時(shí)候,再給HR打電話約好第二天繼續(xù)面。

第二天

繼續(xù)項(xiàng)目分工==

中興實(shí)習(xí)情況?為什么最后沒留下?(要讀書?。?/p>

開發(fā)的一些規(guī)范

投了XX公司和XX公司沒有?為什么沒投XX公司?哎,這里太年輕別坑了==

怎么看待3Q大戰(zhàn)==(大姐,這個(gè)我怎么來說呢?)

問了我實(shí)習(xí)時(shí)間,希望實(shí)習(xí)的地點(diǎn),希望做哪方面?

你覺得你一面和二面哪一面成績更好?每一面大概多少分

優(yōu)缺點(diǎn)==

每個(gè)問題都問了很久,因?yàn)槊總€(gè)過后都接著往下問了的。整個(gè)HR面都1小時(shí)13分鐘,累?。。≌f好的15分鐘呢

然后N天后,收到360拒信。

今日頭條

今日頭條也是我唯一過的公司==一面還好,二面全程技術(shù)轟炸,HR面聊得挺好,雖然有點(diǎn)短

今日頭條我是內(nèi)推的,N天后給我發(fā)郵件和電話約面試,本來是北京面試的,結(jié)果去不了,就電話面試了。

兩次技術(shù)面試也是接近2個(gè)小時(shí) 。一面面試官面完后,叫我去吃飯,過會(huì)兒繼續(xù)面,天真的我以為已經(jīng)二面了,然而并不是,這個(gè)時(shí)候面試官還是建議去北京面試,過的機(jī)會(huì)大些== 這個(gè)時(shí)候哪還有心情吃飯,一直等面試官的電話,結(jié)果繼續(xù)面的時(shí)候直接寫了一個(gè)代碼就OK了,代碼是在一個(gè)矩陣是查找有沒有某個(gè)數(shù),矩陣從左到右依次增大(忘記是增大還是減小了),從上到下也一樣。由于電腦問題,我還是翻墻去寫代碼的==寫代碼的時(shí)候,由于網(wǎng)不穩(wěn)定,還經(jīng)常斷==

寫完直接叫我等二面,過了會(huì)兒二面面試官馬上來了電話

二面面試官感覺很隨和,從Java的用法問到了虛擬機(jī),問到了操作系統(tǒng),最后深入問到了一個(gè)編譯原理。還問了一些C語言的東西。

還問了排序。

然后可能是因?yàn)槲宜袞|西是自學(xué)的,面試官在問之前都問了我了解不,不了解就重新?lián)Q一個(gè)。還問了一些圖論最短路徑問題(還好面試前不久做了一個(gè)比賽,華為的未來尋路,就是最短路徑問題),這個(gè)答得還行,說了一些經(jīng)典算法,還有一些只能算法,還有一些改進(jìn)等。

然后就是我項(xiàng)目中的問題,因?yàn)槲矣昧藃xjava,picasso,retrofit等開源項(xiàng)目,所以面試官問了我retrofit是如何處理注解的,我直接講了源碼,其過我博客里面也寫過了這個(gè),然后面試官可能發(fā)現(xiàn)我了解,就直接跳過了這個(gè)。然后問了我rxjava的東西,我結(jié)合博客看了部分源碼,還問了rxjava里面用了大量的這些,是什么意思。

過后問我了解github上的一些開源項(xiàng)目不,我說了解一些,然后就是butterknife了,然后我回答錯(cuò)了,以為是注解+反射。后面掛電話后,找了時(shí)間分析了源碼,還真不是反射==butterknife分析在這里

今日頭條感覺是我面試問題水平最高的,不再局限于基礎(chǔ)知識(shí),問了很多很深入的東西。感覺面試官都是根據(jù)我具體情況問的,隨手丟出問題,直到我回答不上??傄詾槎鏁?huì)掛。

結(jié)果在某天中午接到了HR的電話,由于那個(gè)時(shí)候有事,重新約了時(shí)間==

當(dāng)時(shí)都有HR面恐懼癥了,因?yàn)榍懊鎯纱蜨R面后都沒消息了==

HR面

時(shí)間很短,幾個(gè)問題而已,回答完就叫我等結(jié)果,說5月中旬會(huì)出結(jié)果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容