- 相關(guān)推薦
安卓開發(fā)面試問題
Android面試題
1. 下列哪些語句關(guān)于內(nèi)存回收的說明是正確的? (b ) A、 程序員必須創(chuàng)建一個(gè)線程來釋放內(nèi)存
B、 內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存
C、 內(nèi)存回收程序允許程序員直接釋放內(nèi)存
D、 內(nèi)存回收程序可以在指定的時(shí)間釋放內(nèi)存對(duì)象
2. 下面異常是屬于Runtime Exception 的是(abcd)(多選) A、ArithmeticException
B、IllegalArgumentException
C、NullPointerException
D、BufferUnderflowException
3. Math.round(11.5)等于多少(). Math.round(-11.5)等于多少(c). c A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12
4. 下列程序段的輸出結(jié)果是:(b )
void complicatedexpression_r(){
int x=20, y=30;
boolean b;
b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;
System.out.println(b);
}
A、true B、false C、1 D、011.activity5. 對(duì)一些資源以及狀態(tài)的操作保存,最好是保存在生命周期的哪個(gè)函數(shù)中進(jìn)行(d) A、onPause() B、onCreate() C、 onResume() D、onStart()
6. Intent傳遞數(shù)據(jù)時(shí),下列的數(shù)據(jù)類型哪些可以被傳遞(abcd)(多選) A、Serializable B、charsequence C、Parcelable D、Bundle
7. android 中下列屬于Intent的作用的是(c) A、實(shí)現(xiàn)應(yīng)用程序間的數(shù)據(jù)共享
B、是一段長(zhǎng)的生命周期,沒有用戶界面的程序,可以保持應(yīng)用在后臺(tái)運(yùn)行,而不會(huì)因?yàn)榍袚Q頁(yè)面而消失
C、可以實(shí)現(xiàn)界面間的切換,可以包含動(dòng)作和動(dòng)作數(shù)據(jù),連接四大組件的紐帶
D、處理一個(gè)應(yīng)用程序整體性的工作
8. 下列屬于SAX解析xml文件的優(yōu)點(diǎn)的是(b) A、將整個(gè)文檔樹在內(nèi)存中,便于操作,支持刪除,修改,重新排列等多種功能
B、不用事先調(diào)入整個(gè)文檔,占用資源少
C、整個(gè)文檔調(diào)入內(nèi)存,浪費(fèi)時(shí)間和空間
D、不是長(zhǎng)久駐留在內(nèi)存,數(shù)據(jù)不是持久的,事件過后,若沒有保存數(shù)據(jù),數(shù)據(jù)就會(huì)消失
百度Android開發(fā)面試題
1、 Android dvm的進(jìn)程和Linux的進(jìn)程, 應(yīng)用程序的進(jìn)程是否為同一個(gè)概念
DVM指Dalvik的虛擬機(jī)。每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。而每一個(gè)DVM都是在Linux 中的一個(gè)進(jìn)程,所以說可以認(rèn)為是同一個(gè)概念。
2、sim卡的EF 文件有何作用
sim卡的文件系統(tǒng)有自己規(guī)范,主要是為了和手機(jī)通訊,sim本
身可以有自己的操作系統(tǒng),EF就是作存儲(chǔ)并和手機(jī)通訊用的
3、嵌入式操作系統(tǒng)內(nèi)存管理有哪幾種,各有何特性 ?
頁(yè)式,段式,段頁(yè),用到了MMU,虛擬空間等技術(shù)
4、什么是嵌入式實(shí)時(shí)操作系統(tǒng), Android 操作系統(tǒng)屬于實(shí)時(shí)操作系統(tǒng)嗎?
嵌入式實(shí)時(shí)操作系統(tǒng)是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時(shí)間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致運(yùn)行的嵌入式操作系統(tǒng)。主要用于工業(yè)控制、軍事設(shè)備、
航空航天等領(lǐng)域?qū)ο到y(tǒng)的響應(yīng)時(shí)間有苛刻的要求,這就需要使用實(shí)時(shí)系統(tǒng)。又可分為軟實(shí)時(shí)和硬實(shí)時(shí)兩種,而android是基于linux內(nèi)核的,因此屬于軟實(shí)時(shí)。
5、一條最長(zhǎng)的短信息約占多少byte?
中文70(包括標(biāo)點(diǎn)),英文160個(gè)字節(jié)
6、 android中的動(dòng)畫有哪幾類,它們的特點(diǎn)和區(qū)別是什么?
兩種,一種是Tween動(dòng)畫、還有一種是Frame動(dòng)畫。Tween動(dòng)畫,這種實(shí)現(xiàn)方式可以使視圖組件移動(dòng)、放大、縮小以及產(chǎn)生透明度的變化;另一種Frame動(dòng)畫,傳統(tǒng)的動(dòng)畫方法,通過順序的播放排列好的圖片來實(shí)現(xiàn),類似電影。
7、handler機(jī)制的原理
andriod提供了 Handler 和 Looper 來滿足線程間的通信。Handler 先進(jìn)先出原則。Looper類用來管理特定線程內(nèi)對(duì)象之間的消息交換(Message Exchange)。
1)Looper: 一個(gè)線程可以產(chǎn)生一個(gè)Looper對(duì)象,由它來管理此線程里的Message Queue(消息隊(duì)列)。
2)Handler: 你可以構(gòu)造Handler對(duì)象來與Looper溝通,以便push新消息到Message Queue里;或者接收Looper從Message Queue取出)所送來的消息。
3) Message Queue(消息隊(duì)列):用來存放線程放入的消息。
4)線程:UI thread 通常就是main thread,而Android啟動(dòng)程序時(shí)會(huì)替它建立一個(gè)Message Queue。
8、說說mvc模式的原理,它在android中的運(yùn)用
MVC(Model_view_contraller)” 模型_視圖_控制器”。 MVC應(yīng)用程序總是由這三個(gè)部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時(shí)改變兩者。只要 Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會(huì)自動(dòng)更新。類似的,只要Controller改變了View,View會(huì)
從潛在的Model中獲取數(shù)據(jù)來刷新自己。
View重繪和內(nèi)存泄露的好像是面試經(jīng)常問的問題
1. View的刷新:
在需要刷新的地方,使用handle.sendmessage發(fā)送信息,然后在handle的getmessage里面執(zhí)行invaliate或者postinvaliate.
2. GC內(nèi)存泄露
出現(xiàn)情況:
1.數(shù)據(jù)庫(kù)的cursor沒有關(guān)閉
2.構(gòu)造adapter時(shí),沒有使用緩存contentview
衍生listview的優(yōu)化問題-----減少創(chuàng)建view的對(duì)象,充分使用contentview,可以使用一靜態(tài)類來優(yōu)化處理getview的過程/
3.Bitmap對(duì)象不使用時(shí)采用recycle()釋放內(nèi)存
4.activity中的對(duì)象的生命周期大于activity
調(diào)試方法: DDMS==> HEAPSZIE==>dataobject==>[Total Size]
【安卓開發(fā)面試問題】相關(guān)文章:
安卓開發(fā)工程師崗位職責(zé)12-13
開發(fā)商Cyanogen:從谷歌手上偷走安卓02-20
安卓開發(fā)工程師崗位職責(zé)(通用21篇)03-30
安卓崗位職責(zé)04-20
安卓工程師崗位職責(zé)05-18
安卓手機(jī)買賣合同04-22
安卓程序員求職信11-17
安卓工程師崗位職責(zé)14篇05-18