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